거의 알고리즘 일기장

2. 유니티 _ 델타 타임 (deltaTime) 본문

유니티

2. 유니티 _ 델타 타임 (deltaTime)

건우권 2020. 5. 2. 00:37

 deltaTime이 왜 필요한가?

 

 만약에 친구랑 카트라이더 게임을 하기로 했다.

 친구의 컴퓨터 fps : 60, 내 컴퓨터 fps : 10  && 친구의 차 기종 == 내 차 기종 && 그외 모든조건동일

 


 왜 속도 차이가 날까?

 필요성 멀티플레이 할때 좋은 컴퓨터와 안 좋은 컴퓨터의 프레임차이 때문에 update함수의 도는 속도가 다르게 작용해서 위와 같은 치명적인 오류가 있을 수 있다.

 


 그렇다면 deltaTime이란?

 위의 문제를 해결하기 위한것.  

 같은 프레임이 적으면 큰 값이고, 프레임이 많으면 작은 값이다. 이를 이용한다면 30fps도 60fps의 컴퓨터도 모두 공평하게 게임을 이용할수 있다.


 Time.deltaTime 사용법

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Move : MonoBehaviour
{
    public void Start()
    {
        
    }
    // Update is called once per frame
    public void Update()
    {
        //키받아서 일정한 속도로 움직이기
        Vector3 vec = new Vector3(
            Input.GetAxisRaw("Horizontal") * Time.deltaTime,
            Input.GetAxisRaw("Vertical") * Time.deltaTime, 0);
        transform.Translate(vec);
    }
}

참고

https://www.youtube.com/user/GoldmetalYT

 

골드메탈

게임 개발 & 그림 그리기 & 게임 플레이 각종 컨텐츠를 방송하는 스트리머 골드메탈 채널입니다. 주 컨텐츠는 게임 개발이며 유니티 엔진을 기반으로 컨텐츠를 진행합니다. - 2019.03.15 구독자 5천명 돌파! 감사합니다. - 2019.12.02 구독자 1만명 돌파! 감사합니다.

www.youtube.com

반응형
Comments