虚幻的4 C ++演员运动

时间:2016-08-29 02:43:39

标签: c++ animation unreal-engine4

我有一个演员动作的数据,正在游戏开始时从文件中读取。读入的数据包含Actor应移动到下一个的Vector位置。我目前让演员从一个位置移动到另一个位置没问题...直到我开始将动画添加到附加到Actor的骨架网格物体中。

我的问题:我怎样才能找出速度来计算出哪些动画可以空闲,步行,慢跑和跑步?它现在没有速度,因为我正在推动这个位置:

SetActorLocation(FMath :: Lerp(GetActorLocation(),newPos,0.01));

有关如何根据距离旅行和速度设置正确的动画的想法吗?

我应该将Actors移动移动到Character,这样我就可以使用AddMovementInput获取速度。然后,如果我沿着那条路走下去,我该怎么说:

将此角色从当前位置移动到我在X时间内的下一个位置,为角色提供在动画选择中使用的正确速度。

1 个答案:

答案 0 :(得分:0)

你可以规范化两个矢量长度之间的差异(GetWorldLocation)并使用abs(浮点)结果作为X变量放入1D Blend Space来做空闲,步行,慢跑,在动画BP中运行吗?另外一定要考虑"验收半径"或者一旦它到达目的地,它就不会得到它并且继续快速转动。

不确定为什么你要从Vector转向Vector。我个人会用(MoveToActor或MoveToLocation):

AMyPawn->MoveToActor(AMyActor, 90.f,true,true,false,0,true);

太干净了!还有MoveToLocation,使用BT / BB。