在学习怪物行为树时,会使用到move to节点驱动角色移动到目标点。但move to节点只改变角色移动组件的速度,且不适用在角色使用根动画驱动位移。
了解AIMove的原理后,发现其作用就是路径追踪查找路径点,加设置速度属性。【UE AIMoveTo节点执行底层逻辑浅析】 https://www.bilibili.com/video/BV1Qh4y1J7YJ/?share_source=copy_web&vd_source=86ed48409796998e4cc20d0d94f46099
虽然直接驱动根动画它不行,但是通过路径点计算运动方向是可以利用的。 有了运动方向,那不就和一般的玩家输入控制角色移动一样了吗?
代码能力有限,所以我只能通过蓝图的方式实现,如果会代码的话重写一个AIMove可能更好。
在动画蓝图中,通过AIControl->获取当前路径点就可以得到AIMoveTo的移动路径点数组,取path1-path0就是预期的移动方向了,把这个方向在和移动组件最大加速度相乘,就相当于移动输入加速度了。 移动输入有了,和玩家角色移动一样,看是否有加速度切换idle和walk,输入的方向控制动画片段的选择,来控制角色移动的方向。

1949

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



