我正面临着我的问题" hover"车辆。我只希望它在地面上移动。
我遇到了矢量投影,将一个矢量投射到另一个矢量上。
通过这种方式,我的车辆可以通过加速,坡道,坡道,弯道坡道ETC下坡。
然而,这对我来说都是理论。
虚幻四引擎在API中没有矢量静态函数,或者我错了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);
我的目标是获得如下图所示的内容:
无论如何,我可以让我的车辆加速回到第四,而不是飞向太阳落山(如果它的鼻子指向那个角度)。
答案 0 :(得分:2)
您正在使用的FVector
有一种将一个向量投影到另一个向量上的方法:FVector::ProjectOnTo
在你的情况下你会这样称呼:
FVector UprojectedOnV = U.ProjectOnTo(V);