Version: 2017.1
Experimental: this API is experimental and might be changed or removed in the future.

GameObjectRecorder

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

变量

currentTimeReturns the current time of the recording.
isRecordingReturns true when the recorder is recording.
rootThe 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 秒时间转发动画,然后记录添加的绑定值。

继承的成员

变量

hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

GetInstanceID返回对象的实例 ID。
ToStringReturns the name of the game object.

静态函数

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad加载新场景时,不自动销毁对象 /target/。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。