1

我的“悬停”车辆遇到问题。我只希望它在地上时移动。

我遇到了矢量投影,将一个矢量投影到另一个矢量上。

有了这个,我的车辆将能够加速下坡道,上坡道,小巷哎呀,弯曲坡道等。

然而,这对我来说都是理论。

虚幻四引擎API中没有Vector on Vector静态函数,或者我错了FVector

目前,我已经实现了这一点。

FVector test = FVector::VectorPlaneProject(StaticMeshComponent->GetForwardVector(), surfaceImpactNormal);
FVector surfaceForwardDirection = StaticMeshComponent->GetForwardVector() - test;
FVector force = (surfaceForwardDirection* m_forwardAcl) * AxisValue;
force = force * GetWorld()->DeltaTimeSeconds * StaticMeshComponent->GetMass();

StaticMeshComponent->AddForce(force);

我的目标是得到类似图片的东西:

例子

无论如何,我可以让我的车辆向后加速并第四次加速而不会飞入太阳落山(如果它的鼻子指向那个角度)。

4

1 回答 1

2

您正在使用的FVector方法可以将一个向量投影到另一个向量上:FVector::ProjectOnTo

在您的情况下,您可以这样称呼它:

FVector UprojectedOnV = U.ProjectOnTo(V);
于 2016-02-11T12:03:38.657 回答