下面举例讲解利用1D 混合树来设置角色的走路和跑步的混合,以及在走路和跑步的时候向左或向右倾斜转弯。
(1)打开工程AnimationDemo,新建一个场景AniTree,在场景中新建一个Plan,并将unitychan模型拖拽到场景中,如图7-25所示。
图7-25 搭建场景
图7-26 设置Animator 组件属性
(2)在Project视图中点击“Create”→“Animator Controller”命令,更名为“ChanTree”。在Hierarchy 视图中选择unitychan 游戏对象,将动画状态机ChanTree 赋值给该游戏对象的Animator 组件的Controller 属性,如图7-26 所示。
(3)双击ChanTree 动画状态机,在Animator 窗口中,拖拽入WAIT01 等待动画作为默认动作,再拖入WALK00_B后退动作。添加Float类型的参数MoveSpeed和RotateSpeed,并设置WAIT01到WALK00_B的过渡条件为MoveSpeed<-0.1,WALK00_B到WAIT01的过渡条件为MoveSpeed>-0.1,并都取消勾选Has Exit Time。
(4)右击“WAIT01”→“Create new BlendTree in State”,新建一个Blend Tree,重命名“Locomotion”,并设置WAIT01到Locomotion的过渡条件为MoveSpeed>0.1,Locomotion到WAIT01的过渡条件为MoveSpeed<0.1,并都取消勾选Has Exit Time,如图7-27所示。
图7-27 创建动画状态机
(5)双击Locomotion 进入混合树,右击“Blend Tree”→“Add Blend Tree”,新建两个混合树,分别取名Walk和Run,参数选择RotateSpeed,如图7-28和图7-29所示,最后结果如图7-30 所示。
图7-28 设置Walk 混合树的参数
(www.xing528.com)
图7-29 设置Run 混合树参数
图7-30 创建Walk 和Run 混合树
(6)给混合树添加动画,右击“Walk”→“AddMotion”,添加三个动画。点击“Walk”,在属性面板中,将向左走、向前走、向右走三个动作(即WALK00_L、WALK00_F 和WALK00_R动作)拖拽给Motion 属性,如图7-31 所示。同理添加Run 的三个动作,如图7-32 所示。鼠标拖动Locomotion 面板中的MoveSpeed 和RotateSpeed参数,会发现各个动作之间的明暗变化,也可以观察右下角模型的动画变化,如图7-33 所示。混合树结构如图7-34 所示。
图7-31 给Walk 添加动作
图7-32 给Run 添加动作
图7-33 动画预览
图7-34 混合树结构
(7)创建脚本“ChanAniTree”,挂载给unitychan 游戏对象,并将unitychan对象赋值给ani 变量。运行游戏实现通过键盘W、A、S、D 键控制角色的走路、奔跑前进和后退,以及左右旋转动作,具体代码如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。