Esempio n. 1
0
        public Leg(ArmBasics.BodySide bodySide_in, Animator animator, Transform characterTransform_in)
        {
            characterTransform = characterTransform_in;

            if (bodySide_in == ArmBasics.BodySide.Left) {
                upperLeg = animator.GetBoneTransform(HumanBodyBones.LeftUpperLeg);
                lowerLeg = animator.GetBoneTransform(HumanBodyBones.LeftLowerLeg);
                foot = animator.GetBoneTransform(HumanBodyBones.LeftFoot);
            } else {
                upperLeg = animator.GetBoneTransform(HumanBodyBones.RightUpperLeg);
                lowerLeg = animator.GetBoneTransform(HumanBodyBones.RightLowerLeg);
                foot = animator.GetBoneTransform(HumanBodyBones.RightFoot);
            }

            fromNormUpperLeg = Quaternion.Inverse(Quaternion.LookRotation (foot.position - upperLeg.position, characterTransform.forward)) * upperLeg.rotation;
            fromNormLowerLeg = Quaternion.Inverse(Quaternion.LookRotation(foot.position - lowerLeg.position, characterTransform.forward)) * lowerLeg.rotation;
            fromNormFoot = Quaternion.Inverse(Quaternion.LookRotation (characterTransform.forward)) * foot.rotation;

            upperLegLength = Vector3.Distance(upperLeg.position, lowerLeg.position);
            lowerLegLength = Vector3.Distance(lowerLeg.position, foot.position);

            upperLegLength2 = upperLegLength * upperLegLength;
            lowerLegLength2 = lowerLegLength * lowerLegLength;
        }
Esempio n. 2
0
 public ArmMovements_Free(InstantVR ivr, ArmBasics.BodySide bodySide_in, BodyMovementsBasics bodyMovements)
     : base(ivr, bodySide_in, bodyMovements)
 {
 }