Esempio n. 1
0
 // Construct the jointData array to transfer data between C# and C++
 void ConstructJointDataArray()
 {
     m_jointDataArray = new FKIKPlugin.JointData[m_joints.Count];
     for (int i = 0; i < m_joints.Count; ++i)
     {
         m_jointDataArray[i] = new FKIKPlugin.JointData(i);
     }
 }
Esempio n. 2
0
    // Set joints' localRotation and localPosition with JointData
    private void ApplyJointDataArray()
    {
        for (int i = 0; i < m_joints.Count; ++i)
        {
            FKIKPlugin.JointData data  = m_jointDataArray[i];
            GameObject           joint = m_idJointMap[data.id];
            joint.transform.localPosition = FKIKPlugin.BVHToUnityTranslation(data.localTranslation);
            joint.transform.localRotation = FKIKPlugin.BVHToUnityQuaternion(data.localRotation);
        }

        if (m_fixedRoot)
        {
            // Set root local position x and z to zero
            m_root.transform.localPosition = new Vector3(0, m_root.transform.localPosition.y, 0);
        }
    }