private void Awake()
    {
        if (sInstance == null)
        {
            sInstance = this;
        }
        else
        {
            Destroy(this);
        }

        m_LeftDetection  = new DetectionHand();
        m_RightDetection = new DetectionHand();

        m_LeapService = FindObjectOfType <LeapServiceProvider>();

        bool[] leftBools  = LeftActivationFingers.GetAsArray();
        bool[] rightBools = RightActivationFingers.GetAsArray();

        for (int i = 0; i < leftBools.Length; i++)
        {
            EFinger SelectedFinger = EFinger.eThumb + i;
            if (leftBools[i])
            {
                m_LeftFingerCollisions.Add(SelectedFinger, CreateCollisionSphere());
            }

            if (rightBools[i])
            {
                m_RightFingerCollisions.Add(SelectedFinger, CreateCollisionSphere());
            }
        }
    }
Ejemplo n.º 2
0
    private void Awake()
    {
        if (sInstance == null)
        {
            sInstance = this;
        }
        else
        {
            Destroy(this);
        }

        m_LeftDetection  = new DetectionHand();
        m_RightDetection = new DetectionHand();

        m_LeapService = FindObjectOfType <LeapServiceProvider>();

        m_LeftFingerCollision  = GameObject.CreatePrimitive(PrimitiveType.Sphere);
        m_RightFingerCollision = GameObject.CreatePrimitive(PrimitiveType.Sphere);

        m_LeftFingerCollision.transform.localScale  = new Vector3(0.01f, 0.01f, 0.01f);
        m_RightFingerCollision.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f);

        m_LeftFingerCollision.AddComponent <FingerCollision>();
        m_RightFingerCollision.AddComponent <FingerCollision>();

        m_LeftFingerCollision.GetComponent <SphereCollider>().isTrigger  = true;
        m_RightFingerCollision.GetComponent <SphereCollider>().isTrigger = true;

        m_RightFingerCollision.GetComponent <MeshRenderer>().enabled = false;
        m_LeftFingerCollision.GetComponent <MeshRenderer>().enabled  = false;

        Rigidbody leftRigid  = m_LeftFingerCollision.AddComponent <Rigidbody>();
        Rigidbody rightRigid = m_RightFingerCollision.AddComponent <Rigidbody>();

        rightRigid.useGravity             = false;
        rightRigid.collisionDetectionMode = CollisionDetectionMode.Continuous;

        leftRigid.useGravity             = false;
        leftRigid.collisionDetectionMode = CollisionDetectionMode.Continuous;
    }