2019.4 LTS 기준으로 설명한다.
Unity의 기본적인 틀은 거의 바뀌지 않기에 맞다고봐도 무방하다.
원하면 위의 영상을 참고해도 좋다.
Update()
Update는 처음 C# 생성될 때 만들어진 주석의 설명 그대로다.
Update is called every frame, if the MonoBehaviour is enabled.
매 프레임마다 호출된다.
**MonoBehaviour는 C# 스크립트라면, Unity를 사용한다면 무조건 같이 포함된 Class라고 배웠다.
나중에 더 알아보자
Update is the most commonly used function to implement any kind of game script.
-> script를 읽어들이는 주기라고 생각하자.
Not every MonoBehaviour script needs Update.
만약 Update 주기를 시간으로 알고싶다?
Time.deltaTime 을 써보자.
FixedUpdate()
뭔가 달라졌다. fixed가 추가되었다.
그 뜻은 역할도 달라졌단 소리다.
fixed는 고정된이란 뜻이다. 그럼 고정된 업데이트란 뜻인가??
맞다.
Update는 매 프레임마다 계산된다고 했다.
즉, 프레임이 달라지면..즉, Processing Time이 길어지면..? regularly 하지 못하다.
그것을 해결하는 것이 바로 FixedUpdate()이다.
Frame-rate independent "MonoBehaviour.FixedUpdate" message for physics calculations.
프레임과는 독립적으로 신뢰할 수 있는 타이머에서 호출하므로 같은 시간 간격으로 호출가능하다.
다시 말해서 regularly 하다.
(intervals are consistent)
또한 FixedUpdate()가 호출되면, 어느 물리적인 오브젝트라도 그에 대한 계산이 끝난다.
(called every physics step)
즉, scripting physics를 하게 된다면 FixedUpdate()에서 Force, Movement에 관해 잘 적용될 수 있다.
(adjusting physics objects)
LateUpdate()
똑같다. 매 프레임마다 호출된다.
Update() 후 프레임마다 한 번씩 호출되는 것이 좀 다르다.
(LateUpdate is called after all Update functions have been called.)
카메라 위치 조정 때 쓰인다고 한다.
(For example a follow camera should always be implemented in LateUpdate because it tracks objects that might have moved inside Update.)
FixedUpdate() 은근히 많이 쓰인다가 아니라 정말 많이 쓰인다.
'Game Development, 게임개발 > 개발' 카테고리의 다른 글
Prefab,프리팹을 이용해서 Random Spawn, 랜덤 생성해보기 [Unity] (0) | 2021.02.25 |
---|---|
Prefab(ricate), 프리팹이란? [Unity] (2) | 2021.02.25 |
GameObject 움직이는 여러가지 방법 [Unity] (0) | 2021.02.24 |
GameObject 자연스럽게 회전시키기 [Unity 3D] (0) | 2021.02.23 |
GameObject를 입력받아서 방향대로 움직이기 [Unity 3D] (0) | 2021.02.23 |