动画混合树
1.资源网站介绍
现在,你们可以通过https://www.mixamo.com/获取一些动画和角色资源
2. 混合树介绍
现在,新建一个第三人称项目,并开始混合树相关的课程
2.1 资源的导入
先拖拽模型资源到自己的资源文件夹
默认选项就可以
然后倒入动画资源,此时需要选择绑定的骨骼为自己倒入的模型资源
2.2 建立混合树
选中自己的角色骨骼
2.3 编辑混合树
2.3.1 混合树编辑界面介绍
我们将资源部分的资源放到混合树部分
此时,角色开始按照动态的进行运动
我们现在增加:前移动,后移动,IDle三个动画
我们移动中间的小绿点,我们发现
角色会在前后Idle之间进行动作混合
我们将小绿点沿着上下移动称为:沿AxisY移动
我们将小绿点沿着左右移动,称为:沿着AxisX移动
并且将AxisY,AxisX绑定到设置里面
那么,如果对程序比较敏感的同学就会想是不是可以通过代码控制这个对象的这个轴值,实现动画的控制呢?
如果你这样想,那恭喜你,你已经是一个成熟的码农了
2.4 自定义第三人称的角色
我们可以利用第三人称项目给的基本配置实现自己的第三人称项目的基础资本。
当然,有追求的同学(cong Unity转过来的同学)肯定回想,我偏不,我就是要从blank版本开始
emmm…也不是不行,不过虚幻的核心就是我给你配置好核心资源,你自己去进行逻辑开发。有点像Spring框架,如果你是Java程序员的话,你就会发现虚幻已经帮你做很多事情了,不需要自己亲力亲为,我们应该将有限的经历放在更重要的事情上,比如用户体验,满足好我们的策划上。
当然,如果你有精神洁癖的话,当我没说
(本人也有精神洁癖,相关课程后序有时间的话会进行讨论)
2.4.1 创建角色
给角色一个Mesh
调整角色高度,适配碰撞器
调整角色的高度和朝向,使得角色的forward重合蓝色箭头
2.4.2 创建角色摄像机
自己添加就行,默认的名字,没有改
放到场景中就这个样子
显然,我们的主角还是默认的机器人,这样不好
修改下GameMode(看前面的章节)
将原本第三人称的MouseInput和MoveMentInput cv到Role的蓝图
编译运行,此时,我们会发现
无法进行摄像头朝着上下看的操作
此时,我们需要进行一些简单的配置
SpringArm的配置
Spring Arm是一个Actor组件,然后它的描述如下
简单来讲就是将SpringArm作为杆旋转的Anchor。换句话说,就是我们在做第三人称摄像机的时候,摄像机的移动范围应该是一个圆球,而圆球的球心就是SpringArm
现在我们需要设置的SpringArm的选项是,它的输入应该来自于角色的旋转
关于这个Pawn它可能会自行搜索自己所在的Tree的Pawn,比如这里的Role
然后我们可以固定角色的视角,或者可以不固定角色视角
通过修改:
可以自行尝试
2.5 将混合树绑定给角色
2.6输入控制混合树
2.6.1 动画代理
写过代码的,应该知道斜街两个组件一般会加一个代理,从而避免大规模代码的重构,使得代码复用性更强,所以我们需要一个第三方的代理
2.6.2 混合树绑定给代理
2.6.3 角色绑定代理
此时,角色的动画将会按照代理的逻辑去完成。
2.7 新的蓝图通信方式实现动画控制
对于同一个Tree里面的组件,通信方式更加简单
我们希望通过在代理里面添加两个参数XInput和YInput接收鼠标的输入
则输入可以直接通过角色蓝图中完成
到此结束
有问题的同学可以在下方进行提问,我会及时解答奥