본문 바로가기
게임개발/게임 클라이언트 프로그래밍

Time.deltaTime

by pudding81 2024. 1. 28.

 `Time.deltaTime`은 이전 프레임과 현재 프레임 사이의 시간을 초 단위로 나타냅니다.

이 값을 이동이나 회전 같은 변화에 적용함으로써, 높은 프레임 속도에서 실행되든 낮은 프레임 속도에서 실행되든, 물체는 실제 시간에 기반하여 일관된 속도로 움직입니다.

예를 들어, 어떤 물체를 초당 5미터로 이동시키고 싶다면, 이동 코드는 다음과 같이 작성됩니다:

float speed = 5f;

transform.Translate(Vector3.forward * speed * Time.deltaTime);

여기서 `Time.deltaTime`을 곱함으로써, 물체는 프레임 속도와 상관없이 항상 초당 5미터를 이동하게 됩니다. 

using UnityEngine;

public class App : MonoBehaviour
{
    [SerializeField]
    private GameObject playerGo;
    
    [SerializeField]
    private float speed = 1;

    private void Update()
    {
        //방향 * 속도 * 시간 
        playerGo.transform.Translate(Vector3.right * speed * Time.deltaTime);
    }
}

 

https://docs.unity3d.com/kr/2022.3/Manual/TimeFrameManagement.html

 

중요 클래스 - Time - Unity 매뉴얼

Unity의 Time 클래스가 제공하는 중요한 기본 프로퍼티를 사용하여 프로젝트에서 시간과 관련된 값으로 작업할 수 있습니다.

docs.unity3d.com

 

'게임개발 > 게임 클라이언트 프로그래밍' 카테고리의 다른 글

표창 던지기  (1) 2024.01.28
SwipeCar  (0) 2024.01.28
룰렛 만들기 GetMouseButtonDown  (1) 2024.01.28
벡터의 연산 : 게임오브젝트 이동  (1) 2024.01.28
벡터 연산의 이해  (0) 2024.01.25