본문 바로가기

C

unity Update FixedUpdate

 

 

 

Update

FixedUpdate

 

 

Update 함수는 사용중인 모든 스크립트에서 프레임당 1번씩 호출됩니다. 

그렇기때문에 정기적인 조정이 필요한 모든 것이 Update 함수에서 이루어지죠.

 

 

 

using UnityEngine;
using System.Collections;

public class UpdateAndFixedUpdate : MonoBehaviour
{
    void FixedUpdate ()
    {
        Debug.Log("FixedUpdate time :" + Time.deltaTime);
        //일정한 타임라인따라 호출됨.
        //호출과 호출 사이의 시간이 동일함.
        //fixedUpdate가 호출된 직후 필요한 모든 물리적 계산들이 진행됨.
        //즉, 물리적 오브젝트에 영향을 미치는 요소는 FixedUpdate 함수임.
        
        
        
    }
    
    
    void Update ()
    {
        Debug.Log("Update time :" + Time.deltaTime);
        //각 프레임마다 호출됨
        //Update 함수가 사용되는 상황 : 
        //non-physics 오브젝트가 움직이거나
        //간단한 타이머들, 인풋을 받을때
        
        //Update는 호출과 호출 사이의 시간이 동일하지 않습니다.
        //한 프레임의 처리 시간이 다음 프레임보다 길면 Update 호출 사이의 시간이 달라집니다. 
    }
}

 

 

 

 

위의 스크립트를 유니티 에디터에서 실행해보면

 

이와 같이 콘솔에 출력되는데

FixedUpdate 는 호출 간격 시간이 0.02로 일정한 반면,

Update 는 호출 간격 시간이 0.0174 0.0169 0.0171 등 일정하지 않은 것을 볼 수 있습니다.