위처럼 구현하면 이론상 맞지만 컴퓨터마다 성능이 다르고 뽑을 수 있는 프레임이 다르므로 컴퓨터마다 1초에 회전하는 양이 다르게 되는데 이를 해결하기 위해 RotationSpeed에 DeltaTime을 곱해주면 된다.
언리얼에서 Tick(float DeltaTime)은 매 프레임마다 호출되는데, DeltaTime은 그 프레임이 걸린 시간(초)을 의미한다. 120 FPS → Tick 함수가 초당 120번 호출, DeltaTime ≈ 1/120초 60 FPS → Tick 함수가 초당 60번 호출, DeltaTime ≈ 1/60초 1초에 RotationSpeed만큼 회전하는 액터를 만들고 싶으면 RotationSpeed에 DeltaTime을 곱해서 120(Tick함수 1초에 120번 호출) * RotationSpeed * DeltaTime(1/120) = 1초에 RotationSpeed 만큼 회전 60(Tick함수 1초에 60번 호출) * RotationSpeed * DeltaTime(1/60) = 1초에 RotationSpeed 만큼 회전 따라서, 어떤 속도 값(RotationSpeed)에 DeltaTime을 곱해주면 프레임 수와 상관없이 “1초 동안 RotationSpeed만큼” 움직이게 된다.
그래서 RotationSpeed에 DeltaTime을 곱해주고 한가지 더 해줘야할것이 RotationSpeed가 0이 아닐때 회전이 되도록 해야한다.