физика игры — Unreal C ++ Контроллер Ввод: поворот Yaw

Я настраиваю камеру своего игрового персонажа через c ++, и я столкнулся с этим, и хотя он работает, я не понимаю, почему код использует DeltaTime. Что на самом деле делает функция GetDeltaSeconds?

void AWizardCharater::LookX(float Value)
{
AddControllerYawInput(Sensitivity * Value * GetWorld()->GetDeltaSeconds());
}

Вот ссылка на API: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/GameFramework/APawn/AddControllerYawInput/index.html

Спасибо

2

Решение

Использование дельта-времени, умноженного на некоторое значение чувствительности, является стандартным методом, используемым в играх для обеспечения постоянной скорости движения, независимой от частоты кадров.

Рассмотрим следующий код без использования дельта-времени:

AddControllerYawInput(1);

Если бы у вас была частота кадров 10 кадров в секунду, то вы будете делать 10 градусов в секунду. Если частота кадров увеличивается до 100 кадров в секунду, вы будете делать 100 градусов в секунду.

Использование дельта-времени делает движение согласованным независимо от частоты кадров, так как время между кадрами уменьшается с увеличением частоты кадров, замедляя движение.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]