animation unity 速度_Unity中用Timeline实现动画特写(上)

(说明:本系列文章可以跟上篇文章:Truly:用Unity实现弹反效果配合食用)

在游戏战斗中经常会出现动画特写,例如终结时的斩杀镜头。

这次通过使用Timeline来实现动画特写,实现最终效果如下:

主要了实现几个功能:

1.角色播放动画并位移

2.子弹时间

3.镜头切换

4.触发镜头抖动和特效播放

5.切换释放目标

本篇介绍Timeline的一些基本用法以及实现主角的动画播放,余下功能会在下篇里实现。

一、前期准备

1.这次用到的部分功能需要Unity2019.1以上版本。

2.菜单栏 > Window > Pakage Manager,安装Timeline和Cinemachine。

3.Asset Store > 搜索并下载Default Playables。

Default Playables提供了常用功能的轨道脚本,导入后能在Timeline中添加对应功能的Track(轨道),此外还能通过菜单栏 > Window > Timline Playable Wizard的方式生成脚本框架,有助于快速编写自定义轨道。

二、部分面板介绍与基础操作(速览即可)

1.创建Timeline

(1)Asset文件夹内右键 > Create > Timeline,创建TimelineAsset。

(2)把建好的TimelineAsset拖到HierarcHy窗口内或者GameObject上,被拖进的对象会自动添加Playable Director组件(相当于播放器)。

①Playable:属性框内的Timeline Asset是播放的片段,也是接下来我们编辑的动画片段。

②Update Method(更新模式):一般使用Game Time(游戏引擎的DeltaTime,受时间缩放影响),有更高要求的可以使用DSP Clock。

③Play On Awake:勾选时启动自动播放(建议取消勾选)。

④Wrap Mode:播完后的操作。Hold:停在最后一帧。

Loop:循环播放。

None:恢复播放前状态。

⑤Initial Time:延迟N秒播放。

2.添加Track(轨道)

(1)双击TimelineAsset,打开Timeline的编辑窗口。

(2)在编辑窗口空白处右键可以添加Track,导入Default Playables后会新增一些常用的功能Track(蓝色框)提供选择。

3.Timeline编辑界面简介

在编辑界面选中播放TimelineAsset对应的GameObject,左侧部分对象框才会显示,如下图:

每一种Track(橙色框)可以理解为对应一种功能,分为左右两半:左侧是执行该Track的对象。

右侧可以添加的Clip(片段),Clip可以是动画也可以是功能逻辑。

举个例子:如橙色框里的Animation Track,左边放的是播放这些动作的角色的Animator组件,右边放的是需要播放的动作片段。

三、动画播放

1.设置使用动画位移

这次特写需要应用动画(Humanoid类型)的水平位移,因此需要以下几个操作:

(1)Assets文件夹选中需用动画 > Inspector窗口 > Animation > Root Transform Positon(XZ)> 取消勾选Bake Into Pose:把动画的XZ平面上的移动拷贝进Root Motion。

动图解析如下:

留意动图角色脚下的标识,勾选Bake Into Pose后脚下的标识没有跟着角色移动,每次播放结束都会撤回到标识处。可以理解为它只是表面(骨骼)摆了个Pose,Root并没有真正的位移。

(2)Animator组件勾选Apply Root Motion:根据动画的Root Motion来移动角色。

上两步的逻辑:(1)把动画位移保存进Root Motion => (2)根据Root Motion移动角色

(3)设置 Apply Scene Offsets添加Animation Track:右键 > Animation Track。

选中Animation Track > Inspector窗口> Track Offsets > Apply Scene Offsets:把左侧把绑定GameObject现在的位置作为该Track动画的起始位置。

动图解析如下:

Apply Scene Offsets:Track起点为角色现在的位置

Apply Transform Offsets:Track起点都为第一次位置

2.Clip设置

(1)添加对象与动画片段把角色(带Animator组件)拖进Track左侧对象框,以后可以用脚本赋值。

把需要播放的动画片段拖进Track右侧。(自行发挥想象选择的两三个动作组成连续动画)

(2)调节Clip

①调节片段长度:鼠标拖动Clip左右两端。如果动画片段很长,只需要播放其中一部分,那么就可以用这个操作“剪”出个小短片。

②调节每个Clip的开播时机与混合:直接拖动Clip,重叠部分会自动混合(Inspector面板可调混合曲线)。

选中Clip,Inspector窗口中部分属性作用(按需调节):Speed Multipliter:播放倍速,1为正常速度。

Animation Extrapolation:Pre和Post分别代表Clip播放前后的操作,一般默认Hold。

Blend Curves:Clip之间重叠部分的混合曲线。

③修正过渡时瞬移:因为角色在每个Clip开始时的位置可能不一样,所以从上一个Clip过渡到下一个Clip时很容易发生角色瞬移的情况:

右键需要调节的Clip :>Match Offsets To Pervious Clips:往上一个Clip对齐

>Match Offsets To Next Clip:往下一个Clip对齐

还能通过Inspector面板中的Clip Transform Offsets微调:

进行到这里,主角Animation Track的动作连招调节就完成了(划重点:以上就是本篇文章最核心的知识)。

3.利用Override Track 和 Mask“组合”动画

敌人需要一个被击退的动画,而手上并没有对应的资源,这个时候就可以利用Mask来完成。通过用Mask遮挡后退动画的上半身,取其下半身动画覆盖到被攻击的动画上:

受击(上半身)+后退(下半身)=> 击退

①添加并设置Override Track右键Animation Track > Add Override Track。

Animation Track 放被覆盖动画Clip(受击动画)。

Override Track放覆盖的动画Clip(后退动画)。

②Asset文件夹中右键 > Create > Avatar Mask,创建遮罩。双击Mask > Inspector窗口进行设置。

Humanoid类型的骨骼可以直接点击图来进行设置,红色表示不应用该部分动画。

③打开Override Track的Inspector窗口,勾选Apply Avatar Mask,把设置好的Mask拖进Avatar Mask框内。

敌人的击退动作也做好了,那么剩下就是调节击退的位移,留待下篇再讲。

结语:这篇简单地介绍了Timeline的部分界面和基础操作,并且通过设置Animation Track,实现了主角的的动作播放。部分内容是踩坑经验所得,如果有任何问题欢迎一起讨论。

咱们的游戏开发交流群也欢迎强势插入:869551769

希望参与线下游戏开发学习的,欢~~~~~~迎访问:http://www.levelpp.com/

你可能感兴趣的:(animation,unity,速度)