C
unity Update FixedUpdate
unix
2023. 5. 10. 11:59
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 등 일정하지 않은 것을 볼 수 있습니다.