TimeLine编辑窗口提供了多种不同的,创建TimeLine资源和实例、记录动画、安排动画,以及创建动画内容的工作流程。该篇解释了以下几种工作流程:
Creating a Timeline Asset and Timeline Instance
Recording basic animation with an Infinite clip
Converting an Infinite clip to an Animation clip
Creating humanoid animation
Using Animation Override Tracks and Avatar Masking
通过Playable Director组件在场景中使用TimeLine资源,使TimeLine资源关联到某个游戏对象。将TimeLine资源关联到一个Playable Director组件会创建一个TimeLine实例,这允许您通过TimeLine资源选择特定的场景对象制作动画。该游戏对象必须还具有Animator组件。
【Animator组件通过TimeLine实例为游戏对象设置动画。若没有Animator组件,则无法对游戏对象进行动画处理。】
TimeLine编辑窗口提供了一种自动化方法,在创建TimeLine资源时创建TimeLine实例。TimeLine编辑窗口还会创建所有必要的组件。
要创建一个新的TimeLine资源和TimeLine实例,跟随以下步骤:
1. 在您的场景中,选择要创建序列的游戏对象;
2. 打开TimeLine编辑窗口(目录:Window > Sequencing > Timeline)。如果游戏对象还未拥有与TimeLine资源关联的Playable Director组件,在“TimeLine编辑窗口”中会出现一条信息,提示您单击“创建”按钮。
3. 单击“创建”按钮。弹出一个对话框提示您输入要创建的TimeLine Asset的名称和位置。 您还可以指定标签来标识TimeLine Asset。
4. 点击“保存”。
您可以将动画直接录制到动画轨道。 直接录制到空的动画轨道时,将创建一个无边界的片段。(Infinite clip-直译怪怪的,之后都以“无边界片段”描述)
无边界片段是包含在TimeLine编辑窗口中记录的基本关键动画的片段。 无边界片段没有固定大小,无法放置、修剪或拆分。 无边界片段的时间段涵盖整个动画轨道。
在创建无边界片段之前,必须为要设置动画的游戏对象添加一个空的动画轨道。
在创建无限剪辑之前,必须为要设置动画的游戏对象添加一个空的动画轨道。
点击轨道列表中空白动画轨道的录制按钮,激活录制模式。 录制按钮可用于绑定到简单游戏对象(例如立方体,球体和灯光)的动画轨道上。 对于绑定到人形游戏对象(humanoid)的动画轨道,禁用了录制按钮。
当轨道处于录制模式时,轨道的剪辑区域变为红色,并出现“Recording…”消息。 记录按钮闪烁。
在录制模式下,更改游戏对象的可设置动画的属性(检视窗口中的变量值)会在时间轴中当前播放头的位置(白色marker)设置一个关键帧。 可设置动画的属性包括Transform,以及添加到游戏对象的所有组件的可编辑属性。
要开始创建动画,请将时间轴播放头(白色marker)移动到第一个关键帧的位置,然后执行以下操作之一:
红色背景表示该属性的动画曲线已添加到片段中。
添加白色菱形。
将播放头移动到时间轴上的其他位置,以更改游戏对象的动画属性。 在TimeLine编辑窗口中,指示属性更改的白色菱形将添加到您更改属性的任意位置,并且将关键帧添加到关联的动画曲线。
在录制模式下,您可以右键单击可设置动画的属性名称来设置关键点,而无需更改其值,跳转到下一个或上一个关键点、删除关键点等。 例如,要设置游戏对象位置的关键点而不更改其值,请右键单击Position,然后从菜单内容中选择Add Key。
完成动画制作后,单击闪烁的录制按钮以退出录制模式。
无边界片段在TimeLine编辑窗口中显示为摄影表(dopesheet-不知咋翻译...),但无法在此视图中编辑关键点。 使用曲线视图编辑关键点。 您也可以双击无边界片段,然后在动画窗口中编辑关键帧。
要保存TimeLine资源和无边界片段,请保存场景或项目。TimeLine编辑窗口会将动画保存为源资源。 源资产被命名为“Recorded”,并作为TimeLine资源的子对象保存在项目中。
无边界片段显示为摄影表。 无边界片段没有固定大小,无法放置、修剪或拆分。 要进行放置、修剪、分割或其他操作,必须先将它们转换为动画片段。
单击轨道菜单(红圈中),选择Convert to Clip Track,也可以直接在轨道上右击,找到Convert to Clip Track选项。
此工作流程演示了如何使用TimeLine实例为具有外部运动片段(external motion clips)的人形角色(humanoid character)制作动画,还演示了如何匹配片段偏移(match clip offsets),手动调整片段偏移,以及在片段之间创建混合(create blends)以最大程度地减少跳转和滑动(jumping and sliding)。 尽管该工作流程使用了人形角色,您也可以对任意游戏对象使用此方法。
开始之前,先准备好人形角色以及TimeLine。
从项目中拖放角色的运动片段(motion clip)到动画轨道上,以创建一个新的动画片段。
例如,拖放“空闲姿势”(Idle)作为第一个片段,以从空闲动作开始制作动画,并根据需要调整片段的位置和大小。
继续添加第二个运动片段。在此示例中,将左转片段(Run_Left)拖放到动画轨道上。根据需要调整Run_Left片段。在本示例中,将Run_Left剪辑的大小调整为包含一个循环,以便让警卫跑转180度。
播放该TimeLine实例,留意人形角色Guard在运动片段之间跳转,这是因为人形角色在第一个片段末尾的位置与下一个片段开始的位置不匹配。
要纠正片段之间的跳转,请匹配每个动画片段中的间隙。 TimeLine编辑窗口提供了几种不同的方式来匹配间隙。 在此示例中,要让第二个动画片段与上一个片段匹配。 因此,选择Run_Left片段,单击鼠标右键,然后选择Match Offsets to Previous Clip。
再次播放TimeLine实例,人形角色的位置和旋转匹配,但由于两个片段中的人形角色处于不同的姿势,因此在两个动画片段之间仍然存在跳转。 在第一个动画片段的结尾,人形角色直立,两脚对齐。 在第二个动画片段开始时,人形角色身体前屈,双腿张开。
创建一个混合,以删除和过渡两个姿势间的跳转。 通过调整片段长短、混合区域(blend area)、片段插入(clip in)和每个混合曲线(blend curve)的形状,可以在两个姿势之间创建平滑过渡。
例如,在Idle和Run_Left的过渡中,Idle片段修改为长度36,并将Run_Left片段重新定位为从第25帧开始。 其余属性保留为其默认值。
在Idle片段过渡到Run_Left片段时,混合将自然消除姿势之间的明显跳转,以及大部分躯体之间的过渡。但是,双脚位置的差异会导致不自然的“脚滑”。
要校正脚部滑动,您可以手动调整动画片段根部的间隙(root offset),以使脚的位置不会发生太大变化并减小滑动。 要手动调整根部间隙,在TimeLine编辑窗口中选择动画片段。 在检视窗口中,展开Animation Playable Asset,然后展开Clip Root Motion Offsets。
在Clip Root Motion Offsets中,位置和旋转都不为0,因为之前的操作——Match Offsets to Previous Clip,已经设置为与上一个动画片段结尾匹配。
在Clip Root Motion Offsets下方,启用移动工具(Move tool)。移动工具的Gizmo会显示在场景视图中,位于动画片段的根部。使用下面的其中一种方法,手动调整动画的根部偏移位置:
启用移动工具(检视窗口,蓝色箭头)以在场景视图中显示“移动Gizmo”(红色箭头)。 使用“移动Gizmo”手动定位选定动画片段的根运动偏移。
—— (暂不翻译,先放一放)