public EquipmentSet(Foot foot, Head head, Hand hand, Weapon weapon, Pants pants, Torso torso)
 {
     this._foot = foot;
     this._head = head;
     this._hand = hand;
     this._weapon = weapon;
     this._pants = pants;
     this._torso = torso;
 }
Beispiel #2
0
 void Start()
 {
     torso = GetComponent<Torso>();
     leg = GetComponent<LegObject>();
     arm = GetComponent<Arms>();
     myAnimator = GetComponent<Animator>();
     myController = GetComponent<Controller2D>();
     gravity = -(2 * jumpHeight) / Mathf.Pow(timeToJumpApex, 2);
     jumpVelocity = Mathf.Abs(gravity * timeToJumpApex);
 }
Beispiel #3
0
	// Use this for initialization
	void Start () {
		arm = GetComponent<Arms> ();
		body = GetComponent<Torso> ();
		oneLeg = false;
		twoLegs = false;
		legCount = 0;
		player = GameObject.Find ("ROLLINGHEAD_0").transform;
		sprRend = GetComponent<SpriteRenderer> ();
		goWithTag = new GameObject[100];
	}
Beispiel #4
0
	// Use this for initialization
	void Start () {
		//body = new Torso ();
		twoArms = false;
		oneArm = false;
		leg = gameObject.GetComponent<LegObject>();
		body = gameObject.GetComponent<Torso> ();
		player = GameObject.Find ("ROLLINGHEAD_0").transform;
		sprRend = GetComponent<SpriteRenderer> ();
		armCount = 0;
		goWithTag = new GameObject[100];
	}
Beispiel #5
0
 private ILimb GetTorso()
 {
     var torso = new Torso();
     torso.Organs.Add(new Heart());
     torso.Organs.Add(new Lung());
     torso.Organs.Add(new Lung());
     return torso;
 }
	public void StartMovements() {
		ivr = this.GetComponent<InstantVR>();

		headTarget = ivr.headTarget;
		leftHandTarget = ivr.leftHandTarget;
		rightHandTarget = ivr.rightHandTarget;
		hipTarget = ivr.hipTarget;
		leftFootTarget = ivr.leftFootTarget;
		rightFootTarget = ivr.rightFootTarget;

		animator = ivr.transform.GetComponentInChildren<Animator>();
        if (animator == null) {
            StopMovements();
        } else {

            characterRigidbody = animator.GetComponent<Rigidbody>();

            if (characterRigidbody != null)
                characterTransform = characterRigidbody.GetComponent<Transform>();

            if (leftArm == null)
                leftArm = new ArmMovements(ivr, ArmMovements.BodySide.Left, this);
            leftArm.Initialize(ivr, ArmMovements.BodySide.Left, this);

            if (rightArm == null)
                rightArm = new ArmMovements(ivr, ArmMovements.BodySide.Right, this);
            rightArm.Initialize(ivr, ArmMovements.BodySide.Right, this);

            Transform neck, spine, hips;

            neck = animator.GetBoneTransform(HumanBodyBones.Neck);
            if (neck == null)
                neck = animator.GetBoneTransform(HumanBodyBones.Head);
            spine = animator.GetBoneTransform(HumanBodyBones.Spine);
            hips = animator.GetBoneTransform(HumanBodyBones.Hips);
            torso = new Torso(neck, spine, hips, hipTarget, headTarget, rightArm);

            leftLeg = new Leg(ArmMovements.BodySide.Left, animator, hipTarget);
            rightLeg = new Leg(ArmMovements.BodySide.Right, animator, hipTarget);

            if (rightHandTarget != null) {
                rightHandOTarget = rightHandTarget;
                /*
                float targetScaleZ = rightHandTarget.transform.localScale.z;
                rightPalmTarget = new GameObject();
                rightPalmTarget.name = "Palm_R_Target";
                rightPalmTarget.transform.parent = rightHandTarget.transform;
                rightPalmTarget.transform.localPosition = new Vector3(0, 0, -palmLength/targetScaleZ);
                rightPalmTarget.transform.localEulerAngles = Vector3.zero;
				
                rightHandTarget = rightPalmTarget.transform;
                */
            }

            if (leftHandTarget != null) {
                leftHandOTarget = leftHandTarget;
                /*
                float targetScaleZ = leftHandTarget.transform.localScale.z;
                leftPalmTarget = new GameObject();
                leftPalmTarget.name = "Palm_L_Target";
                leftPalmTarget.transform.parent = leftHandTarget.transform;
                leftPalmTarget.transform.localPosition = new Vector3(0, 0, -palmLength/targetScaleZ);
                leftPalmTarget.transform.localEulerAngles = Vector3.zero;

                leftHandTarget = leftPalmTarget.transform;
                */
            }

            if (headTarget == null && enableTorso) {
                GameObject neckTargetGO = new GameObject("Neck_Target");
                headTarget = neckTargetGO.transform;
                headTarget.parent = characterTransform;
                headTarget.position = torso.neck.position;
                headTarget.rotation = characterTransform.rotation;
            }

            if (enableLegs) {
                if (rightFootTarget == null) {
                    //userLegTargets = false;
                    GameObject rightFootTargetGO = new GameObject("Foot_R_Target");
                    rightFootTarget = rightFootTargetGO.transform;
                    rightFootTarget.parent = characterTransform;
                    rightFootTarget.position = rightLeg.foot.position;
                    rightFootTarget.rotation = characterTransform.rotation;
                }

                if (leftFootTarget == null) {
                    //userLegTargets = false;
                    GameObject leftFootTargetGO = new GameObject("Foot_L_Target");
                    leftFootTarget = leftFootTargetGO.transform;
                    leftFootTarget.parent = characterTransform;
                    leftFootTarget.position = leftLeg.foot.position;
                    leftFootTarget.rotation = characterTransform.rotation;
                }
            }


            if (IsInTPose(leftArm, rightArm)) {
                CalculateFromNormTPose(leftArm, rightArm);
            } else {
                CalculateFromNormTracking(leftArm, rightArm, leftHandTarget, rightHandTarget);
            }
        }
    }
    void Start()
    {
        characterTransform = this.transform;
        Animator animator = characterTransform.GetComponentInChildren<Animator>();

        Transform upperArm, forearm, hand;

        upperArm = animator.GetBoneTransform(HumanBodyBones.RightUpperArm);
        forearm = animator.GetBoneTransform(HumanBodyBones.RightLowerArm);
        hand = animator.GetBoneTransform(HumanBodyBones.RightHand);
        rightArm = new Arm(upperArm, forearm, hand, characterTransform, BodySide.Right);

        upperArm = animator.GetBoneTransform(HumanBodyBones.LeftUpperArm);
        forearm = animator.GetBoneTransform(HumanBodyBones.LeftLowerArm);
        hand = animator.GetBoneTransform(HumanBodyBones.LeftHand);
        leftArm = new Arm(upperArm, forearm, hand, characterTransform, BodySide.Left);

        leftUpperArm = animator.GetBoneTransform(HumanBodyBones.LeftUpperArm);
        rightUpperArm = animator.GetBoneTransform(HumanBodyBones.RightUpperArm);

        Transform neck, spine, hips;

        neck = animator.GetBoneTransform(HumanBodyBones.Neck);
        spine = animator.GetBoneTransform(HumanBodyBones.Spine);
        hips = animator.GetBoneTransform(HumanBodyBones.Hips);
        torso = new Torso(neck, spine, hips, characterTransform, rightArm);

        Transform upperLeg, lowerLeg, foot;

        upperLeg = animator.GetBoneTransform(HumanBodyBones.RightUpperLeg);
        lowerLeg = animator.GetBoneTransform(HumanBodyBones.RightLowerLeg);
        foot = animator.GetBoneTransform(HumanBodyBones.RightFoot);
        rightLeg = new Leg(upperLeg, lowerLeg, foot, characterTransform);

        upperLeg = animator.GetBoneTransform(HumanBodyBones.LeftUpperLeg);
        lowerLeg = animator.GetBoneTransform(HumanBodyBones.LeftLowerLeg);
        foot = animator.GetBoneTransform(HumanBodyBones.LeftFoot);
        leftLeg = new Leg(upperLeg, lowerLeg, foot, characterTransform);

        if (rightHandTarget != null) {
            float targetScaleZ = rightHandTarget.transform.localScale.z;
            rightPalmTarget = new GameObject();
            rightPalmTarget.name = "Palm_R_Target";
            rightPalmTarget.transform.parent = rightHandTarget.transform;
            rightPalmTarget.transform.localPosition = new Vector3(0, 0, -palmLength/targetScaleZ);
            rightPalmTarget.transform.localEulerAngles = Vector3.zero;

            rightHandOTarget = rightHandTarget;
            rightHandTarget = rightPalmTarget.transform;
        }

        if (leftHandTarget != null) {
            float targetScaleZ = leftHandTarget.transform.localScale.z;
            leftPalmTarget = new GameObject();
            leftPalmTarget.name = "Palm_L_Target";
            leftPalmTarget.transform.parent = leftHandTarget.transform;
            leftPalmTarget.transform.localPosition = new Vector3(0, 0, palmLength/targetScaleZ);
            leftPalmTarget.transform.localEulerAngles = Vector3.zero;

            leftHandOTarget = leftHandTarget;
            leftHandTarget  = leftPalmTarget.transform;
        }

        if (enableLegs) {
            if (rightFootTarget == null) {
                GameObject rightFootTargetGO = new GameObject("Foot_R_Target");
                rightFootTarget = rightFootTargetGO.transform;
                rightFootTarget.parent = characterTransform;
                rightFootTarget.position = rightLeg.foot.position;
                rightFootTarget.rotation = characterTransform.rotation;
            }

            if (leftFootTarget == null) {
                GameObject leftFootTargetGO = new GameObject("Foot_L_Target");
                leftFootTarget = leftFootTargetGO.transform;
                leftFootTarget.parent = characterTransform;
                leftFootTarget.position = leftLeg.foot.position;
                leftFootTarget.rotation = characterTransform.rotation;
            }
        }
    }