1

「ホバー」車両の問題に直面しています。地面にあるときだけ動かしたい。

あるベクトルを別のベクトルに投影するベクトル投影に遭遇しました。

これにより、私の車両は、加速を伴う傾斜路を下り、傾斜路を上り、路地裏、カーブした傾斜路などを通過できるようになります。

ただし、これは私にとってすべての理論です。

Unreal Four Engine には、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 に答える