人物模型与动画
效果展示
作业博客 -> 传送门
视频连接 -> 传送门
具体实现
准备工作
-
素材资源
我所使用的模型素材:传送门
从左到右从上到下分别为行走,奔跑,跳跃,后跳,翻滚,下落,(还有一个站立忘记截图)这就是本次使用的所有动画。
-
制作预制体
预制体结构树:
首先创建Player空对象,其子对象为:ybot人物模型,cameraHandle空对象用于控制相机,sensor空对象用于探测地面。
动画器
-
准备工作
在Assert中创建新文件夹Animator->创建动画控制器,命名为PlayerController,
将所使用的动画都拖入人物动画器的Base Layer中。
最后动画器长这个样子:
实现的效果是,按下WASD进行行走和转向,站立不动时按下空格后跳一小步,行走时按下空格向前翻滚,按住SHIFT奔跑,奔跑时按下空格向前跳跃,在空中跳跃完成后下落,下落到地面时翻滚。
然后开始一步一步制作。
-
ground动画混合树
ground是一个Blend Tree,动画混合树,一个动画混合树其实也是一个状态,不过可以由多个动画所组成。
在BaseLayer右键->创建状态->从新的混合树,创建新的动画混合树。
ground由站立,走路,奔跑三个动画组成,将这三个动画拖进来。
修改混合树名字和参数名字,在Motion中新增三个状态,并拖入如图所示的三个动画,并调整阈值。拖动红色标尺能看到动画的渐变。
-
创建过渡与参数控制
右键->创建过渡,将所有状态都连接起来。状态之间的过渡通过参数来控制。
使用的所有参数如下:
forward为Float,用于控制ground混合树中行走奔跑的过渡;
OnGround为Bool