Я настраиваю камеру своего игрового персонажа через 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
Спасибо
Использование дельта-времени, умноженного на некоторое значение чувствительности, является стандартным методом, используемым в играх для обеспечения постоянной скорости движения, независимой от частоты кадров.
Рассмотрим следующий код без использования дельта-времени:
AddControllerYawInput(1);
Если бы у вас была частота кадров 10 кадров в секунду, то вы будете делать 10 градусов в секунду. Если частота кадров увеличивается до 100 кадров в секунду, вы будете делать 100 градусов в секунду.
Использование дельта-времени делает движение согласованным независимо от частоты кадров, так как время между кадрами уменьшается с увеличением частоты кадров, замедляя движение.
Других решений пока нет …