Ejemplo n.º 1
0
 public FubiTrackingData()
 {
     uint numJoints = (uint)FubiUtils.SkeletonJoint.NUM_JOINTS;
     jointOrientations = new JointOrientation[numJoints];
     for (uint i = 0; i < numJoints; ++i)
         jointOrientations[i] = new JointOrientation();
     jointPositions = new JointPosition[numJoints];
     for (uint i = 0; i < numJoints; ++i)
         jointPositions[i] = new JointPosition();
 }
Ejemplo n.º 2
0
    private void init()
    {
        thrown = false;

        // Get references
        _handScript = holdingHand.GetComponent <JointPosition> ();
        _hipScript  = hip.GetComponent <JointPosition> ();
        _rigidBody  = GetComponent <Rigidbody> ();
        _collider   = GetComponent <Collider> ();

        // Disable collider
        _collider.enabled = false;
    }
Ejemplo n.º 3
0
        public FubiTrackingData()
        {
            uint numJoints = (uint)FubiUtils.SkeletonJoint.NUM_JOINTS;

            jointOrientations = new JointOrientation[numJoints];
            for (uint i = 0; i < numJoints; ++i)
            {
                jointOrientations[i] = new JointOrientation();
            }
            jointPositions = new JointPosition[numJoints];
            for (uint i = 0; i < numJoints; ++i)
            {
                jointPositions[i] = new JointPosition();
            }
        }
    public void SetTransforms()
    {
        for (int i = 0; i < jointPositions.Count; i++)
        {
            JointPosition jointPosition = jointPositions[i];

            int bentRotationReading   = jointPosition.bentReading.Keys.First();
            int normalRotationReading = jointPosition.normalReading.Keys.First();

            float rotationProportion = Remap(readings[i], bentRotationReading, normalRotationReading, 0, 1);
            jointPosition.position.rotation = Quaternion.Lerp(
                jointPosition.bentReading.Values.First(),
                jointPosition.normalReading.Values.First(),
                rotationProportion);
        }
    }
Ejemplo n.º 5
0
    void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.layer == LayerMask.NameToLayer("Rock"))
        {
            // Push the rock with the shield
            JointPosition pos1 = position1.GetComponent <JointPosition> ();
            JointPosition pos2 = position2.GetComponent <JointPosition> ();

            Vector3 speed = (pos1.speed [pos1.index] + pos2.speed [pos2.index]) / 2;

            collider.gameObject.GetComponent <Rigidbody> ().velocity = speed;

            // Destroy object after some time
            Destroy(collider.gameObject, 2);

            // Play sound
            System.Random r     = new System.Random();
            int           index = r.Next(0, shieldHitClips.Length);
            AudioSource.PlayClipAtPoint(shieldHitClips[index], collider.transform.position, 1f);
        }
    }