人物模型与动画
效果展示
作业博客 -> 传送门
视频连接 -> 传送门
具体实现
准备工作
-
素材资源
我所使用的模型素材:传送门


从左到右从上到下分别为行走,奔跑,跳跃,后跳,翻滚,下落,(还有一个站立忘记截图)这就是本次使用的所有动画。
-
制作预制体
预制体结构树:

首先创建Player空对象,其子对象为:ybot人物模型,cameraHandle空对象用于控制相机,sensor空对象用于探测地面。
动画器
-
准备工作
在Assert中创建新文件夹Animator->创建动画控制器,命名为PlayerController,
将所使用的动画都拖入人物动画器的Base Layer中。
最后动画器长这个样子:

实现的效果是,按下WASD进行行走和转向,站立不动时按下空格后跳一小步,行走时按下空格向前翻滚,按住SHIFT奔跑,奔跑时按下空格向前跳跃,在空中跳跃完成后下落,下落到地面时翻滚。
然后开始一步一步制作。
-
ground动画混合树
ground是一个Blend Tree,动画混合树,一个动画混合树其实也是一个状态,不过可以由多个动画所组成。
在BaseLayer右键->创建状态->从新的混合树,创建新的动画混合树。
ground由站立,走路,奔跑三个动画组成,将这三个动画拖进来。

修改混合树名字和参数名字,在Motion中新增三个状态,并拖入如图所示的三个动画,并调整阈值。拖动红色标尺能看到动画的渐变。

-
创建过渡与参数控制
右键->创建过渡,将所有状态都连接起来。状态之间的过渡通过参数来控制。
使用的所有参数如下:

forward为Float,用于控制ground混合树中行走奔跑的过渡;
OnGround为Bool,表示模型是否在地面上;
jump为Trigger,用于控制跳跃和后跳;
roll为Trigger,用于控制翻滚;
<
本文详细介绍了在Unity3D中如何制作人物模型的动画,包括行走、奔跑、跳跃等,并展示了如何通过动画控制器、参数控制、状态机实现第三人称视角的交互控制。内容涵盖动画混合树、过渡状态、参数脚本控制等关键步骤。
最低0.47元/天 解锁文章
387

被折叠的 条评论
为什么被折叠?



