Esempio n. 1
0
    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);
    }
Esempio n. 2
0
 /// <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));
 }
Esempio n. 3
0
 /// <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));
 }
Esempio n. 4
0
 /// <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));
 }