public void addNewPose(GameObject obj, GameObject parentObj, int parentIndex)
    {
        int size = poseBase.Length;

        poseNode[] newPoses = new poseNode[size + 1];
        for (int i = 0; i < size; i++)
        {
            newPoses[i] = poseBase[i];
        }
        poseNode newPoseNode = new poseNode();

        newPoseNode.name            = obj.name;
        newPoseNode.parentNodeIndex = parentIndex;
        Transform objTransform = obj.transform;

        if (parentIndex == -1)
        {
            newPoseNode.localBaseTransform  = Matrix4x4.TRS(objTransform.position, objTransform.rotation, objTransform.localScale);
            newPoseNode.globalBaseTransform = Matrix4x4.TRS(objTransform.position, objTransform.rotation, objTransform.localScale);
        }
        else
        {
            newPoseNode.localBaseTransform  = Matrix4x4.TRS(objTransform.localPosition, objTransform.localRotation, objTransform.localScale);
            newPoseNode.globalBaseTransform = Matrix4x4.TRS(objTransform.position, objTransform.rotation, objTransform.localScale);
        }


        newPoseNode.keyFrames = new List <KeyFrame>();

        newPoses[size] = newPoseNode;

        poseBase = newPoses;
    }
 public void createBase(int count)
 {
     poseBase = new poseNode[count];
     for (int i = 0; i < count; i++)
     {
         poseBase[i] = new poseNode();
     }
 }