UE4动画蒙太奇位移

UE4蒙太奇位移

我们在使用蒙太奇的时候有时候会遇到一些带有根骨骼动画的蒙太奇,里面的角色是存在位移的。那么此时就可能会出现有一种需求,如何去控制这个位移的距离,让这个蒙太奇最终落下的位置可以自由决定。

需求

最近在做一款回合制游戏,里面的一个技能蒙太奇是带根骨骼位移的。然后我就在想,怎么能让这个角色使用这个蒙太奇的时候,也就是使用这个技能的时候,最终落下的位置是到攻击的对象上面。蒙太奇如下:

在这里插入图片描述

设计

仔细研究了一下,蒙太奇里面的这个根骨骼的位移好像是固定的。不能够在蓝图外更改(只是我个人理解,如果有大佬有别的看法欢迎指正交流)。所以就想着换一种思路。既然我不能改变这个距离,那我干脆移动一下角色位置。例如A要攻击B。A的这个攻击动画根骨骼位移为5米,那我就想办法让A移动到距离B 5米的地方,这样就可以让A这个技能的动画蒙太奇最终落地的位置在B的位置。

蓝图实现

具体实现如下图:
在这里插入图片描述
主要用的结点就是setactorlocation,timeline ,vinterp。主要思路为:记录攻击方A的初始位置,然后获取被攻击方向前一段距离的位置(本蓝图中位262)。然后通过时间轴,在一段时间内使用vinterp结点对两个位置进行插值操作。等解释后A返回初始位置,也是插值操作。该时间采用蒙太奇通知的形式调用,不是本文的重点,不放图了。具体的效果如下:
在这里插入图片描述

图中的血条为一个BUG,不用留意。
图中的蓝图逻辑中的command结构体为本游戏具体框架逻辑,其player2数组可以理解为一个character类的数组。
本文属于一种思路,可能略显粗糙,有其他思路的欢迎交流。

猜你喜欢

转载自blog.csdn.net/weixin_44840850/article/details/124478750