У меня проблема с моим «парящим» автомобилем. Я только хочу, чтобы он двигался, когда он на земле.
Я сталкивался с векторной проекцией, проецируя один вектор на другой вектор.
С этим мое транспортное средство сможет идти вниз по рампам с ускорением, и по наклонным рампам, и по переулкам, изогнутые рампы и т.д.
Тем не менее, это все теория для меня.
Unreal Four Engine не имеет статической функции Vector on Vector в 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);
Моя цель — получить что-то похожее на картинку:
Есть ли в любом случае, я могу заставить свое транспортное средство ускоряться назад и четвертым, отлетая на закат (если его нос указывает на этот угол).
FVector
у вас есть метод для проецирования одного вектора на другой: FVector :: ProjectOnTo
В вашем случае вы бы назвали это так:
FVector UprojectedOnV = U.ProjectOnTo(V);
Других решений пока нет …