2016-08-23 4 views
2

Ich setze meine Spiel Charakter Kamera über C++, und ich stieß auf diese, und obwohl es funktioniert, verstehe ich nicht, warum der Code DeltaTime verwendet. Welche Funktion hat GetDeltaSeconds eigentlich?Unreal C++ Controller Eingabe: Yaw Rotation

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

Hier der Schiedsrichter api ist: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/GameFramework/APawn/AddControllerYawInput/index.html

Dank

Antwort

3

Mit Delta-Zeit, von einem gewissen Empfindlichkeitswert multipliziert wird, ist ein Standardverfahren im gesamten Spiel verwendet, um eine konsistente Bewegung Rate zu liefern, unabhängig von Frame .

Betrachten Sie den folgenden Code, ohne Delta-Zeit mit:

AddControllerYawInput(1); 

Wenn Sie eine Bildrate von 10 FPS hatte dann würden Sie 10 Grad pro Sekunde tun. Wenn die Framerate auf 100 FPS erhöht wird, würden Sie 100 Grad pro Sekunde tun.

Die Verwendung der Delta-Zeit macht die Bewegung unabhängig von der Framerate konsistent, da die Zeit zwischen den Frames mit schnellerer Framerate abnimmt und die Bewegung verlangsamt wird.

+0

gut erklärt. Vielen Dank. –