移动可以基于根运动和非根运动,后者在网络同步上更加容易。商场的高级运动系统是利用一些算法规则调整,是基于非根运动;无缝动作系统(motionmatching)是根据神经网络匹配等方法,也是基于非根运动.
但此处要写的是b站教程展示的基于根运动让运动更加流畅不滑步
在动画蓝图中搭建状态机
通过创建枚举变量表示人物状态,使用混合姿势,根据状态不同展现不同姿势
为站立状态机添加好开始移动,移动中,结束移动的状态
在最终输出姿势前添加一个“惯性化”
为开始移动添加混合空间,两轴分别为开始移动的期望方向(横轴,-180到180)和当前速度(竖轴,1到2),此处不使用自带的移动组件的速度,原因是当不输入移动时,获取的速度永远是0.
为循环移动添加混合空间,也两轴:当前移动期望方向(和上面不同)和当前速度(和上面相同)
为结束移动添加混合空间,要区分最后是左脚还是右键抬起,区分是walk停止还是run停止,横轴为stopfootup(停止时脚的抬起),区间-1到1. 竖轴当前速度(用于区分走停还是跑停)
放入混合空间,记得将开始移动和停止移动的循环关闭,将状态之间的规则的混合逻辑改为惯性化

站立到开始移动的规则为:可以移动(布尔
开始移动到移动循环的规则为:可以移动且剩余时间==0,即开始移动的动画播放结束
循环移动到停止移动的规则为:可以移动+not
停止移动到站立的规则为:剩余时间==0
在类默认值中,根运动模式设置为所有项中的根运动(这样就不仅仅使用蒙太奇中的根运动)
接下来求那些值并传入动画蓝图并处理<

本文探讨了如何在游戏开发中利用根运动和非根运动来实现更流畅的角色移动。教程以B站上的例子为基础,详细介绍了如何在动画蓝图中建立状态机,通过混合姿势和混合空间来处理开始移动、移动中、结束移动的状态,并特别强调了如何处理惯性,以减少滑步现象。此外,还讲解了如何传递和处理相关参数,如移动输入值、人物状态和速度,以确保网络同步和角色运动的平滑性。
最低0.47元/天 解锁文章
6560

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



