Unity Animancer 插件,官方实例学习笔记01

Animanncer官方文档地址:https://kybernetik.com.au/animancer/
Animancer官方文档-示例地址:https://kybernetik.com.au/animancer/docs/examples/
建议要学的就去官网文档跟着做一遍。
这篇文章用于保存我自己跟着官方示例学习所记录的注释
也可以当参考看
总的来说:
1、准备好需要的动画Clip
2、给要播放动画的GameObj添加Animator组件、AnimancerComponent组件
3、编写控制脚本

Quick Play

首先,要用 Animancer 插件播放动画,需要在物体上挂载 Animator组件、AnimancerComponent组件

在上图可以看到 Animator组件 中的 Controller 一栏是空的,我们不需要它。
Animancer组件 中的 Animator一栏记得分配

效果:

Tips:在默认情况下 Animancer 播放完动画后不会自动重新播放(即播放一次后停止,就算Plye方法放在Update里也一样),除非 动画Clip 勾选了 LoopTime 。这里示例的待机动画Clip勾选了 LoopTime 所以它会在只调用一次 Play 后一直播放下去

Basic Movement




Tips:待机动画Clip和走路动画Clip要勾选LoopTime

Basic Action
现在我们要实现角色在单击鼠标后播放动画(开枪),并在播放结束后回到待机动画
这个时候的效果

我们需要让角色播放完这个动画后回到待机动画,要实现这个
我们要获取 Play 方法返回的 AnimancerState
AnimancerState 允许你获取和设置目标动画所有的播放详细信息

传送门:https://kybernetik.com.au/animancer/docs/manual/playing/states
在这里我们只使用 End Event

关于Animancer的Event system解释请去官方文档翻阅(我也没弄明白多少,不敢讲:))
现在我们如果在播放射击动画的时候再一次或多次按下鼠标键,射击动画并不会被打断重新开始,因为当调用 Play方法 时 Animancer 不会自动地重新开始动画
如果我们想让动画在调用 Play方法 时能重新开始播放,在这里就是类似快速开火的效果
我们只需要设置 动画state 的 Time 值为 0 就可以了:
播放动画的时候如果检测到 动画state 的 Time值 为0,那么动画会被重头播放:

