-
骨骼网格体与动画类对应
-
创建混合空间选小金人骨骼
混合空间的概念:混合空间就是可以将角色多个动画混合在一起 ,我们创建动画类就是创建个”Animation”文件夹 在文件夹内创建混合空间
1D代表只有一个方向 没有1D就是多方向 比如8方向
- 创建完混合空间之后双击进入
我们目前要实现的是一个走和跑的功能 那么创建1d即可
主要用到的关键信息为 资产详情 里面的水平坐标 代表的是速度,
走和跑切换核心就是控制速度切换动画 所以我们需要设定一下名字
和最大速度
在动画方面:
速度为0动画为站立不动
速度为300动画为走路
速度为600动画为跑
那么拖动动作放置在相应位置即可实现从走到跑的切换
到这一步混合空间已经做完 下一步做”动画蓝图”
4.动画蓝图
创建动画蓝图还是选小金人骨骼(这个动画蓝图就是我们角色网格体右侧细节处”动画类”处选择添加的动画蓝图类)
打开蓝图之后 在result参数处拉线 找到”添加新的状态机”
状态机里面可以包含制作相应的动画
进入状态机之后可以看到一个”Entry” 节点按钮 拖出来添加一个状态改名”Run” 这就是跑的动画节点
再双击”run”进去 我们需要给他指定一个动画姿势,这里就需要给他我们前面做的”1d”混合空间,然后可以看到”1d” 上有个speed参数,代表的速度 从前面的逻辑来看需要通过控制速度来切换动画,那么必然不能写死速度,把速度提升为变量传递进来即可,所以就得到以下蓝图节点
暂时到这一步,把人物动画类切换成我们新加的动画蓝图 运行游戏 可以发现待机原地站立状态已经出现,但是走/跑起来还是没有任何效果,这是因为speed参数并没有随着角色运动修改,它一直是默认值0
所以我们需要去获取玩家角色当前的速度
切换进动画蓝图的事件图表中写以下代码
此时 我们已经实现了不同速度不同动画的功能
但是还缺一个shift来切换速度
- 进入角色蓝图事件图表 写以下代码
这里需要先拉出角色移动 不然找不到设置速度的节点 然后在角色移动处把默认的速度修改为300(max walk speed)
现在就可以完全用shift来控制走/跑动画切换了
- 实现 走/跑 切换过渡 更新圆滑自然
但是目前还是不可用 我们需要把他右键折叠到函数
并且把这个函数放到以下位置(放入到角色自带的前后左右移动控制的区域,让他能够同时生效前后左右),同时把变量run默认值设置为300
到目前为止 实现了我们的所有功能