一、Timeline概述
[外链图片转存失败(img-HsxyY0Xo-1562142821407)(https://docs.unity3d.com/uploads/Main/timeline_splash.jpg)]
  使用Unity的Timeline创建电影内容,游戏序列,音频序列和复杂的粒子效果。
  使用Unity的Timeline创建的每个剪切场景,电影或游戏序列都包含Timeline Asset和Timeline instance。
  Timeline Overview部分包含有关Timeline Editor窗口,Timeline Assets和Timeline instance之间关系的详细信息。
  Timeline Workflows部分显示如何创建Timeline Assets以及Timeline instances,如何记录基本动画以及如何创建过场动画。

二、Timeline workflows
  Timeline Editor窗口提供了许多不同的工作流程,用于创建Timeline Assets和instances,录制动画,安排动画和创建电影内容:
(1)、创建Timeline Asset以及Timeline instance
  要在场景中使用Timeline Asset,可使用Playable Director组件将Timeline Asset与GameObject相关联。将Timeline Asset与Playable Director组件相关联可创建Timeline instance,并允许你指定Timeline Asset为场景中的哪些对象设置动画。GameObject还必须具有Animator组件。
  Timeline Editor窗口提供了一种在创建新的Timeline Asset时创建Timeline instance的自动方法。Timeline Editor窗口还会创建所有必须的组件。
  要创建新的Timeline Asset以及Timeline instance,可按照下列步骤操作:

1.在场景中,选择一个GameObject来做电影或其他基于游戏玩法的序列。
2.打开Timeline Editor窗口(menu:Window>Sequencing>Timeline)。如果GameObject尚未将Playable Director组件附加到Timeline Asset,则Timeline Editor窗口中会有提示你单击Create按钮的消息。

[外链图片转存失败(img-OtIGIA0v-1562142821409)(https://docs.unity3d.com/uploads/Main/timeline_editor_create.png)]

1.单击"Create"将出现一个对话框,提示你输入正在创建的Timeline Asset的名称和位置。你还可以指定tags来表示Timeline Asset
2.点击 Save

  Unity执行以下操作:

·将新的Timeline Asset保存到项目中。如果你未更改正在创建的Timeline Asset的名称和位置,则Timeline Asset基于所选的带有"Timeline"后缀的GameObject。例如,默认情况下,选择名为"Enemy"的GameObject会将Asset命名为"Enemy Timeline"并将其保存到项目的Assets目录中。
·将空的Animation轨道添加到Timeline Asset中
·将Playable Director组件添加到选定的GameObject,并将Playable属性设置为Timeline Asset。这将创建一个Timeline instance。
·在Playable Director组件中,Animation轨道的绑定设置为选定的GameObject。Animation轨道没有任何剪辑,因此所选的GameObject不会播放动画。
·将Animator组件添加到选定的GameObject.Animator组件通过Timeline instance为GameObject设置动画。没有Animator组件,GameObject无法进行动画处理。

(2)、使用 Infinite clip录制基本的animation
  你可以将动画直接录制到Animation轨道。直接录制到空Animation轨道时,可以创建 Infinite clip。
   Infinite clip定义为包含通过Timeline Editor窗口记录的基本键动画的clip。 Infinite clip无法定位,修剪或拆分,因为它没有定义的大小:它跨越整个动画轨道。
  在创建 Infinite clip之前,必须要为设置动画的GameObject添加空的动画轨道。
  在Track列表中,单击空Animation轨道的Record按钮以启用Record模式。Record按钮可用于绑定简单的GameObject的运动轨迹,例如:cubes,spheres,lights等。对于绑定到humanoid GameObject的动画轨迹,禁用Record按钮。
[外链图片转存失败(img-TROf5le4-1562142821411)(https://docs.unity3d.com/uploads/Main/timeline_workflow_record_button.png)]
  当轨道处于录制模式时,轨道的剪辑区域将以红色绘制并显示"Recording…"消息且Record按钮闪烁。
[外链图片转存失败(img-YAoWxgNt-1562142821413)(https://docs.unity3d.com/uploads/Main/timeline_workflow_recording.png)]
  在Record模式下,对GameObject的可动画属性的任何修改都会在Timeline Playhead的位置设置一个键。动画属性包括transform和添加到GameObject的所有组件的动画属性。
  要开始创建动画,请将Timeline Playhead移动到第一个key的位置,然后执行以下操作之一:

·在Inspector窗口中,右键单击属性的名称,然后选择Add key.这会为属性添加animation key而不改变其值。白色菱形出现在 Infinite clip中以显示key的位置。
·在Inspector窗口中,更改GameObject要制作动画的属性的值。这会为属性添加一个animation key,其值已更改。白色菱形出现在 Infinite clip中。
·在Scene view,移动、旋转或缩放GameObject以添加key。这会自动为你更改的属性添加key.白色菱形出现在 Infinite clip中。

[外链图片转存失败(img-6IA5UKIu-1562142821413)(https://docs.unity3d.com/uploads/Main/timeline_property_red.png)]
[外链图片转存失败(img-7cLKWSTJ-1562142821414)(https://docs.unity3d.com/uploads/Main/timeline_workflow_recording_diamonds.png)]
  将playhead移动到timeline的其他位置,并更改GameObject的可动画属性。在每个位置,Timeline Editor窗口为 Infinite clip添加白色菱形以用于任何已更改的属性,并为其关联的动画曲线添加关键点。
  在Record模式下,可以右键单击可设置动画的属性名称,以对key进行操作。例如:设置key而不改变其值,跳转到下一个或上一个key,删除key等等。例如:要设置GameObject位置的key而不更改其值,可右键单击positon,然后从上下文菜单中选择Add Key。
[外链图片转存失败(img-kYFKziGx-1562142821416)(https://docs.unity3d.com/uploads/Main/timeline_workflow_keyframing_menu.png)]
  完成动画后,单击闪烁的Record按钮以禁用Record模式。
   Infinite clip在Timeline Editor窗口中显示为dopesheet,但你无法在此视图中编辑key.使用Curves view来编辑Key。也可以单击 Infinite clip并使用Animation窗口编辑key。
[外链图片转存失败(img-yXhO7o3i-1562142821417)(https://docs.unity3d.com/uploads/Main/timeline_workflow_dopesheet.png)]
  保存场景或项目以保存Timeline Asset和 Infinite clip.Timeline Editor窗口将 Infinite clip中的关键帧动画保存为source asset。source asset名为Recorded,并保存为项目中Timeline Asset的子项。
[外链图片转存失败(img-tvbnUmQT-1562142821418)(https://docs.unity3d.com/uploads/Main/timeline_workflow_clip_in_project.png)]
  对于每个附加recorded的Infinite clip,每个clip从(1)开始按顺序编号。例如:具有3个Record的Infinite clip的Timeline Asset被命名为:Record,Record(1)和Record(2)。如果删除timeline asset,则还会删除其子clip。
(3)、将Converting an Infinite clip to an Animation clip转换为Animation Clip
  Infinite clip显示为dopesheet。Infinite clip无法定位,修剪或拆分,因为它没有定义大小。要在Infinite clip上定位,修剪,分割或执行其他clip操作,必须先将其转换为Aniamtion clip。
[外链图片转存失败(img-8tmtGOZZ-1562142821420)(https://docs.unity3d.com/uploads/Main/timeline_workflow_recorded_clip_track_menu.png)]
  要将Infinite clip转换为Animation clip,单击Track菜单图标,然后选择"Convert to Clip Track"。你也可以右键单击该轨道,然后从上下文菜单中选择"Convert to Clip Track"。轨道菜单和上下文菜单是一样的。
(4)、创建humanoid animation
  此工作流程演示了如何使用Timeline Instance为具有外部motion clips的humanoid character设置动画。此工作流程还演示了如何匹配clip偏移,手动调整clip偏移以及在clip之间创建混合以最小化跳跃和滑动。虽然此工作流使用humanoid,但你可以将此动画方法用于任何GameObject.
  此工作流假定你已创建一个Timeline instance,并且其中一个空动画轨迹绑定到一个humanoid中。
[外链图片转存失败(img-WusZnhe5-1562142821420)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_start.png)]
  从项目中,将motion clip拖动到Animation track以创建新的Animation clip.例如:将idle姿势拖动为第一个clip以从idle位置启动humanoid。根据需要定位和调整idleclip的大小。
[外链图片转存失败(img-wxBrOQOv-1562142821421)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_idle.png)]
  添加第二个motion clip。在此示例中,将向右和向左转动的clip(名为Run_Left)拖动到Animation轨道上。根据需要调整Run_Left clip的大小。在此示例中,Run_Left clip的大小调整为包含一个loop,以便Guard运行并旋转180度。
[外链图片转存失败(img-XL5Jpk7v-1562142821422)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_runleft.png)]
  播放时间轴实例。注意humanoid会在每个Animation clip之间跳转。发生这种情况是因为第一个Animation clip(Idle)结尾处的humanoid角色的位置与下一个Animaition Clip(Run_Left)开头的位置不匹配。
[外链图片转存失败(img-SBZ53WUi-1562142821424)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_before_match.jpg)]
  要修复clip之间的跳转,可以匹配每个Animation clip的偏移量。Timeline Editor窗口提供了一些匹配偏移的不同方法。在此示例中,第二个Animation clip与前一个clip匹配。为此,可以选择Run_Left clip,右键单击并选择"Match Offsets to Previous Clip"。
[外链图片转存失败(img-IFI7HXm6-1562142821430)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_match_menu.png)]
[外链图片转存失败(img-h8ZR0JtE-1562142821431)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_after_match.jpg)]
  匹配偏移后,第一个Animation Clip(第29帧,红色箭头)末尾的humanoid与第二个Animation Clip开头的humanoid的位置和旋转相匹配(第30帧,带有绿色箭头的鬼影).
  再次播放Timeline instance。尽管humanoid的位置和旋转匹配,但两个Animation Clip之间仍然存在跳跃,因为humanoid处于不同的姿势。在第一个Animation clip的末尾,humanoid直立,双脚并拢。在第二个Animation Clip的开头,humanoid向前弯曲,双脚分开。
  创建一个blend以消除两个姿势之间的跳转和过渡。调整clip的大小,Blend Area,Clip In和每个Blend Curve的形状,以在两个姿势之间创建过渡。例如:在Idle clip和Run_Left clip之间的过渡中,Idle clip持续时间将更改为36,并且Run_Left将重新定位为从第25帧开始。其余属性保留为其默认值。
[外链图片转存失败(img-hWxHF1g2-1562142821432)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_blend.png)]
  当Idle clip过渡到Run_Left clip时,blend会自然地消除姿势和大多数身体部位过渡之间的明显跳跃。然而,在脚的不同位置之间的混合导致脚的不自然滑动。
  要固定脚的滑动,你可以手动调整Animation clip的root offset,以便脚的位置变化不大,从而减少脚的滑动。要手动调整root offset,可以在Timeline Editor窗口中选择Animation Clip。在Inspector窗口中,展开Animation Playable Asset和Clip Root Motion Offsets。
[外链图片转存失败(img-mr7IKLws-1562142821432)(https://docs.unity3d.com/uploads/Main/timeline_inspector_animation_clip_playable.png)]
  Clip的Root Motion Offsets(position和rotation)都不为0,因为对上一clip执行Match Offsets to Previous Clip已经设置这些值以匹配前一Animation Clip结束时前一个humanoid的root(臀部)。
  在clip的Root Motion Offsets,启用Move工具。Move Gizmo出现在Scene视图中,位于Animation clip的root。使用以下方法之一手动调整Animation Clip的root偏移位置:

·在Scene视图中,拖动Move Gizmo
·在Inspector窗口中,更改相应Position属性的值

[外链图片转存失败(img-Xwu4NkYW-1562142821434)(https://docs.unity3d.com/uploads/Main/timeline_humanoid_manual.jpg)]
(5)使用Animation Override Tracks和Avatar Masking
  此工作流程演示了如何使用Animation Override轨道和Avatar Mask来替换动画轨道的上半身动画。使用此技术可以为humanoid角色设置动画,例如跑步和携带物体。
  此工作流程未显示如何创建Avatar mask。此工作流程仅演示如何在创建Timeline instance时使用Avatar Mask。此工作流还假定你已在绑定humanoid的动画轨道上创建了一个带有简单动画片段的Timeline instance,例如走路或跑步。
[外链图片转存失败(img-JrqOy3KZ-1562142821435)(https://docs.unity3d.com/uploads/Main/timeline_masking_start.png)]
  右键单击Animation轨道,然后从上下文菜单中选择"Add Override Track"。名为Override 0的Animation Override轨道将链接到选定的Animation轨道。注意:Animation Override轨道未绑定到GameObject。由于Override轨道链接到上面的Animation轨道,因此Override轨道同Animation轨道绑定到相同的GameObject:Guard humanoid。
[外链图片转存失败(img-QZO4uLvD-1562142821436)(https://docs.unity3d.com/uploads/Main/timeline_masking_override.png)]
  从项目中,将具有上半身动画的Animation clip拖动到Override轨道中。例如:拖动静止不动的humanoid动画并挥动他们的手臂。根据需要定位和调整Waving_Arms clip的大小。
[外链图片转存失败(img-D8A9yE6v-1562142821437)(https://docs.unity3d.com/uploads/Main/timeline_masking_waving.png)]
  播放Timeline instance。Waving_Arms clip完全覆盖Run_Forward clip。要将Run_Forward clip中的下半身动画与Waving_Arms clips中的上半身动画组合,可以为Animation Override轨道指定Avatar Mask。
[外链图片转存失败(img-98faXxv8-1562142821440)(https://docs.unity3d.com/uploads/Main/timeline_masking_override_selected.png)]
  从项目中,将Avatar Mask拖动到Inspector窗口中的Avatar Mask属性中。激活Apply Avatar Mask复选框。则Avatar Mask图标将出现在轨道名称旁边。
[外链图片转存失败(img-TcOIFa8Y-1562142821441)(https://docs.unity3d.com/uploads/Main/timeline_masking_avatar_inspector.png)]
[外链图片转存失败(img-6oCaiOzg-1562142821444)(https://docs.unity3d.com/uploads/Main/timeline_masking_avatar_on.png)]
  播放Timeline instance.在Guard humanoid上,上半身动画取自Waving_Arms clip,下半身动画取自Run_Forward clip。要暂时禁用Avatar Mask,可单击Avatar Mask图标。

三、Timeline Editor窗口
  要访问Timeline Editor窗口,请从Window菜单中选择Timeline Editor.Timeline Editor窗口显示的内容取决于你在Project窗口或Scene视图中选择的内容。
  例如:如果选择与Timeline Asset关联的GameObject,则Timeline Asset将显示Timeline Asset中的轨道和clip以及与Timeline instance绑定的GameObject。
[外链图片转存失败(img-zIvlAyK6-1562142821444)(https://docs.unity3d.com/uploads/Main/timeline_editor_bindings.png)]
  如果你尚未选择GameObject,则Timeline Editor窗口会通知你创建Timeline Asset和Timeline instance的第一步是选择GameObject。
[外链图片转存失败(img-PjVah8j0-1562142821446)(https://docs.unity3d.com/uploads/Main/timeline_editor_to_start.png)]
  如果选择了GameObject且它未与Timeline Asset相关联,则Timeline Editor窗口会提供用于创建新Timeline Asset,向所选GameObject添加必要组件以及创建Timeline instance的选项。

  要使用Timeline Editor窗口查看以前创建的Timeline Asset,可在Project窗口中选择Timeline Asset,然后打开Timeline Editor窗口。Timeline Editor窗口显示与Timeline Asset关联的轨道和clip,但没有轨道绑定到场景中的游戏对象。此外Timeline播放控件已禁用,并且没有Timeline Playhead。
[外链图片转存失败(img-dIco8JQS-1562142821448)(https://docs.unity3d.com/uploads/Main/timeline_editor_project.png)]
  场景中绑定GameObject的轨道不会与Timeline Asset一起保存。绑定的轨道与Timeline instance一起保存。
(1)、Timeline Preview和Timeline Selector
  使用Timeline Selector选择要在Timeline Editor窗口中查看,修改或预览的Timeline instance。Timeline Preview按钮启用或禁用预览所选时间轴instance在场景中的效果。
[外链图片转存失败(img-4sF6Y5QS-1562142821449)(https://docs.unity3d.com/uploads/Main/timeline_preview_selector.png)]
  要选择Timeline instance,可单击Timeline Selector以显示当前场景中的Timeline instance 列表。
  每个菜单项显示当前场景中Timeline Asset的名称及其关联的GameObject。例如,与Ground GameObject关联的名为GroundTimeline的Timeline Asset显示为GroudTimeline(Ground)。
(2)、Timeline Playback控件
  使用Timeline Playback Controls中的按钮和字段播放Timeline instance并控制Timeline Playhead。
[外链图片转存失败(img-DuauAF6r-1562142821450)(https://docs.unity3d.com/uploads/Main/timeline_playback_controls.png)]
  Timeline Start按钮
[外链图片转存失败(img-09H7V24C-1562142821451)(https://docs.unity3d.com/uploads/Main/timeline_start_button.png)]
  单击Timeline Start按钮,或按住Shift并按住逗号(,),将Timeline Playhead移动到Timeline instance的开头。
  Previous Frame按钮
[外链图片转存失败(img-zXes8Ujk-1562142821454)(https://docs.unity3d.com/uploads/Main/timeline_previous_frame_button.png)]
  单击Previous Frame按钮或按逗号(,),将Timeline Playhead移动到上一帧。
  Timeline Play按钮
[外链图片转存失败(img-X76pCnbD-1562142821456)(https://docs.unity3d.com/uploads/Main/timeline_play_button.png)]
  单击Timeline Play按钮,或按空格键,以在Timeline Playback模式下预览Timeline instance。Timeline Playback模式执行以下操作:

·在Timeline Playhead的当前位置开始播放,直到Timeline instance的末尾。如果启用了Rlay Range按钮,则播放限制在指定的范围内。
·Timeline Playhead位置沿Timeline instance移动。Playhead Location字段以帧或秒显示Timeline Playhead的位置,具体取决于Timeline的设置。
·要暂停播放,可再次单击Timeline Play按钮,或按空格键
·当播放到Timeline instance的末尾时,Wrap Mode确定播放是保持在当前位置,重复播放还是不执行任何操作。Wrap Mode的设置是Playable Director组件的属性。

  Timeline Playback模式在Timeline Editor窗口中提供Timeline instance的预览。Timeline Playback模式只是模拟不支持音频播放的游戏模式。要预览带有音频的Timeline instance,可以启用Playback Director组件中的Play on Awake选项并使用Play模式预览游戏。
  Next Frame按钮
[外链图片转存失败(img-UELrENWV-1562142821457)(https://docs.unity3d.com/uploads/Main/timeline_next_frame_button.png)]
  单击Next Frame按钮,或按句号(。),将Timeline Playhead移动到下一帧。
  Timeline End按钮
[外链图片转存失败(img-7SsiUoQi-1562142821458)(https://docs.unity3d.com/uploads/Main/timeline_end_button.png)]
  单击Timeline End按钮,或按住Shift并按住句号(,),将Timeline Playhead移动到Timeline的末尾。
  Play Range按钮
  启用Play Range按钮可将播放限制在特定的秒或帧范围内。Timeline突出显示Play Range,并以白色标记指示器开始和结束。要修改播放范围,可拖动任一标记。
[外链图片转存失败(img-OPB3ERU4-1562142821460)(https://docs.unity3d.com/uploads/Main/timeline_play_range.png)]
  Playable Director组件的Wrap Mode属性确定播放到达结束标记时发生的情况。在Timeline Editor窗口中预览Timeline instance时,你只能设置播放范围。在Play模式,Unity会忽略播放范围的设置。
  Playhead Location字段和Timeline Playhead
  Timeline Playhead指示在Timeline Editor窗口中预览的确切时间点。Playhead Location字段以帧或秒表示Timeline Playhead的位置。
[外链图片转存失败(img-iFOGm2CM-1562142821461)(https://docs.unity3d.com/uploads/Main/timeline_playhead_location.png)]
    要将Timeline Playhead跳转到特定时间,可单击Timeline。你还可以在Playhead Location字段中输入时间值,然后按Enter键。键入值时,会根据时间轴设置将帧转换为秒或秒转换为帧。例如:如果Timeline表示帧速率每秒30帧的秒数,则在Playhead Location字段中输入180可将180帧转换为秒,并将时间轴移至6:00.
    要设置Timeline Editor窗口使用的时间格式,可使用Timeline设置。
(3)、轨道列表
  使用Track列表添加,选择,复制,删除,锁定,静音和重新排序组成Timeline Asset的轨道。你还可以将轨道组织到轨道组中。
[外链图片转存失败(img-UWiEHZwG-1562142821461)(https://docs.unity3d.com/uploads/Main/timeline_track_list.png)]
  彩色重点线标识每种类型的轨道。默认情况下,Active轨道为绿色,Animation轨道为蓝色,Audio轨道为橙色,Control轨道为绿松石色,Playable轨道为白色。
  每个轨道上的绑定都保存到Timeline instance,并链接到Timeline Asset的GameObject关联的Playable Director组件。
  添加轨道
  Timeline Editor窗口支持许多将轨道添加到轨道列表的不同方法。你选择的方法会影响GameObject,绑定的轨道和组件。
  添加轨道的最简单方法是单击Add按钮,然后从Add Track菜单中选择轨道类型。你还可以右键单击Track列表的空白区域,然后从Add Track菜单中选择轨道类型。
[外链图片转存失败(img-1r0XTFwD-1562142821462)(https://docs.unity3d.com/uploads/Main/timeline_add_track_menu.png)]
  Timeline Editor窗口还支持将GameObject拖动到轨道列表中。将GameObject拖动到轨道列表中的空白区域,然后从上下文菜单中选择要添加的轨道类型。根据所选轨道的类型,Timeline Editor窗口执行不同的操作:

·选择Animation轨迹,Timeline Editor将GameObject绑定到Animation轨道。如果GameObject尚未具有Animator组件,则Timeline Editor会为GameObject创建Animator组件。
·选择Activation轨道,Timeline Editor将GameObject绑定到Activation轨道。在拖动GameObject时创建Activation轨道时存在一些限制。例如,具有Playable Directory组件的主GameObject不应绑定到Activation轨道。由于这是将TimelineAsset链接到场景的相同GameObject,因此激活和禁用GameObject会影响Timeline instance的长度。
·选择Audio轨道,Timeline Editor将一个Audio Source组件添加到GameObject,并将此Audio Source组件绑定到Audio轨道。

  选择轨道
  单击以选择单个轨道。选择轨道会取消所有其他轨道或clip。选择轨道会在Inspector窗口中显示其属性。可用属性根据所选轨道的类型而变化。
  要选择连续的轨道,请选择第一个轨道,然后按住Shift键并单击系列中的最后一个轨道。例如,要选择三个连续轨道,可单击第一个轨道,然后按住Shift并单击第三个轨道。这样就可以同时选择三个轨道。
[外链图片转存失败(img-wwFAR6mF-1562142821463)(https://docs.unity3d.com/uploads/Main/timeline_track_select_first.png)]
[外链图片转存失败(img-kjwHrm6M-1562142821465)(https://docs.unity3d.com/uploads/Main/timeline_track_select_last.png)]
  按住Command/Control并单击以选择不连续的轨道。按住Command/Control并单击以取消所选轨道。
  复制轨道
  Timeline Editor窗口支持以下不同的复制轨道的方法:

·选择一个轨道。右键单击轨道列表中的空白区域,然后从上下文菜单中选择Duplicate.
·选择一个轨道。按住Command/Control并按D
·选择一个轨道。按住Command/Control并按C进行复制,然后按V进行粘贴。
·右键单击某个轨道,然后从上下文菜单中选择Duplicate或按住Command/Control并按下D

  复制轨道会复制其clip、blend和Inspector属性。如果重复的轨道绑定到GameObject,则绑定将重置为None。
[外链图片转存失败(img-LtwTKWcQ-1562142821466)(https://docs.unity3d.com/uploads/Main/timeline_track_duplicate.png)]
  删除轨道
  删除轨道以从Timeline Editor窗口中删除轨道、clip、blend和属性。这是一种破坏性操作,可修改Timeline Asset并根据Timeline Asset影响所有Timeline instance。要删除轨道,可右键单击轨道,然后从上下文菜单中选择"Delete"。删除Animation轨道也会删除从Infinite clips转换的Animation Clip的已录制Infinite clips。Project窗口仍可显示Infinite clips作为Timeline Asset,因为在保存场景或项目后才更新。
  Locking轨道
  锁定轨道以锁定轨道和轨道使用的任何clip的编辑。
  在轨道上的动画完成时使用锁定,并且你希望避免无意中修改轨道。无法编辑锁定的轨道,也无法选择其clip。Lock图标标识已锁定的轨道。
[外链图片转存失败(img-96rzsNOS-1562142821467)(https://docs.unity3d.com/uploads/Main/timeline_track_locked.png)]
  要锁定轨道,可右键单击轨道,然后从上下文菜单中选择Lock。你也可以选择轨道并按L.你可以依次选择并锁定多个轨道。
  注意:仍可以删除锁定的轨道。
  Muting轨道
  将轨道Mute以禁用其剪辑并将其隐藏在场景中。
  当你的Timeline instance包含许多带动画的轨道并且你想要专注于一个或几个曲目的动画时,你可以使用Mute。Mute图标标识Mute轨道。
[外链图片转存失败(img-8ZpkzuXJ-1562142821468)(https://docs.unity3d.com/uploads/Main/timeline_track_muted.png)]
  要mute轨道,可右键单击轨道,然后从上下文菜单中选择mute。你也可以选择轨道并按M。可以依次选择并静音多个轨道。要取消Mute,可单击Mute图标。
  重新排序轨道和渲染优先级
  轨道的渲染和动画优先级从上到下。重新排序轨道以更改其渲染或动画优先级。
  例如,如果轨道列表包含两个动画轨道,用于为GameObject的位置设置动画,则第二个轨道将覆盖第一个轨道上的动画。动画优先级是Animation Override轨道作为动画轨道下的子轨道的原因。
  要重新排序轨道,可选择一个或多个轨道并拖动,直到轨道列表中的轨道之间出现白色插入行。白色插入行表示被拖动轨道的目的地。释放鼠标按钮以重新排序轨道。
  Animation Override轨道与其父Animation轨道绑定到相同的GameObject。重新排序Animation Override轨道会将其转换为Animation轨道并将其绑定的GameObject重置为null。
  将轨道组织到Track groups
  使用Track group在处理多个轨道时组织轨道。例如:Timeline Asset包含于同一GameObject交互的Animation轨道和Audio轨道。要组织这些轨道,可以将这些轨道移动到他们自己的Track group。
  要添加Track group,可单击Add button按钮,然后从Add菜单中选择Track Group。你还可以右键单击Track列表的空白区域,然后从上下文菜单中选择Track Group。Track列表底部添加了一个新的Track group。
[外链图片转存失败(img-XgLGiazF-1562142821470)(https://docs.unity3d.com/uploads/Main/timeline_track_group_add.png)]
  要重命名Track group,可单击名称,然后会出现工字型光标。键入Track group的新名称,然后按Return键。
  要将轨道移动到Track group,可选择一个或多个轨道并拖动到Track group。Track group突出显示。拖动选定的轨道时,最后选择的轨道类型显示在光标旁边。要在Track group中的特定轨道之前拖放轨道,可拖动,直到白色插入线到制定目标。
[外链图片转存失败(img-5lDYx8cX-1562142821472)(https://docs.unity3d.com/uploads/Main/timeline_move_track_before.png)]
[外链图片转存失败(img-awAqZVHB-1562142821474)(https://docs.unity3d.com/uploads/Main/timelline_move_track_after.png)]
  Track group还可以包含任意数量的Track sub-group。要添加Track sub-group,可选择Track group并单击Track列表中的Add按钮,或单击Track group名称旁边的加号图标,然后选择Track Sub-Group。你还可以使用此菜单将轨道直接添加到Track Group或Track sub-group。
[外链图片转存失败(img-eb4l8Ub8-1562142821475)(https://docs.unity3d.com/uploads/Main/timeline_track_group_plus.png)]
  隐藏和显示Track groups
  要隐藏Track group中的轨道,可单击Track group名称旁边的三角形图标。轨道没有mute,轨道在Timeline Editor窗口中隐藏。要显示Track group中的轨道,可再次单击三角形图标。
[外链图片转存失败(img-7AhJ7jtI-1562142821476)(https://docs.unity3d.com/uploads/Main/timeline_track_group_hidden.png)]
(4)、Clip视图
  Clip视图是你在轨道列表中未每个轨道添加、定位和操纵clip的地方。没有轨道的Timeline Editor窗口不能存在Clip。
[外链图片转存失败(img-TAKibqxp-1562142821478)(https://docs.unity3d.com/uploads/Main/timeline_clips_view.png)]
  每个clip都有一条彩色重点线,用于标识轨道和clip的类型。默认情况下Activation clip是绿色,Animation clip是蓝色,Audio clips是橙色,Control clip是绿松石色,Playable clips是白色。
  浏览Clips视图
  使用以下方法之一在Clip视图中平移、缩放、或构图剪辑:

·平移:中间拖动或按住Alt并拖动
·垂直缩放:移动滚轮,或按住Alt并向右拖动
·水平缩放:按住Command/Control并垂直缩放。
·要构建所有剪辑:可选择一个或多个clip并按F
·要垂直构建所有剪辑:可按A

  添加clip
  Timeline Editor窗口支持根据轨道类型想轨道添加clip的不同方法。
  最快的方法是右键单击轨道的空白区域,然后从上下文菜单中选择相应的Add选项。根据轨道,添加clip的选项会发生变化。clip在轨道上的最后一个clip之后添加。
[外链图片转存失败(img-QrmFQMbZ-1562142821479)(https://docs.unity3d.com/uploads/Main/timeline_clips_view_adding.png)]
  你还可以将Animation clip拖动到Timeline Editor窗口中的空白区域,以自动创建轨道并将Animation clip添加到轨道。

  选择clip
  单击以选择单个clip。选择clip会取消选择所有其他轨道或clip。clip区域显示带有白色边框的所选剪辑。
  选择clip会在Inspector窗口中显示其属性,允许你更改剪辑的开头,其持续时间和其他clip属性。可用属性根据所选clip的类型而变化。
  按住Shift并单击以选择连续clip。例如:要选择三个连续clip,可单击第一个clip,然后按住Shift并单击第三个Clip,选择所有三个Clip。

[外链图片转存失败(img-6ARdzZE2-1562142821482)(https://docs.unity3d.com/uploads/Main/timeline_clips_select_last.png)]
  按住Command/Control并单击以选择不连续的clip。按住Command/Control并单击所选clip以取消选择它。
  单击并拖动clip视图中的空白区域以绘制选择矩形。这将选择与矩形相交的所有clip。绘制选择矩形时按住Shift键可将clip添加到当前选择。
  还可以使用Timeline Playhead选择clip。右键单击Clip视图上方Timeline上的Timeline Playhead,然后选择一个选择选项。这将选择在Timeline Playhead之后开始,开始之前,结束之后,结束之前或相交的clip。在所有轨道上选择clip。
[外链图片转存失败(img-Hp1tb5WD-1562142821485)(https://docs.unity3d.com/uploads/Main/timeline_playhead_select_menu.png)]
  定位clip
  要在轨道上定位clip,可选择一个或多个clip并拖动。拖动时,黑色参考线指示要定位的clip范围。Timeline显示了定位clip的开始时间和结束事件。
[外链图片转存失败(img-NXWX5GDj-1562142821487)(https://docs.unity3d.com/uploads/Main/timeline_clips_positioning.png)]
  你还可以通过选择clip并在Inspector窗口中更改时间来定位clip。此方法仅在选择单个clip时有效。Inspector窗口不显示多个clip的属性。
  你可以将clip移动到相同类型的另一个轨道。垂直拖动选区,所选clip的重影有助于可视化移动clip的结果。
  定位clip时,如果clip与同一轨道上的另一个clip重叠,则会发生混合或者覆盖,具体取决于轨道的类型:

·Activation track,Control track或Playable track。当两个clip在这些轨道上相互重叠时,第一个clip会混合到第二个clip中。例如:这可用于在两个Animation clip之间创建无缝过渡。
·Animation tracks,Animation Override tracks和Audio tracks:当两个clip在这些轨道上相互重叠时,第一个clip会混合到第二个clip中。例如:这可用于在两个动画片段之间创建无缝过渡。

  你还可以通过在Timeline Playhead的位置插入帧来定位clip。在clip视图上方的timeline上右键单击timeline playhead。然后选择Insert>Frame和一些帧。这会在timeline playhead的位置插入timeline asset中的帧。插入帧仅重新定位在timeline playhead之后开始的clip。
[外链图片转存失败(img-eLvDxAeq-1562142821489)(https://docs.unity3d.com/uploads/Main/timeline_playhead_insert_before.png)]
[外链图片转存失败(img-2YhZ9Pqf-1562142821490)(https://docs.unity3d.com/uploads/Main/timeline_playhead_insert_menu.png)]
[外链图片转存失败(img-PLh5GrQt-1562142821491)(https://docs.unity3d.com/uploads/Main/timeline_playhead_insert_100_after.png)]
  Tiling clip
  tiling clip以移除、混合或重叠同一轨道上的clip之间的间隙。如果希望每个clip准确地从上一个clip结束的位置开始,则tiling clip非常有用。在tiling clip时,必须在同一轨道上选择至少两个clip。
[外链图片转存失败(img-y5e8wyz7-1562142821492)(https://docs.unity3d.com/uploads/Main/timeline_clips_tile_selection.png)]
[外链图片转存失败(img-KAqIh98c-1562142821494)(https://docs.unity3d.com/uploads/Main/timeline_clips_tile_result.png)]
  基于第一个选定clip定位所选clip。第一个选定的clip不会移动。如果在多个轨道上选择多个clip,则必须在同一轨道上至少选择两个clip才能使图块产生效果.

  Duplicating clip
  Timeline Editor窗口支持以下不同的复制clip的方法:

·选择一个或多个clip。在clip视图中单击鼠标右键,然后从上下文菜单中选择Duplicate
·选择一个或多个clip。按住Command/Control并按D
·选择一个或多个clip。按住Command/Control并按C进行Copy,然后按V进行粘贴。
·右键单击clip,不选择,然后从上下文菜单中选择Duplicate

  复制clip会复制每个选定的clip,并将副本放在其轨道上的最后一个clip之后。如果复制的clip中使用了混合,则会复制的clip会移除混合。
  如果复制使用recorded clip作为其source asset,则会创建recorded clip的副本并将其添加到timeline asset。只有在保存场景或项目后才会显示recorded clip的副本。复制的recorded clip的名称基于原始recorded clip。复制的Animation clip的名称与复制的Recorded clip的名称相同。
[外链图片转存失败(img-JRcKH1v6-1562142821495)(https://docs.unity3d.com/uploads/Main/timeline_clip_duplicate_before.png)]
[外链图片转存失败(img-vBQzYNxm-1562142821496)(https://docs.unity3d.com/uploads/Main/timeline_clip_duplicate_clip_after.png)]
[外链图片转存失败(img-fUBkkuvn-1562142821497)(https://docs.unity3d.com/uploads/Main/timeline_clip_duplicate_project.png)]
  修剪clip
  拖动clip的开头或结尾以修剪其持续时间。拖动clip的开头或结尾会自动选择clip,并在Inspector窗口中显示其属性。使用Inspector窗口中的Timing属性可将clip的开始、结束、持续时间和偏移(Clip In)设置为精确值。
[外链图片转存失败(img-lidRAfd6-1562142821498)(https://docs.unity3d.com/uploads/Main/timeline_inspector_clip_timing.png)]
    1、修剪clip的开头
    在Clips视图中修剪Animation clip或Audio clip的开始时,无法在clip所基于的source asset开始之前拖动。在source asset启动后修剪Animation clip或Audio clip选择clip使用的source asset部分。
[外链图片转存失败(img-JnEnsdrD-1562142821501)(https://docs.unity3d.com/uploads/Main/timeline_clip_trim_start_keys.png)]
    修剪clip是非破坏性的。再次修剪clip以修改其开始以包括在先前修剪期间切断的动画或音频波形。你还可以重置clip以撤销剪辑或其他编辑。
    要将clip的开始修剪到精确的时间或帧,可使用Inspector窗口中的Clip In属性。更改Clip In属性与在source asset启动后修剪clip的开始具有相同结果。

    2、修剪clip的结尾
    如果你修剪Animation clip或 Audio clip的末尾超过clip所基于的source asset的末尾,则额外clip区域将保持或循环,具体取决于source asset的设置。
    例如:名为"End Move"的动画片段使用motion file"Recorded(2)"作为其source asset。motion file"Recorded(2)“设置为循环.修剪Animation clip的末尾超过"Recorded(2)” source asset的末尾,通过循环"Recorded(2)"填充额外的片段区域。白色animation curve显示holds或loops。
[外链图片转存失败(img-fQ2RBGmT-1562142821502)(https://docs.unity3d.com/uploads/Main/timeline_clip_trim_loop.png)]
    要选择额外剪辑区域是holds还是loops,可选择source asset以在Inspector窗口中更改其设置。根据source asset的类型,不同的属性控制source asset是hold还是loop。
    如果你不确定clip使用哪个source asset,可在clip视图中选择clip,右键单击并从上下文菜单中选择Find Source Asset.这突出显示了Project窗口中的source asset。
    3、修剪looping clip的结尾
    Timeline Editor窗口为Animation clip或带有loop的Audio clips提供特殊的修剪选项。这些特殊的修剪选项可以删除删除最后一个部分循环或完成最后一个部分循环。
    例如:名为run_away的Animation clip比其所基于的source asset长三倍以上。由于source asset设置为loop,因此Animation clip将循环source asset,知道Animation clip结束,从而导致部分循环。
[外链图片转存失败(img-UuuE5E8C-1562142821503)(https://docs.unity3d.com/uploads/Main/timeline_last_loop_before.png)]
    要扩展clip的结尾并完成部分clip,可选择clip,右键单击并选择Editing>Complete Last Loop。要在最后一个完整循环中修剪clip,可选择clip,右键clip并选择Editing>Trim Last Loop。
[外链图片转存失败(img-9FUs6q6n-1562142821504)(https://docs.unity3d.com/uploads/Main/timeline_last_loop_complete.png)]
[外链图片转存失败(img-kVKOLHDv-1562142821505)(https://docs.unity3d.com/uploads/Main/timeline_last_loop_trim.png)]
    4、使用Timeline Playhead进行修剪
    你还可以根据playhead的位置修剪clip。要使用playhead进行修剪,可将playhead放在要修剪的clip中。右键单击clip,然后选择Editor>Trim Start或Editor>Trim End。Trim Start将clip的开头修剪到Playhead。Trim End将Trim的末端修剪到Playhead。
[外链图片转存失败(img-dVaikiVG-1562142821506)(https://docs.unity3d.com/uploads/Main/timeline_playhead_trim_before.png)]
[外链图片转存失败(img-iZxu3ytH-1562142821507)(https://docs.unity3d.com/uploads/Main/timeline_playhead_trim_after.png)]
    如果在多个轨道上选择clip,则仅裁剪与Playhead相交的所选clip。
  拆分clips
    你可以将clip拆分为两个具有不同开始、结束和持续时间的相同clip.拆分clip是非破坏性的。clip的开头或结尾可以扩展为包括分割动画或剪辑。你还可以重置clip以撤销拆分或其他编辑。
    要分割clip,可将playhead定位在要分割的clip中,然后右键单击clip并选择Editing>Split,或按S。Clip将分为两个单独的clip,可以单独定位,裁剪和编辑。
  重置clips
    你可以将clip重置为原始持续时间。要重置clip,可右键单击clip,然后从上下文菜单中选择Editoring>Reset Editor。重置clip不会重置以下属性和设置:

·Ease In Duration 和 Ease Out Duration
·Clip In value
·Clip speed
·Animation Extrapolation settings
·Blend Curve

  更改clip的播放速度
    更改clip的播放速度以加速或减速其audio、motion、animation或particle effect。更改clip的播放速度会影响clip的持续时间。你只能更改Animation clips、Audio clips和Control clips的播放速度。对于其他所有clip类型,将禁用Speed选项。
[外链图片转存失败(img-f1y1FJJ6-1562142821510)(https://docs.unity3d.com/uploads/Main/timeline_inspector_clip_speed.png)]
    在Inspector窗口,Speed Multipier属性将播放速度显示为原始clip速度的乘数。例如:将80帧Animation clip的播放速度更改为双倍速度会将clip持续时间更改为40帧,并将Speed Multiplier设置为2.
    要更改clip播放速度,可右键单击clip,然后选择以下选项之一:

·Speed>Double Speed将clip持续时间减半。clip以当前速度的两倍播放。短虚线和倍增因子表示加速clip。将clip速度加倍可将Speed Multiplier属性设置为其当前值的两倍。
·Speed>Half Speed将clip持续时间加倍。clip以当前播放速度的一半播放。长虚线和倍增因子表示减速clip。将clip速度减半会将Speed Multiplier属性设置为其当前值的一半。
·Speed>Reset Speed可将clip重置为原始持续时间。clip以其原始速度播放。重置clip速度会将Speed Multiplier属性设置为1.

[外链图片转存失败(img-TSR5Qkpe-1562142821511)(https://docs.unity3d.com/uploads/Main/timeline_clip_double_speed.png)]
  设置gap extrapolation
    Gap extrapolation是指Animation轨道在Animation clip之前和之后的grap中近似动画数据的方式。
    在Animation clip之间的间隙中外推动画数据的主要目的是避免动画异常。根据绑定到动画轨道的GameObject,这些异常可能是在两个变换之间跳跃的GameObject,或者是在不同姿势跳跃的humanoid角色。
    每个动画片段都有两个gap extrapolation设置:pre-extrapolate,用于控制动画数据在Animation clip之前的间隙中的近似值,一起post-extrapolate,用于控制动画数据在Animation clip之后在间隙中的扩展方式。
    默认情况下,pre-extrapolate和post-extrapolate设置都设置为Hold。这将设置Animation clip之间的间隙以保持第一帧上的动画,以及Animation clip之后的间隙以保留最后一帧上的动画。Animation clip前后的图标标识所选的extrapolation模式。
[外链图片转存失败(img-23y0xAbm-1562142821512)(https://docs.unity3d.com/uploads/Main/timeline_gap_extrap_icons.png)]
    要更改pre-extrapolate和post-extrapolate模式,可选择Animation clip并使用Inspector窗口中的Animation Extrapolation属性。
[外链图片转存失败(img-wsyoUQsL-1562142821514)(https://docs.unity3d.com/uploads/Main/timeline_inspector_anim_extrap.png)]
    如果选定的Animation clip是Animation轨道上的唯一片段,则可以将Pre-Extrapolate模式设置为以下选项之一:

·None:关闭pre-extrapolation。在选定的Animation Clip之前的间隙中,GameObject使用场景中的transform,pose或state。例如:如果要在场景中的GameObject和Animation clip之间创建一个ease-in,则选择None非常有用,可查看Easing-in和Easing-out Clips。
·Hold(default):在所选Animation clip之前的间隙中,绑定到Animation轨道的GameObject使用Animation clip开头指定的值
·Loop:在选定的Animation clip之前的间隙中,绑定到Animation轨道的GameObject将整个Animation重复为前向循环:从开始到结束。使用Clip In属性来偏移循环的开始。
·Ping Pong:在选定的Animation clip之前的间隙中,绑定到Animation轨道的GameObject会向前重复整个动画,然后向后重复。使用Clip In属性来偏移循环的开始。在向前循环和循环结束时向后循环时,更改Clip In属性会影响循环的开始
·Continue:在选定的Animation clip之前的间隙中,绑定到Animation轨道的GameObject将根据source asset的设置保持或循环动画。例如:如果选定的Animation clip使用motion file:"Recorded(2)"作为其source asset并且"Recorded(2)"设置为loop,则选择Continue将根据"Recorded(2)"的Loop Time设置循环循环播放动画。

    如果选定的Animation clip是Animation轨道上的唯一片段,则可以将Post-Extrapolate模式设置为以下选项之一

·None:关闭post-extrapolation。在选定的Animation Clip之前的间隙中,GameObject使用场景中的transform,pose或state。例如:如果要在场景中的GameObject和Animation clip之间创建一个ease-out,则选择None非常有用,可查看Easing-in和Easing-out Clips。
·Hold(default):在所选Animation clip之后的间隙中,绑定到Animation轨道的GameObject使用Animation clip末尾指定的值
·Loop:在选定的Animation clip之后的间隙中,绑定到Animation轨道的GameObject将整个Animation重复为前向循环:从开始到结束。使用Clip In属性来偏移循环的开始。
·Ping Pong:在选定的Animation clip之后的间隙中,绑定到Animation轨道的GameObject会向前重复整个动画,然后向后重复。使用Clip In属性来偏移循环的开始。在向前循环和循环结束时向后循环时,更改Clip In属性会影响循环的开始
·Continue:在选定的Animation clip之后的间隙中,绑定到Animation轨道的GameObject将根据source asset的设置保持或循环动画。例如:如果选定的Animation clip使用motion file:"Recorded(2)"作为其source asset并且"Recorded(2)"设置为loop,则选择Continue将根据"Recorded(2)"的Loop Time设置循环循环播放动画。

    当Animation轨道包含两个Animation clip之间的gap时,左侧clip的Post-Extrapolate会设置gap extrapolation。如果gap左侧的clip的Post-Extrapolate设置为None,则右侧clip的Pre-Extrapolate会设置gap extrapolation.Animation clip前后的图标表示gap extrapolation是从clip的Post-Extrapolate设置向左移动还是从clip的Pre-Extrapolate设置向右移动。
[外链图片转存失败(img-RwNgA3PI-1562142821515)(https://docs.unity3d.com/uploads/Main/timeline_gap_extrap_two_tracks.png)]
  Easing-in和Easing-out clips
    ease-in和ease-out以在clip与周围gaps之间创建平滑过渡。要创建ease-in或ease-out transition,可使用以下方法之一:

·按住Control/Command并将clip的开头向右拖动以添加一个ease-in
·按住Control/Command并将clip的末尾想左拖动以添加一个ease-out
·选择clip,然后在Inspector窗口中,设置Ease In Duration或Ease Out Duration

[外链图片转存失败(img-s0C1O3T3-1562142821515)(https://docs.unity3d.com/uploads/Main/timeline_clip_ease_in_out.png)]
    根据轨道的不同ease-in或ease-out的差异:

·在Animation轨道或Animation Override轨道上,Animation clip的ease-in可以在clip前的gap和Animation clip之间创建平滑过渡。Animation clip的ease-out可以在Animation clip和clip后的gap中的动画之间创建平滑过渡。有许多因素可以决定Animation clip前后gap中出现的动画。详情可参阅gap extrapolation设置。
·在音频轨道上,Audio clip的ease-in可以淡入音频波形的音量。Audio clip的ease-out可以淡出Audio clip指定的音频波形的音量。
·在Playable轨道上,Playable clip的ease-in可以淡入Playable clip中的效果或脚本。Playable clip的Ease-out可以淡出Playable clip中的效果或脚本。

    尽管Clips视图使用单个线性曲线表示ease-in或ease-out,但默认情况下,每个ease-in或ease-out实际上都设置为gradually ease-in或ease-out.要更改ease-in曲线(标记为In)或ease-out曲线(标记为Out)的形状,可使用Inspector窗口中的Blend Curves。
[外链图片转存失败(img-5Ck2lDNY-1562142821516)(https://docs.unity3d.com/uploads/Main/timeline_inspector_blend_curves.png)]
    注意:Blend Curve可能会影响用于两个clip之间进行混合的混合区域。Ease In Duration和Ease Out Duration属性Blend Cureve是否影响ease-in,ease-out或blend。例如:如果Ease Out Duration可编辑,则Blend Out曲线(标记为Out)会影响ease-out transition的曲线。如果无法编辑Ease Out Duration,则Blend Out曲线(标记为Out)会影响两个clip之间混合的out-going。
[外链图片转存失败(img-NMwws4ci-1562142821517)(https://docs.unity3d.com/uploads/Main/timeline_inspector_ease_in_blend_out.png)]
    要自定义ease-in或ease-out transition,使用下拉菜单从Auto切换到Manual.选择Manual后,Inspector窗口将显示blend曲线的预览。单击预览以在Inspector窗口下方打开Curve Editor。
[外链图片转存失败(img-MwNfcWCB-1562142821517)(https://docs.unity3d.com/uploads/Main/timeline_inspector_curve_editor.png)]
    Curve Editor是用于在clip之间进行混合时自定义混合形状的编辑器。
    Animation Clip创建ease-in或ease-out后,Animation Clip会在其gaps和Animation clip之间进行混合。以下因素会影响Animation clip周围的gaps中的动画属性值:

·Animation clip和同一轨道上其他Animation clip的pre-extrapolate和post-extrapolate设置。
·绑定到同一GameObject的Animation轨道上的Animation clip
·Timeline Asset之外的场景中GameObject的位置或动画

    1、gap extrapolation和easing clips
    要成功使用Animation clip的ease-in或ease-out,不得根据正在ease-in或ease-out的Animation clip设置gap extrapolation。gap extrapolation必须设置为None,或者必须由其他Animation clip设置。
    例如:一下ease-in设置无效,因为Victory_Dance clip的Pre-Extrapolate设置为Hold。这意味着ease-in创建一个Animation clip的第一帧与Animation clip的其余部分之间的过渡。
    gap在Animation clip中设置为Hold(圆圈部分).ease-in没有效果
[外链图片转存失败(img-FkCKnSAN-1562142821519)(https://docs.unity3d.com/uploads/Main/timeline_clip_ease_in_bad_gap.png)]
    要使用Idle clip的ease-in,可将Victory_Dance clip的pre-extrapolate设置为None。gap的ease-in使用Idle clip的post-extrapolate模式(圆圈部分)
[外链图片转存失败(img-Cin4QjPk-1562142821522)(https://docs.unity3d.com/uploads/Main/timeline_clip_ease_in_good_gap.png)]
    2、Overriding Animation轨道的ease-in和ease-out
    如果将gap extrapolation设置为None,并且存在绑定到同一GameObject的前一个轨道,则gap中的动画将从前一个轨道中获取。这对于在不同轨道上的两个Animation clip之间创建平滑过渡非常有用。
    例如:如果两个Animaton轨道绑定到同一个GameObject并且第二个轨道上的ease-in,则ease-in会创建前一个轨道上的动画和第二个轨道上的动画之间的平滑过渡。要成功覆盖前一轨道上的动画,必须将第二个轨道上的gap extrapolation设置为None。
    第一个轨道上的Animation clip是一个重复的Idle周期,其中humanoid GameObject保持静止。第二个轨道中的Animation clip在Victory_Dance运动中ease-in,并且ease-out以返回Idle周期。
[外链图片转存失败(img-oAd1BnP5-1562142821524)(https://docs.unity3d.com/uploads/Main/timeline_clip_ease_in_override_track.png)]
    3、Overriding Animation轨道的ease-in和ease-out
    在场景中,如果使用Animator Controller控制GameObject,则可以在Animation clip和Animator Controller之间使用ease-in或ease-out。
    例如:如果Timeline Asset包含具有单个Animation clip的单个轨道,并且其所有gap extrapolation设置为None,则gap将使用场景中GameObject的位置或动画。
    此位置或动画是场景中设置的GameObject。如果GameObject使用Animation Controller来控制其Animation state,则将gap设置为当前Animation state。例如:如果GameObject是在场景中行走的角色,则可以设置Timeline Asset中的Animation clip为ease-in,以便于覆盖步行动画状态。根据Animator Controller,ease-out将GameObject返回到Animation state.
[外链图片转存失败(img-l2WxGiUz-1562142821529)(https://docs.unity3d.com/uploads/Main/timeline_clip_ease_in_override_scene.png)]
  Blending clips
    在同一轨道上混合两个clip,以在两个Animation clip,两个Audio clip或两个Playable clips之间创建平滑过渡。要混合两个两个clip,可定位或修剪一个clip,直到它与另一个clip重叠。
    在混合中,第一个clip称为out-going clip,第二个clip称为incoming clip。out-going clip转换到incoming clip的区域称为混合区域。混合区域设置过渡的持续时间。
[外链图片转存失败(img-qw6E6obc-1562142821530)(https://docs.unity3d.com/uploads/Main/timeline_clip_blend_area.png)]
    虽然clip视图将混合区域视为单个线性曲线,但clip之间的过渡实际上由两条混合曲线组成。out-going clip的混合曲线称为Blend Out曲线。incoming的混合曲线称为Blend In曲线。默认情况下,每条blend curve都会自动设置ease-in和ease-out曲线
[外链图片转存失败(img-UtOoaTbP-1562142821531)(https://docs.unity3d.com/uploads/Main/timeline_inspector_blend_curves.png)]
    使用Inspector窗口中的Blend Curves更改所选clip的Blend In或Blend Out曲线的形状。但是,Inspector窗口仅允许一次编辑一个clip的属性。无法同时自定义来自相同混合区域的两条混合曲线。
    要为两个clip之间的过渡自定义混合曲线,可执行以下操作:

1.选择out-going clip以自定义其Blend Out曲线(标记为Out)
2.选择in-coming clip以自定义其Blend In曲线(标记为In)

    要自定义Blend Out曲线或Blend In曲线,可使用下拉菜单从Auto切换到Manual。选择Manual后,Inspector窗口将显示混合曲线的预览。单击预览以在Inspector窗口下方打开Curve Editor。
[外链图片转存失败(img-kilK3hxX-1562142821535)(https://docs.unity3d.com/uploads/Main/timeline_inspector_curve_editor.png)]
    使用Curve Editor自定义混合曲线的形状。默认情况下,混合曲线包括曲线开头的key和曲线末端的key。Curve Editor提供以下修改混合曲线的不同方法:

·在混合曲线的开头选择key,然后使用切线控制柄调整key之间的插值。
·选择混合曲线末端的key,并使用切线控制柄调整key之间的插值。
·添加其他key以通过添加更多插值点来更改混合曲线的形状。在Curve Editor中添加关键点与在Curve视图中添加关键点相同。
·右键单击某个key以删除或编辑该key。在Curve Editor中编辑关键点与在Curve Editor中编辑关键点相同。注意:无法删除第一个和最后一个key。
·从Curve Editor的底部选择一个形状模板。

    Curve Editor还包括基于你要修改的Blend In曲线或Blend Out曲线的形状模板。选择形状模板以将混合曲线更改为选定的形状模板。

  Matching clip offsets
    每个Animation clip都包含key animation或motion,可为绑定到Animation轨道的GameObject或humanoid制作动画。将Animation clip添加到Animation轨道时,其key animation或motion不会自动匹配上一个clip或Animation轨道上的下一个clip。默认情况下,每个Animation clip都在Timeline instance开头的GameObject或humanoid的position和rotation处开始。
    例如:三个Animation clip创建一个动画序列,该clip以humanoid站立和跑步的clip开始,继续向左转动时运行humanoid的跑步clip,并以humanoid跑步和静止不动结束。
[外链图片转存失败(img-pBocPp6L-1562142821535)(https://docs.unity3d.com/uploads/Main/timeline_match_prematch_clips.png)]
    每个Animation clip都从Timeline instance开始处的humanoid的position和rotation开始(红色箭头)。三个Animation clip:Stand2Run、RunLeft和Run2Stand均已红色箭头开始,但分别以绿色、蓝色和黄色箭头结束。
[外链图片转存失败(img-DMo06fwW-1562142821541)(https://docs.unity3d.com/uploads/Main/timeline_match_prematch_scene.png)]
    要使动画序列在响铃的Animation clip之间无缝流动,你必须将每个Animation clip与其上一个或下一个clip进行匹配。匹配clip为每个Animation clip添加position和rotation偏移.匹配cip为每个animation clip添加position和rotation偏移,称为Clip Root Motion Offset。以下部分描述了如何匹配两个Animation clip或许多Animation clip。
    1、Matching two clips
    要匹配两个clip之间的root motion,可右键单击要匹配的Animation clip。从上下文菜单中,选择Match Offset to Previous Clip或Match Offsets to Next Clip。
[外链图片转存失败(img-CPNpcU34-1562142821542)(https://docs.unity3d.com/uploads/Main/timeline_match_clip_two.png)]
    上下文菜单仅显示可用于单击的Animation clip的Match Offset选项。例如:如果在单击的Animation clip之前存在间隙,则只有Match Offset to Next Clip菜单项可用。
    当你为单个Animation clip匹配偏移时,不必先选择Animation clip,但必须右键单击要匹配的Animation clip。例如:如果右键单击未选中的Animation clip,则会匹配单击的clip,并忽略任何选定的animation clip。
    2、Matching many clips
    要匹配许多clip的root motion,选择要匹配的animation clip,然后在其中一个选定clip上单击鼠标右键。从上下文菜单中,选择Match Offsets to Previous Clip或Match Offsets to Next Clip。
[外链图片转存失败(img-6WQNM7Uo-1562142821544)(https://docs.unity3d.com/uploads/Main/timeline_match_clip_many.png)]

(5)、Curves视图
  隐藏和显示曲线
    对于选定的Animation clip,Curve视图包含具有Animation曲线的属性的分层列表。展开、选择和取消选择此列表中的属性,以过滤曲线视图中显示的动画曲线。
    例如:要仅显示沿X轴的位置的动画曲线,可展开Position并选择Position.x属性。按F键以构建Position.x属性的动画曲线。
[外链图片转存失败(img-Nccbp5Xc-1562142821545)(https://docs.unity3d.com/uploads/Main/timeline_curves_view_position_x.png)]
    Curve视图支持一下选择和取消选择动画曲线的方法:

·单击父属性的三角形图标以展开和折叠其子属性列表。
·按住Shift并单击以选择连续属性。
·按住Command/Control并单击以选择不连续属性。按住Command/Control并单击所选属性以取消选择它。

  导航Curves视图
    使用以下方法之一在Curves视图中平移、缩放、调整大小或选取指定动画曲线或key

·平移:中间拖动或按住Alt并拖动
·垂直缩放:移动滚轮,或按住Alt并向右拖动
·水平缩放:按住Command/Control并垂直缩放
·调整Curve视图的大小:拖动Curve视图与轨道列表中下一个轨道分开的双线
·仅选取所选动画曲线或所选键,可按F
·要构建所有动画曲线或key,可按A

  选择key
    单击以选中单个key。选择一个key会取消选择所有其他选定的key。Curve视图显示所选key及其切线
[外链图片转存失败(img-F6LpTRkr-1562142821545)(https://docs.unity3d.com/uploads/Main/timeline_curves_view_select_key.png)]
    Curve视图提供以下选择key的方法:

·按住Shift并单击以选择连续的key。例如:沿同一动画曲线选择连续key,单击第一个key,然后按住Shift键并单击最后一个键。
·按住Command/Control并单击以选择不连续的key。按住Command/Control并单击所选key以取消选择它。
·单击并拖动Curve视图中的空白点以绘制选择矩形。这将选择矩形内的所有key.绘制选择矩形时按住Shift键可将key添加到当前选择。
·双击所选key以选择同一动画曲线上的所有key。

[外链图片转存失败(img-g9iIXoNE-1562142821549)(https://docs.unity3d.com/uploads/Main/timeline_curves_view_select_contiguous.png)]
  添加key
    Curve视图提供了一下添加key的方法:

·右键单击动画曲线,然后选择Add Key。此方法在右键单击的位置添加一个key
·双击动画曲线。在方法在双击位置添加一个key。

  编辑key
    编辑key以更改其time、value或同时修改time和value.Curves提供了一下用于编辑key的不同方法:

·右键单击某个key,然后从上下文菜单中选择Edit以输入time和value的特定值
·选择一个key,然后按Enter键输入特定值
·选择并拖动一个key以更改time和value
·垂直拖动一个key,然后按Shift键在垂直轴上捕捉key.这会更改key的vaule,但不会改变其time
·水平拖动一个key,然后按Shift键在水平轴上捕捉key。这会更改key的time,但不会更改其值。

  改变interpolation和shape
    每个key都有一个或两个切线控制动画曲线的插值:术语interpolation指的是估计确定两个key之间的动画曲线的形状的值。
    key是否具有两个切线之一取决于动画曲线上key的位置。第一个key只有一个右切线,用于控制key后动画曲线的插值。最后一个key只有一个左切线,用于控制最后一个key之前动画曲线的插值
[外链图片转存失败(img-FZtWSvln-1562142821550)(https://docs.unity3d.com/uploads/Main/timeline_curves_first_last_tangent.png)]
    所有其他key都有两个切线,其中做切线控制key之前的插值,右切线控制key之后的插值。默认情况下,切线连接在一起。拖动一个切线会影响两个切线的位置,一直在key之前和之后插入的动画曲线。
[外链图片转存失败(img-0QYd2yne-1562142821551)(https://docs.unity3d.com/uploads/Main/timeline_curves_tangent_joined.png)]
    拖动切线还可以更改动画曲线的插值模式。例如:大多数key被设置为Clamped Auto插值模式,该模式在通过key时自动平滑动画曲线。如果拖动设置为Clamped Auto的切线,则插值模式将更改为Free Smooth。
    术语interpolation模式是指插值算法,用于确定绘制动画曲线时要使用的形状。
    要查看key的插值模式,可选择key并单击鼠标右键。上下文菜单显示插值模式。要更改key的插值模式,可选择key,右键单击并选择其他插值模式。
[外链图片转存失败(img-G6snE52V-1562142821552)(https://docs.unity3d.com/uploads/Main/timeline_curves_interp_menu.png)]
    某些插值模式会破坏左右切线,以便它们可以单独定位。当切线断开时,你可以为key之前的动画曲线和key之后的动画曲线设置单独的插值模式。

  Deleting keys
    Curves视图提供以下删除key的方法:

·右键单击某个key,然后从上下文菜单中选择Delete Key.此方法不会影响所选key
·选择一个key,然后按Delete或右键单击并从上下文菜单中选择Delete Key

(6)、Timeline Settings
    使用Timeline Setting设置Timeline Asset的度量单位,设置Timeline Asset的duiration模式,以及设置Timeline Editor窗口的anap设置。
[外链图片转存失败(img-0YCVQXXz-1562142821553)(https://docs.unity3d.com/uploads/Main/timeline_cog_menu.png)]
  Second或者Frames
    选择Second或Frames以将Timeline Editor窗口设置为以seconds或frames显示时间。
  Duration Mode
    使用Duration Mode设置Timeline Asset的持续时间是否延伸到最后一个clip的末尾(Based On Clips),或延伸到特定时间或帧(Fixed Length)。当Duration Mode设置为Fixed Length时,可使用以下方法之一更改Timeline Asset的长度:

·在Project窗口中选择Timeline Asset,然后使用Inspector窗口设置持续时间(以秒或帧为单位)
·在Timeline Asset窗口中,拖动Timeline上的蓝色标记。蓝色标记表示Timeline Asset的结束。蓝线表示Timeline Asset的持续时间。

[外链图片转存失败(img-rRVP1BoU-1562142821554)(https://docs.unity3d.com/uploads/Main/timeline_duration_mode.png)]
  Frame Rate
    选择frame rate下的其中一个选项以设置Timeline asset的播放速度。Timeline Asset的总体速度根据每秒帧数加速或减速。每秒帧数越高,整个Timeline播放的速度就越快。支持一下帧速率:电影(24fps),PAL(25fps),NTSC(29.97fps),30,50或60.
  显示Audio Waveforms
    启用Show Audio Waveforms以绘制所有音轨上的所有audio clips的waveforms(波形).例如:当使用humanoid行走的动画片段手动定位足迹的音频片段时,可使用音频波形作为指导。Disable Show Audio Waveform以隐藏音频波形。默认情况下启用Show Audio Waveforms。
  Snap to Frame
    启用Snap to Frame以操纵clip,预览Timeline instances,拖动播放头以及使用帧定位。禁用Snap to Frame以使用subframes.默认情况下启用Snap to Frame。
    例如:当禁用Snap to Frame并拖动Timeline Playhead时,它会在帧之间移动播放头,播放头位置的格式会根据Timeline设置为秒或帧而显示不同:

·当timeline设置为帧时,Playhead Location字段显示帧和子帧。例如:8帧和34个子帧显示为8.34
·当timeline设置为帧时,Playhead Location字段显示秒,帧和子帧。例如:6秒,17帧和59个子帧显示为6:17[.59]。

[外链图片转存失败(img-CWU4uOSk-1562142821555)(https://docs.unity3d.com/uploads/Main/timeline_frames_subframes.png)]
    在尝试将动画和音频效果同步时,操作clip,预览Timeline instances以及在子帧级别定位播放头非常有用。许多高端音频处理软件产品创建具有子帧精度的音频波形。

  Edge Snap
    启用Edge Snap选项可在定位、修剪和创建混合时snap clip。启用后,clip在以下情况会被捕捉:当clip的开头或结尾在另一个轨道上的clip的开头或结尾的10个像素内拖动时;同一个轨道上的clip的开头或结尾;整个timeline的开始或结尾;或播放头的开始或结尾。禁用Edge Snap可以创建准确的blends,ease-ins,或ease-outs.Edge Snap默认开启。

四、Timeline和Inspector窗口
  Inspector窗口显示有关所选GameObject的信息,包括所有附加组件及其属性。
  如果选择单个timeline对象,则Inspector窗口将显示所选对象的属性。例如:如果选择Animation clip,Inspector窗口将显示所选Animation clip的公共属性和playable asset属性。
[外链图片转存失败(img-yfnlMRM9-1562142821556)(https://docs.unity3d.com/uploads/Main/timeline_inspector_animation_clip.png)]
  如果选择多个timeline对象,并且选择具有公共属性的timeline对象,则Inspector窗口将显示两个部分:具有适用于整个选择的属性部分,以及分别应用于每个所选对象的公共属性部分。
  例如:如果在一个轨道上选择Audio clip,在另一个轨道上选择两个Animation clip,则Inspector窗口包括Multiple Clip Timing属性和Clip Timing属性:

·使用Multiple Clip Timing属性可将Start或End更改为一个组。例如:如果将Start更改为第30帧,则clip的选择从第30帧开始。这会将第一个clip的开头移动到第30帧,并将剩余的所选clip相对于第一个clip放置,以区分所选clip之间的间隙。
·使用Clip Timing属性可以单独更改每个选定clip的常用属性。例如:如果将Ease In Duration更改为10帧,则每个所选clip的Ease In Duration将更改为10帧

[外链图片转存失败(img-K1NurEkA-1562142821557)(https://docs.unity3d.com/uploads/Main/timeline_inspector_animation_clip.png)]
  如果你的选择没有具有公共属性的timeline对象,则Inspector窗口会提示你缩小范围。例如:如果在Timeline Editor中选择Animation轨道和Audio clip,则会提示你缩小选择范围。
[外链图片转存失败(img-oBOyvJ8o-1562142821559)(https://docs.unity3d.com/uploads/Main/timeline_inspector_narrow_selection.png)]
(1)、设置Timeline属性
  使用Inspector窗口设置所选timeline asset的Frame Rate、Duration Mode和Fixed Length。在Project窗口中,选择Timeline Asset以查看其属性。
[外链图片转存失败(img-ZUbV9bEM-1562142821561)(https://docs.unity3d.com/uploads/Main/timeline_inspector_timeline.png)]
  Timeline属性也可在Timeline Editor窗口的Timeline Settings中找到。

Property Function
Frame Rate 使用Frame Rate设置timeline asset的播放速度。timeline asset的总体速度根据每秒帧数加速或减速。每秒帧数越高,整个timeline播放的速度就越快。
Duration Mode 使用Duration Mode设置Timeline Asset的持续时间是基于timeline中的clip还是固定长度。
Based On Clips 选择Based On Clips可根据最后一个clip的结尾设置timeline asset的长度。Duration属性以秒和帧显示timeline asset的长度。
Fixed Length 选择Fixed Length以使用Duration属性将timeline asset的长度设置为特定的秒数或帧数。
Duration Duration属性以秒和帧显示timeline asset的长度。当Duration属性设置为Fixed Length时,Duration属性可编辑。

(1)、设置轨道属性
  使用Inspector窗口更改轨道的名称及其属性。可用属性取决于所选轨道的类型。例如:选择Animation Track支持avatar mask,track offsets以及制定在Animation clip之间执行match offsets时修改哪些transform.
[外链图片转存失败(img-D2FuL1A1-1562142821563)(https://docs.unity3d.com/uploads/Main/timeline_inspector_animation_track.png)]
  并非所有轨道都具有属性。

  Activation Track属性
    使用Inspector窗口更改Activation轨道的名称,并在timeline评估完成播放时设置其绑定的GameObject的状态。

Property Function
DisplayName Timeline Editor窗口和Playable Director组件中显示的Activation轨道的名称。Display Name适用于Timeline Asset及其所有timeline instance。你只能在编辑Timeline instance时选择Activation轨道来修改Display Name。
Post-playback state 当Timeline asset停止播放时,使用Post-playback状态为绑定的GameObject设置激活状态。Post-playback状态适用于Timeline Asset及其所有Timeline instance。
Active 选择以在timeline asset完成播放时激活绑定的GameObject
Inactive 选择此选项可在timeline asset完成播放时停用绑定的GameObject
Revert 选择此选项可在timeline asset开始播放之前将绑定的GameObject恢复为其激活状态。例如:如果timeline asset以GameObject设置为inactive状态,并且GameObject在timeline asset开始播放之前处于active状态,则GameObject将恢复为active状态。
Leave As IS 选择此选项可将绑定的GameObject的激活状态设置为timeline asset末尾的相同状态。例如:如果timeline asset以设置为inactive的GameObject结束,则此GameObject保持inactive状态。

  Animation Track属性
    使用Inspector窗口更改Animation轨道的名称,应用avatar mask,track offsets和指定在Animation clip之间match offset时匹配的transform。
[外链图片转存失败(img-8DbTWdYr-1562142821563)(https://docs.unity3d.com/uploads/Main/timeline_inspector_animation_track.png)]

Property Function
Display Name Timeline Editor窗口和Playable Director组件中显示的Animation轨道的名称。Display Name适用于timeline asset及其所有timliine instance。你只能通过在编辑Timeline instance时选择Animation轨道来修改Display Name。
Apply Avatar_用于将动画从一个rig重定向到另一个rig 使用此属性可启用Avatar masing。启用后,将根据所选的Avatar masking应用轨道上所有Animation clip的动画
Avatar Mask 使用此属性选择应用于动画轨道上所有Animation clip的Avatar Mask。Avatar Mask定义所选动画轨道上的Animation clip为哪些humanoid身体部位设置动画。被屏蔽的身体部位由timeline asset中的其他动画轨道设置动画。例如:你可以使用Avatar Mask将动画轨道上的上半身动画与Override Animation轨道上的上半身动画相结合。
Apply Track Offsets 启用Apply Track Offsets可将相同位置和旋转偏移应用于所选Animation轨道上的所有Animation clip。Apply Track Offsets有两种方法:在Scene视图中使用小控件设置位置和旋转偏移,或指定精确位置和旋转track offset。
Move tool 启用Move Tool以在Scene视图中显示Move Gizmo。使用Move Gizmo可视地定位track offset。定位Move Gizmo会更改Position属性。
Rotate tool 启用Rotate tool以在Scene视图Rotate Gizmo。使用Rotate Gizmo可视地选择track offset。旋转Rotate Gizmo会更改Rotate属性
Porition 使用Position属性可以设置X,Y和Z坐标中的track offset
Rotation 使用Rotation属性设置绕X,Y和Z轴的轨道旋转偏移
Clip Offset Match Fields 展开Clip Offset Match Fields以显示一系列复选框,用于选择在Animation clip之间matching offset时匹配哪些transform。Clip Offset Match Fields为同一轨道上的所有Animation clip设置默认匹配选项。使用Animation Clip playable asset属性覆盖每个Animation clip的这些默认值。

(1)、设置Clip属性
  使用Inspector窗口更改clip的名称,clip的时间,混合属性和其他clip属性。可用属性取决于所选clip的类型。例如:选择Activation clip以更改其名称并设置其clip时间。
[外链图片转存失败(img-2jn8vZBX-1562142821565)(https://docs.unity3d.com/uploads/Main/timeline_inspector_activation_clip.png)]
  并非所有clip都具有属性。
  Activation Clip属性
    使用Inspector窗口更改Activation clip的名称及其Clip Timing。
[外链图片转存失败(img-gftVqP2u-1562142821566)(https://docs.unity3d.com/uploads/Main/timeline_inspector_activation_clip.png)]
    Display Name
    Timeline Editor窗口中显示的Activation clip的名称。默认情况下,每个Activation clip都命名为Active。
    Clip Timing属性
    使用Clip Timing属性可以修剪和更改Activation clip的持续时间。大多数timing属性以秒(s)和帧(f)表示。指定修改Clip Timing属性的描述时,将接受所有十进制值。指定帧时,仅接受整数值。例如:如果你尝试在帧(f)字段中输入12.5,则将其设置为12帧。

Property Function
Start clip开始时的帧或时间(以秒为单位)。更改Start属性会更改timeline asset中其轨道的clip位置。更改Start可能也会影响Duration.所有Clip都使用Start属性
End clip结束时的帧或时间(以秒为单位)。更改End属性会影响Duration。所有clip都使用End属性
Duration clip的持续时间以帧或秒为单位。更改Duration属性也会影响End属性。所有clip都使用Duration属性。

  Animation Clip常用属性
    使用Inspector窗口更改Animation clip的常用属性。Animation clip的常用属性包括其名称、时间、播放速度、混合属性及其extrapolation设置。
[外链图片转存失败(img-hXl7P5IN-1562142821569)(https://docs.unity3d.com/uploads/Main/timeline_inspector_animation_clip_common.png)]
    Display Name
    Timeline Editor窗口中显示的Animation clip的名称。
    ClipTiming属性
    使用Clip Timing属性可以修剪、更改持续时间,更改ease-in和ease-out Duration或者extrapolation,以及调整Animation clip的播放速度。
    大多数timing属性以秒(s)和帧(f)表示。指定修改Clip Timing属性的描述时,将接受所有十进制值。指定帧时,仅接受整数值。例如:如果你尝试在帧(f)字段中输入12.5,则将其设置为12帧。

Property Function
Start clip开始时的帧或时间(以秒为单位)。更改Start属性会更改timeline asset中其轨道的clip位置。更改Start也可能会影响Duration。
End clip结束时的帧或时间(以秒为单位)。更改End属性会影响持续时间。所有clip都使用End属性
Duration clip的持续时间以帧或秒为单位。更改Duration属性也会影响End属性。
Ease In Duration 设置ease in所需的秒数或帧数。如果clip的开头与另一个clip重叠并混合,则无法编辑Ease In Duration,而是显示clip之间混合的持续时间。
Ease Out Duration 设置clip ease out所需的秒数或帧数。如果clip的末尾与另一个clip重叠并混合,则无法编辑Ease Out Duration,而是现实clip之间混合的持续时间。在这种情况下,剪裁或定位clip以更改clip之间混合的持续时间。
Clip In 设置source clip开始播放时的偏移量。例如:要播放30秒音频片段的最后10秒,可将Clip设置为20秒。
Speed Multiplier clip播放速度的乘数。此值必须大于0.更改clip的此值将更改clip的持续时间以播放相同内容。

    Animation Extrapolation
    使用Animation Extrapolation属性设置Animation clip前后的gap extrapolation。术语gap extrapolation是指Animation轨道如何在轨道上的Animation clip之前、之间和之后的间隙中近似或扩展动画数据。
    仅Animation clip使用Animaiton Extrapolation属性。在Animation clips之间设置gap extrapolation有两个属性:

Property Function
Pre-Extrapolate 控制Animation clip之前在间隙中近似动画数据的方式。PreExtrapolate属性会影响Animation clip中的ease in效果。
Post-Extrapolate 控制Animation clip后动画数据在间隙中的扩展方式。Post-Extrapolate属性会影响Animation clip的easing out

    Blend Curves
    在两个Animation clip之间进行混合时,使用Blend Curve自定义out-going clip和incoming clip之间的过渡。
    当ease in或ease out clip时,Blend Curve允许你自定义clip中的ease in曲线和ease out曲线。

  Animation Clip playable asset属性
    使用Inspector窗口更改Animation clip的playable asset属性。playable asset属性包括用于手动转换Animation clip的root motion offset的控件和用于覆盖默认clip匹配的选项。
    要查看Animation clip的playable asset属性,可在Timeline Editor窗口中展开Animation Playable Asset。

    Clip Root Motion Offsets
    使用Clip Root Motion Offset将postion和rotation偏移应用于所选Animation clip的root motion。应用clip root offsets有两种方法:

·匹配clip offset以根据上一个Animation clip的结尾或下一个Animation clip的开头设置root motion offsets。匹配的内容取决于Clip Offset Match Fields
·使用Clip Root Motion Offset下的工具和属性手动设置root motion offsets的position和rotation
Property Function
Move tool 启用Move Tool以在Scene视图中显示Move Gizmo。使用Move Gizmo手动定位所选Animation clip的root motion offset。使用Move Gizmo可更改Position属性。
Rotate tool 启用Rotate tool以在Scene视图中显示Rotate Gizmo。使用Rotate Gizmo手动选择所选Animation clip的root motion offset。使用Rotate Gizmo可更改Rotate属性
Porition 使用Position属性可以在X,Y和Z坐标中手动设置clip offset。默认情况下,Position坐标设置为零并且相对于track offsets
Rotation 使用Rotation属性手动设置绕X,Y和Z轴的clip rotation offset。默认情况下,Rotation坐标设置为0并且相对于track offsets

    Clip Offset Match Fields
    使用Clip Offset Match Fields选择匹配clip offsets时匹配的变换。默认情况下,Override Track Match Fields被禁用,Clip Offset Match Fields显示并使用在Animation轨道级别设置的匹配选项。
    启用Override Track Match Fields以复古轨道匹配选项,并设置与所选Animaiton clip匹配的转换。

  Audio Clip属性
    使用Inspector窗口更改Audio clip的属性。这些属性包括clip的名称、时间、播放速度、混合属性、Audio clip使用的音频文件以及Audio clip是否循环或播放一次。
[外链图片转存失败(img-QaVAIR57-1562142821573)(https://docs.unity3d.com/uploads/Main/timeline_inspector_audio_clip.png)]
    Display Name
    Timeline Editor窗口中显示的Audio clip的名称。这不是用于波形的音频文件的名称。音频文件的名称是Audio Playable Asset属性的一部分。
    Clip Timing属性
    使用Clip Timing属性可以裁剪和更改Audio clip的持续时间。大多数timing属性以秒(s)和帧(f)表示。指定修改Clip Timing属性的秒数时,将接受所有十进制值。指定帧时,仅接受整数值。例如:如果你尝试在帧(f)字段中输入12.5,则将其设置为12帧。

Property Function
Start clip开始时的帧或时间(以秒为单位)。更改Start属性会更改timeline asset中其轨道的clip位置。更改Start也可能会影响Duration。所有clip都使用Start属性。
End clip结束时的帧或时间(以秒为单位)。更改End属性会影响持续时间。所有clip都使用End属性
Duration clip的持续时间以帧或秒为单位。更改Duration属性也会影响End属性。所有clip都使用Duration属性。

    Blend Curves
    在两个Audio clip之间进行混合时,使用Blend Curve自定义out going和incoming clip之间的过渡。
    当ease in或ease out时,Blend Curve允许你自定义Audio clip的ease in曲线和Audio clip的ease out曲线。

    Audio Playable Asset属性
    使用Audio Playable Asset属性选择Audio clip使用的音频文件,并设置所选Audio clip是循环(Loop enabled)还是播放一次(Loop disabled)。

五、Playable Director组件
  Playable Director组件存储timeline instance和timeline asset之间的链接。Playable Director组件控制Timeline instance播放的时间、timeline instance如何更新它的时钟、以及Timeline instance完成播放时会发生什么。
[外链图片转存失败(img-mdgDhvp5-1562142821574)(https://docs.unity3d.com/uploads/Main/timeline_inspector_playable_director.png)]
  Playable Director组件还显示来自关联的timeline asset(Playable属性)的轨道列表,该轨道列表在场景中为GameObject设置动画。Timeline Asset轨道与场景中的GameObject之间的链接称为binding或Track binding。
  (1)、Playable
  使用Playable属性手动将timeline Asset与场景中的GameObject相关联。进行此关联时,将为所选Timeline Asset创建Timeline instance。创建Timeline instance后,可以使用Playable Director组件中的其他属性来控制实例,并选择Timeline Asset为场景中的哪些GameObject设置动画。
  (2)、Update Method
  使用Update Method设置Timeline instance用于更新其时序的clock source。Update Method支持一下clock source:

·DSP:选择精确的音频调度采样。选中此选项后,Timeline实例将使用处理音频的相同clock source。DSP代表数字信号处理
·Game Time:选择使用与游戏时钟相同的clock source。此clock source受时间缩放的影响。
·Unscaled Game Time:选择使用与游戏时钟相同的clock source,当不受时间缩放的影响。
·Manual:选择不使用clock source并通过脚本手动设置时钟时间。

  (3)、Play on Awake
  是否在启动游戏时播放timeline instance。默认情况下,一旦场景开始播放,timeline instance就会设置为开始。要禁用默认行为可禁用Playable Director组件中的Play on Awake选项。
  (4)、Wrap Mode
  timeline instance 结束播放时的行为。Wrap模式还定义了Timeline Editor窗口处于Play Range模式时的行为。支持一下Wrap模式:

·Hold:播放timeline instance一次并保持最后一帧直到播放中断。
·Loop:重复播放序列,直到播放中断
·None:播放序列一次,然后将所有动画属性重置为播放前保存的值。

  (5)、Initial Time
  timeline instance开始播放的时间(以秒为单位)。Initial Time添加从触发timeline instance到实际播放的秒数延迟。例如:如果启用了Play On Awake并且Initial Time设置为5秒,则单击Unity Toolbar中的Play按钮将启动Play模式,timeline instance将在5秒钟后开始。
  当你处理长电影并且想要预览timeline instance的最后几秒时,这非常有用。
  (6)、Current Time
  使用Current Time字段根据Timeline Editor窗口中的timeline instance查看时间进度。Current Time字段与Playhead Location 字段匹配。在隐藏Timeline Editor窗口时,Current Time字段非常有用。在Timeline Playback模式下或Unity处于游戏模式时,Current Time字段显示在Playable Director组件中。
  (6)、Bindings
  使用Binding区域将场景中的GameObject与关联的Timeline asset(Playable属性)中的轨道相关联。将GameObject连接到轨道时,轨道会为场景中的GameObject设置动画。GameObject和轨道之间的连接称为binding或Track binding。
  Bindings区域分为两列:

·第一列列出了Timeline asset中的轨道。每个轨道由图标及其轨道类型标识。
·第二列列出了连接(或绑定)到每个轨道的GameObject。

  Bindings区域不会列出Track group、Track sub-groups或不为GameObject设置动画的轨迹。Timeline Editor窗口在Track list中显示相同的bindings。

六、Timeline词汇表
  animatable属性:具有GameObject的属性,或属于添加到GameObject的组件,可以随时间具有不同的值。
  animation:在两个不同的时间为相同的动画属性添加两个不同的key的结果
  animation curve:在不同帧或秒处为相同的可动画属性设置的key之间绘制的曲线。切线的位置和每个key的选定插值模式决定了动画曲线的形状。
  binding或Track binding:指timeline asset轨道与场景中的游戏对象之间的连接。将GameObject连接到轨道时,轨道会为GameObject设置动画。绑定存储为timeline instance的一部分.
  blend和blend area:两个Animation clips、Audio clips或Control clips重叠的区域。重叠创建了一个称为blend的过渡。重叠的持续时间称为blend area。blend area设置过渡的持续时间。
  Blend In curve:在两个animation clip、audio clips或control clips之间的混合中,有两条混合曲线。incoming clip的混合曲线称为Blend In curve。
  Blend Out curve:在两个Animation clips、Audio clips或Control clips之间的混合中,有两条混合曲线。out-going clip的混合曲线称为Blend Out curve。
  clip:一个通用术语,指的是Timeline Editor窗口的clip视图中的任何clip。
  Clip view:Timeline Editor窗口中添加、定位和操作clip的区域。
  Control/Command:当指示用户按下或按住Windows上的Control键或Mac上的Command键时,使用此术语。
  Curve视图:Timeline Editor窗口中的区域,显示Infinite clips或已从Infinite clip转换的Animation clip的动画曲线。Curve视图类似于Animation窗口中的Curve模式。
  Gap extrapolation:Animation轨道如何近似Animaiton clip前后间隙中的动画数据。
  field:描述用户单击并键入key的可编辑框的通用术语。filed也称为属性。
  incoming clip:两个clip之间混合的第二个clip。第一个clip,即out-going clip,转换到第二个clip,即incoming clip。
  infinite clip:一种特殊的Animation clip,包含直接记录到Timeline Editor窗口中的Animaiton轨道的基本关键动画。infinite clip无法定位、修剪或拆分,因为它没有定义的持续时间:它跨越整个Animation轨道。
  interpolation:确定两个key之间动画曲线形状的值的估计。
  interpolation mode:在两个key之间绘制动画曲线的插值算法。插值模式可以是连接或断开左右切线。
  key:在特定时间点设置的可动画属性。为同一个属性设置至少两个key可创建动画。
  out-going clip:两个clip之间混合的第一个clip。第一个clip,即out-going clip,转换到第二个clip,即incoming clip。
  Playhead Location field:以帧或秒表示Timeline Playhead位置的字段,具体取决于Timeline设置。
  property:组成组件的可编辑字段、按钮、复选框或菜单的通用术语。可编辑字段也称为field。
  tangent:两个句柄之一,用于控制key前后动画曲线的形状。在Curve视图中选择某个key时,或者在Curve Editor中选择某个key时,会出现切线。
  tangent mode:左切线,右切线或两条切线使用的所选插值模式。
  Timeline或Unity的Timeline:涉及创建、修改或重用过程动画,过场动画和游戏过程序列的所有功能,窗口、编辑器和组件的通用术语。
  Timeline Asset:指包含电影、剪辑场景、游戏播放序列或使用timeline editor窗口创建的其他效果的轨道、clip和录制的动画。timeline asset不包括对timeline assset动画的GameObject的绑定。场景GameObjects的绑定存储在Timeline实例中。timeline asset是基于项目的。
  Timeline Editor窗口:创建、修改和预览timeline instance的窗口的正式名称。对timeline instance的修改也会影响timeline asset。
  Timeline instance:指timeline asset与timeline asset在场景中设置动画的GameObject之间的链接。可以通过Playable Director组件将timeline asset与GameObject相关联来创建timeline instance。timeline instance是基于场景的。
  Timeline Playback Control:Timeline Editor窗口中用于控制timeline instance播放的按钮和字段。Timeline Playback控件会影响Timeline playhead的位置。
  Timeline Playback mode:在Timeline Editor窗口中预览Timeline instance的模式。Timeline Playback模式也是Play模式的模拟。Timeline Playback模式不支持音频播放。
  Timeline Playhead:白色标记和线,指示在Timeline Editor窗口中预览的确切时间点。
  Timeline Selector:Timeline Editor窗口中的菜单名称,用于选择要预览或修改的Timeline instance。
  track:一个通用术语,指的是Timeline Editor窗口的Track列表中的任何轨道。
  Track groups:在可展开的折叠轨道集合中组织一系列轨道的术语。
  Track list:Timeline Editor窗口中添加、分组和修改轨道的区域。

参考资料:
https://docs.unity3d.com/Manual/TimelineSection.html

Unity流水账9:Timeline相关推荐

  1. 5分钟制作Unity过场动画 | Timeline

    你好,我是跟着大智学Unity的萌新,我叫小新,这是我本周的学习总结报告哦. 这里是5分钟Unity学院,没有废话的Unity教程,今天来学习如何制作过场动画. 过场动画,这么复杂的东西如何在5分钟内 ...

  2. Unity流水账14:GL、Graphics及CommandBuffer

    一.GL (1).描述   底层图形库.   使用此类可以处理激活转换矩阵,发出类似于OpenGL立即模式的渲染命令以及执行其他低级图形任务.注意:在几乎所有情况下,使用Graphics.DrawMe ...

  3. Unity流水账8:MeshComponents

    MeshComponents   3D网格是Unity的主要图形基元.Unity存在各种组件来渲染常规的mesh或skinned meshes,trails(轨迹),3D lines 一.Meshes ...

  4. Unity流水账2:视频播放之Video Player

    VideoPlayer组件   使用VideoPlayer组件可以将视频文件附加到GameObjecs,并在运行时,在GameObject的Texture上播放它们.   默认情况下,Video Pl ...

  5. Unity流水账4:Animation API(一)

    一.Animation 1.描述   Animation组件用于播放动画.   你可以将Animation Clips指定给Animation组件,并从脚本控制播放.Unity中的动画系统是基于权重的 ...

  6. 8.Unity经验:TimeLine 制作过场动画

    这一篇不想写了,直接拿别人的吧: https://www.jianshu.com/p/9a57906913c0 我的工程路径:E:\Study\UnityProjects\UnityTeachTime ...

  7. Unity + SteamVR + VIVE Pro进行动作捕捉

    Unity + SteamVR + VIVE Pro进行动作捕捉 软件信息 VIVE Pro 硬件信息 vive pro 只可以使用2个基站,并且只能使用vive tracker 2.0一下的追踪器 ...

  8. unity用全景视频制作天空盒——欺骗眼睛让手游有3A等级画面

    1 需要的工具 unity2017以上,我用的是2019.1 Cinemachine插件 unity recorder插件 timeline插件 2 准备一个很好看面数很大的场景,我找了一个小镇的场景 ...

  9. DDD系列第五讲:聊聊如何避免写流水账代码

    向读者们道歉,由于工作太忙,又对文章质量有追求,所以这篇文章产出速度较慢,但可以向大家保证:文章中的内容都经过了反复实践和踩坑.DDD系列的前几篇文章可以点击文字下方阅读~ DDD系列第一讲 DDD系 ...

最新文章

  1. SAP销项税多科目配置
  2. 0220互联网新闻 | 豆瓣FM获腾讯音乐娱乐集团投资;华为云将在新加坡拓展云平台和人工智能能力...
  3. 【❤️算法系列之二叉树的实现(包含前序、中序、后序遍历以及节点的查找和删除)❤️】
  4. NOIP前夕:noi.openjudge,Maximum sum
  5. css中clear的作用是什么?
  6. Spring4.0学习笔记(3) —— Spring_Bean之间的关系
  7. Eclipse安装插件的几种方式
  8. apiCloud中的API对象
  9. 安装Eclipse ADT插件时遇到的一些问题,错误
  10. Vue——知识体系总结
  11. Imagej分析所有气泡的粒径
  12. Gateway网关系列(二):SpringCloud Gateway入门实战,路由规则
  13. CleanMyMac X的免费版电脑系统瘦身工具
  14. matlab由离散点绘制光滑曲线并额外标注点
  15. 关于重装系统后部分文件呈绿色的原因
  16. php crypt md5,PHP crypt()-返回的md5哈希
  17. 求符合给定条件的整数集(做题)
  18. CPU中虚拟地址、逻辑地址(有效地址)、线性地址、物理地址
  19. py socket5 代理
  20. 黑猴子的家:Scala Case语句的中置(缀)表达式

热门文章

  1. MySQL创建用户,授权
  2. php 自动拉伸图片,实例详解Javascript防止图片拉伸的自适应处理
  3. 软件工程技术--第一章 概述
  4. Html批量统一给汉字注音,HTML5:给汉字加拼音?让我秀给你看
  5. 北京交通大学计算机仿真大作业直流调速系统仿真,北京交通大学电气工程学院计算机仿真大作业.docx...
  6. 计算机ppt总结,计算机基础课件总结.ppt
  7. 跨境电商的痛点有哪些?
  8. 寻路问题——找到从起点到终点路径
  9. 寻求路径问题————动态规划的思想
  10. 使用lsof命令恢复已删除文件(正在使用的文件)