// Update is called once per frame
    void Update()
    {
        Hand primeHand = _leapManager.frontmostHand();

        if (primeHand.IsValid)
        {
            Vector3[] fingerPositions = _leapManager.getWorldFingerPositions(primeHand);
            gameObject.transform.position = primeHand.PalmPosition.ToUnityTranslated();
            if (gameObject.GetComponent <Renderer>().enabled != true)
            {
                gameObject.GetComponent <Renderer>().enabled = true;
            }

            for (int i = 0; i < fingers.GetLength(0); i++)
            {
                if (i < fingerPositions.GetLength(0))
                {
                    fingers[i].transform.position = fingerPositions[i];
                    if (fingers[i].GetComponent <Renderer>().enabled == false)
                    {
                        fingers[i].GetComponent <Renderer>().enabled = true;
                    }

                    if (colliders != null && i < colliders.GetLength(0))
                    {
                        (colliders[i].GetComponent(typeof(SphereCollider)) as SphereCollider).enabled = true;
                    }
                }
                else
                {
                    fingers[i].GetComponent <Renderer>().enabled = false;
                    if (colliders != null && i < colliders.GetLength(0))
                    {
                        (colliders[i].GetComponent(typeof(SphereCollider)) as SphereCollider).enabled = false;
                    }
                }
            }
        }
        else
        {
            gameObject.GetComponent <Renderer>().enabled = false;

            foreach (GameObject finger in fingers)
            {
                if (finger.GetComponent <Renderer>().enabled == true)
                {
                    finger.GetComponent <Renderer>().enabled = false;
                }
            }
        }
        mouse_x = (int)fingers[0].transform.position.x;
        mouse_y = (int)fingers[0].transform.position.y;
        //	Debug.Log(mouse_x);
    }
示例#2
0
    // Update is called once per frame
    void Update()
    {
        Hand primeHand = _leapManager.frontmostHand();

        normalOutput = primeHand.PalmNormal.ToUnity();
        height       = primeHand.PalmPosition.ToUnity().y;

        if (handVisible && primeHand.IsValid)
        {
            Vector3[] fingerPositions = _leapManager.getWorldFingerPositions(primeHand);
            gameObject.transform.position = primeHand.PalmPosition.ToUnityTranslated();
            if (gameObject.renderer.enabled != true)
            {
                gameObject.renderer.enabled = true;
            }

            for (int i = 0; i < fingers.GetLength(0); i++)
            {
                if (i < fingerPositions.GetLength(0))
                {
                    fingers[i].transform.position = fingerPositions[i];
                    if (fingers[i].renderer.enabled == false)
                    {
                        fingers[i].renderer.enabled = true;
                    }

                    if (colliders != null && i < colliders.GetLength(0))
                    {
                        (colliders[i].GetComponent(typeof(SphereCollider)) as SphereCollider).enabled = true;
                    }
                }
                else
                {
                    fingers[i].renderer.enabled = false;
                    if (colliders != null && i < colliders.GetLength(0))
                    {
                        (colliders[i].GetComponent(typeof(SphereCollider)) as SphereCollider).enabled = false;
                    }
                }
            }
        }
        else
        {
            gameObject.renderer.enabled = false;

            foreach (GameObject finger in fingers)
            {
                if (finger.renderer.enabled == true)
                {
                    finger.renderer.enabled = false;
                }
            }
        }
    }
    // Update is called once per frame
    void Update()
    {
        Hand primeHand = _leapManager.frontmostHand();

        if (primeHand.IsValid)
        {
            Vector3[] fingerPositions = _leapManager.getWorldFingerPositions(primeHand);
            gameObject.transform.position = primeHand.PalmPosition.ToUnityTranslated();
            if (gameObject.GetComponent <Renderer>().enabled != true)
            {
                gameObject.GetComponent <Renderer>().enabled = true;
            }

            for (int i = 0; i < fingers.GetLength(0); i++)
            {
                if (i < fingerPositions.GetLength(0))
                {
                    fingers [i].transform.position = fingerPositions [i];
                    if (fingers [i].GetComponent <Renderer>().enabled == false)
                    {
                        fingers [i].GetComponent <Renderer>().enabled = true;
                    }

                    if (colliders != null && i < colliders.GetLength(0))
                    {
                        (colliders [i].GetComponent(typeof(SphereCollider)) as SphereCollider).enabled = true;
                    }
                }
                else
                {
                    fingers [i].GetComponent <Renderer>().enabled = false;
                    if (colliders != null && i < colliders.GetLength(0))
                    {
                        (colliders [i].GetComponent(typeof(SphereCollider)) as SphereCollider).enabled = false;
                    }
                }
            }
        }
        else
        {
            gameObject.GetComponent <Renderer>().enabled = false;

            foreach (GameObject finger in fingers)
            {
                if (finger.GetComponent <Renderer>().enabled == true)
                {
                    finger.GetComponent <Renderer>().enabled = false;
                }
            }
        }
        mouse_x = (int)fingers [1].transform.position.x;
        mouse_y = (int)fingers [1].transform.position.y;
        Debug.Log(mouse_x);
        if (timer > 1)
        {
            if (counter >= 12)
            {
                pinchAns = 1;
            }
            else if (counter <= -12)
            {
                pinchAns = -1;
            }
            else
            {
                pinchAns = 0;
            }
            timer   = 0;
            counter = 0;
        }
        timer += Time.deltaTime * 1;
        if (fingers [0].GetComponent <Renderer>().enabled&& fingers [1].GetComponent <Renderer>().enabled)
        {
            pintiV = Vector3.Distance(fingers [0].transform.position, fingers [1].transform.position);
            if (pintiV > pintiVa)
            {
                counter++;
            }
            else
            {
                counter--;
            }
            pintiVa = pintiV;
        }
    }