虚幻4c++演员运动

Unreal 4 C++ Actor Movement

本文关键字:运动 4c++ 虚幻      更新时间:2023-10-16

我有演员运动的数据,这是在游戏开始时从文件中读取的。读取的数据包含Actor应该移动到的Vector位置。我现在让Actor从一个位置移动到另一个位置,没有问题……直到我开始将动画添加到附着在演员上的骨骼网格。

我的问题是:我怎样才能找到速度来计算哪个动画播放空闲,散步,慢跑和跑步?它目前没有速度,因为它正在移动位置:

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

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

我应该把我的演员移动到角色,这样我就可以使用AddMovementInput来获得速度。然后,如果我沿着那条路走,我怎么说:

将角色从当前位置移动到X点的下一个位置,使角色在动画选择中使用正确的速度

你能标准化两个向量长度(GetWorldLocation)之间的差异,并使用abs(浮点)结果作为X变量放入1D混合空间,在你的动画BP中做空闲、散步、慢跑、跑步吗?此外,一定要考虑到一个"接受半径",否则一旦它到达了一个位置,它就不会完全得到它,并继续快速转弯。

不知道你为什么要从一个向量跳到另一个向量。我个人会使用(MoveToActor或MoveToLocation):

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

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