private RootInformation CreateRootInfoStruct(EditorCurveBinding[] posBindings, EditorCurveBinding[] rotBindings) { RootInformation rootInfo = new RootInformation(); rootInfo.position = new Vector3[_sampleNumber]; rootInfo.rotation = new Quaternion[_sampleNumber]; var xPosCurve = AnimationUtility.GetEditorCurve(_clip, posBindings[0]); var yPosCurve = AnimationUtility.GetEditorCurve(_clip, posBindings[1]); var zPosCurve = AnimationUtility.GetEditorCurve(_clip, posBindings[2]); var xCurve = AnimationUtility.GetEditorCurve(_clip, rotBindings[0]); var yCurve = AnimationUtility.GetEditorCurve(_clip, rotBindings[1]); var zCurve = AnimationUtility.GetEditorCurve(_clip, rotBindings[2]); var wCurve = AnimationUtility.GetEditorCurve(_clip, rotBindings[3]); float time = 0; float x, y, z; float q_x, q_y, q_z, q_w;; for (int i = 0; i < _sampleNumber; i++) { time = _timeSample[i]; x = xPosCurve.Evaluate(time); y = yPosCurve.Evaluate(time); z = zPosCurve.Evaluate(time); q_x = xCurve.Evaluate(time); q_y = yCurve.Evaluate(time); q_z = zCurve.Evaluate(time); q_w = wCurve.Evaluate(time); rootInfo.rotation[i] = new Quaternion(q_x, q_y, q_z, q_w); rootInfo.position[i] = new Vector3(x, y, z); } return(rootInfo); }
/// <summary> /// Determines whether or not the given group belongs to the model. /// </summary> /// <param name="modelGroup">The group.</param> /// <returns>true if the group belongs to the model; otherwise, false.</returns> public bool DoesGroupBelongToModel(ModelGroup modelGroup) { return(RootInformation.ContainsGroup(modelGroup)); }
/// <summary> /// Gets the internal descriptive group name of the given group. /// </summary> /// <param name="modelGroup">The group.</param> /// <returns>The descriptive name.</returns> private string ResolveInternalDescriptiveGroupName(ModelGroup modelGroup) { return(RootInformation.GetInternalDescriptiveGroupName(modelGroup)); }
/// <summary> /// Gets the internal group name of the given group. /// </summary> /// <param name="modelGroup">The group.</param> /// <returns>The name.</returns> public string ResolveInternalGroupName(ModelGroup modelGroup) { return(RootInformation.GetInternalGroupName(modelGroup)); }