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(); } }