Пример #1
0
        public override void Init(Transform hand, Vector3 fingerBendAxis, Vector3 forearmAxis, bool bodySideLeft, int fingerIndex)
        {
            if (transform != null)
            {
                curlAxis = fingerBendAxis;
                if (bodySideLeft)
                {
                    swingAxis = -Vector3.Cross(fingerBendAxis, forearmAxis);
                }
                else
                {
                    swingAxis = Vector3.Cross(fingerBendAxis, forearmAxis);
                }

                if (phalanx0 == null || phalanx0.transform == null)
                {
                    phalanx0 = new Phalanx(transform);
                }
                if ((phalanx1 == null || phalanx1.transform == null) && phalanx0.transform.childCount == 1)
                {
                    phalanx1 = new Phalanx(phalanx0.transform.GetChild(0).transform);
                }
                if ((phalanx2 == null || phalanx2.transform == null) && phalanx1.transform.childCount == 1)
                {
                    phalanx2 = new Phalanx(phalanx1.transform.GetChild(0).transform);
                }
            }
        }
Пример #2
0
        public override void Init(GameObject hand, Vector3 fingerAxis, Vector3 armAxis, bool bodySideLeft, int fingerIndex)
        {
            if (transform != null)
            {
                this.fingerIndex = fingerIndex;
                this.axis1       = fingerAxis;
                this.axis2       = Vector3.Cross(fingerAxis, armAxis);

                phalanges    = new Phalanx[3];
                phalanges[0] = new Phalanx(transform);
                if (phalanges[0].transform.childCount == 1)
                {
                    phalanges[1] = new Phalanx(phalanges[0].transform.GetChild(0).transform);
                    if (phalanges[1].transform.childCount == 1)
                    {
                        phalanges[2] = new Phalanx(phalanges[1].transform.GetChild(0).transform);
                        nPhalanges   = 3;
                    }
                    else
                    {
                        phalanges[2] = null;
                        nPhalanges   = 2;
                    }
                }
                else
                {
                    phalanges[1] = null;
                    nPhalanges   = 1;
                }
            }
        }
Пример #3
0
        public override void Init(Transform hand, Vector3 fingerAxis, Vector3 armAxis, bool bodySideLeft, int fingerIndex)
        {
            if (transform != null)
            {
                this.fingerIndex = fingerIndex;
                curlAxis         = fingerAxis;
                swingAxis        = Vector3.Cross(fingerAxis, armAxis);
                if (bodySideLeft)
                {
                    swingAxis = -swingAxis;
                }

                if (phalanges == null || phalanges.Length == 0)
                {
                    phalanges = new Phalanx[3];
                }

                if (phalanges[0] == null || phalanges[0].transform == null)
                {
                    phalanges[0] = new Phalanx(transform);
                    nPhalanges   = 1;
                }

                if ((phalanges[1] == null || phalanges[1].transform == null) && phalanges[0].transform.childCount == 1)
                {
                    phalanges[1] = new Phalanx(phalanges[0].transform.GetChild(0).transform);
                    nPhalanges   = 2;
                }

                if ((phalanges[2] == null || phalanges[2].transform == null) && phalanges[1].transform.childCount == 1)
                {
                    phalanges[2] = new Phalanx(phalanges[1].transform.GetChild(0).transform);
                    nPhalanges   = 3;
                }
            }
        }