class in UnityEditor.Experimental.Animations
/
继承自:Object
在运行场景时记录 GameObject 的变化属性并将信息保存在 AnimationClip 中。
该类将绑定 GameObject 属性,在属性值在运行场景中发生变化时记录相应的值,并将结果保存在 AnimationClip 中。记录的游戏对象在类中称为 root,您也可以绑定 root 任何子项的属性。
请参阅以下代码示例,了解如何实现该类以及如何设置要记录的内容。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using UnityEditor.Experimental.Animations;
public class RecordTransformHierarchy : MonoBehaviour { public AnimationClip clip; public bool record = false;
private GameObjectRecorder m_Recorder;
void Start() { m_Recorder = new GameObjectRecorder(); m_Recorder.root = gameObject;
m_Recorder.BindComponent<Transform>(gameObject, true); }
void LateUpdate() { if (clip == null) return;
if (record) { m_Recorder.TakeSnapshot(Time.deltaTime); } else if (m_Recorder.isRecording) { m_Recorder.SaveToClip(clip); m_Recorder.ResetRecording(); } } }
currentTime | Returns the current time of the recording. |
isRecording | Returns true when the recorder is recording. |
root | The GameObject used for the recording. |
GameObjectRecorder | 创建新的游戏对象录制器。 |
Bind | 根据 EditorCurveBinding 的定义绑定游戏对象的属性。 |
BindAll | 为 target 的所有属性添加绑定;如果 recursive 为 /true/,也要为 target 子项的所有属性添加绑定。 |
BindComponent | 为 target 中的首个 T 类型组件的所有属性添加绑定;如果 recursive 为 true ,也要为 target 子项的所有属性添加绑定。 |
GetBindings | 返回添加到录制器的所有绑定的数组。 |
ResetRecording | 重置记录。 |
SaveToClip | 将录制的动画保存到 clip 中。 |
TakeSnapshot | 按 dt 秒时间转发动画,然后记录添加的绑定值。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回 GameObject 的名称。 |
Destroy | 删除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | 加载新场景时,不自动销毁对象 /target/。 |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
Instantiate | 克隆 original 对象并返回克隆对象。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |