使用 动画事件允许您向导入的片段添加数据,以确定在动画的特定时间点应该执行哪些操作。例如,对于动画角色,您可能希望添加事件到行走和奔跑循环中,以指示何时播放脚步声。 更多信息
在 词汇表 中查看 在特定时间点调用函数。此函数可以位于附加到 游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、航点等。游戏对象的功用由附加到它的组件定义。 更多信息
在 词汇表 中查看 上的任何脚本中,但必须只接受类型为 float
、int
、string
、object
引用或 AnimationEvent
对象的单个参数。
例如,以下脚本接受一个字符串。它在被调用时会记录时间和字符串参数的值。
// An example of C# function that can be called by an Animation Event
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
public void PrintEvent(string s)
{
Debug.Log("PrintEvent called at " + Time.time + " with a value of " + s);
}
}
要在当前播放头位置的片段中添加动画事件,请单击 事件 按钮。要添加任何位置的动画事件,请右键单击您要添加事件的 事件 行,然后从上下文菜单中选择 添加动画事件。添加后,单击并拖动动画事件以将其重新定位在事件行上。
添加事件后,检查器一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑这些值。 更多信息
在 词汇表 中查看 窗口将显示 函数 字段。使用此字段选择要调用的方法。请注意,动画事件只支持具有单个参数的方法。您无法选择接受多个参数的函数。
但是,您可以使用 AnimationEvent
对象同时传递多个参数。AnimationEvent
对象接受 float
、int
、string
和 object
引用作为成员值。AnimationEvent
对象还提供有关调用函数的动画事件的信息。
添加到片段的事件在事件行中显示为标记。将光标悬停在标记上以显示带有函数名称和参数值的工具提示。
您可以在事件行中选择和操作多个事件。要在事件行中选择多个事件,请按住 Shift 键并逐个单击每个事件标记。要从选择中删除标记,请按住 Shift 键并单击所选标记。
您还可以使用选择框选择多个动画事件。为此,请单击并拖动事件行内的区域。
要删除动画事件,请选择它并按 Delete 键。您也可以右键单击动画事件,然后从上下文菜单中选择 删除事件。