Reset
인스펙터 창에서 리셋을 눌러줄 때 실행된다. 객체가 가지고 있는 속성 값이 제일 먼저 반영
Awake
스크립트가 실행될 때 처음에 한번 호출 된다. 모든 오브젝트가 씬안에서 초기화된 후
호출되기 때문에 GameObject.Find 를 통해 해당 오브젝트를 찾을 수 있다.
Awake함수는 항상 Start 함수 이전에 호출 되므로 초기화 순서를 제어해줄 때 필요하다.
(Coroutine은 사용불가)
OnEnable
오브젝트가 SetActive(True) -인스펙터뷰에서 활성화되었을 때 호출된다.
비활성화 이후 활성화할 때 다시 실행된다.
Start
다른 스크립트의 Awake가 모두 실행된 후 호출된다.
Update
이 이벤트는 씬 안의 모든 활성화된 게임오브젝트의 모든 컴포넌트에 대해 프레임당 한번 씩 Update 이벤트가 불리게 된다.
오브젝트가 SetActive 메소드에 의해 비활성화되면 활성화되기 전까지 Update 이벤트가 호출되지 않는다.
하지만 update 이벤트가 모든 컴포넌트에 대해 매프레임마다 불려지는것이 보장되지는 않는다.
즉 A라는 오브젝트의 Update 함수가 B라는 오브젝트의 Update 함수가 불리기 전에 호출되는지 확인할 방법은 없다.
FixedUpdate
이 이벤트 호출은 고정된 시간 간격을 기반으로 규칙적으로 표준화되어 나타난다. (0.02 초 (1초의 50번)이 디폴트값이다.)
이 함수 호출 이후 필요한 모든 물리 계산이 수행된다.
따라서 Rigidbody의 Addforce와 같은 물리연산의 영향을 받는 것들은 업데이트보다는 이 함수를 호출하는 것이 적합하다.
LateUpdate
Update와 마찬가지로 매 프레임 호출된다. 하지만 LateUpdate는 언제나 Update와 FixedUpdate가 호출된 이후에 호출된다.
현재 프레임에서 모든 오브젝트에 LateUpdate가 호출되었을 때는 이미 Update와 FixedUpdate가 호출되었다는 것을 의미한다.
1인칭 카메라를 구현하는 경우, 현재 프레임에서 항상 오브젝트의 마지막 위치를 따라가도록 움직임을 구현할 때
LateUpdate의 이런 속성을 유용하게 활용할 수 있다.
OnDisable
게임 오브젝트가 SetActive(false)되어 비활성화 되었을 때 호출된다. (Coroutine는 사용할 수 없다.)
OnDestory
오브젝트가 Destroy되어 씬안에서 영영 없어지기전에 마지막 프레임 업데이트가 모두 끈난후 실행된다.
OnApplicationQuit
응용프로그램 종료 전에 모든 오브젝트에서 호출된다.
unity 실체 처리 흐름도 (http://unity-michi.com/post-453/)
'UnityEngine > Editor 시스템' 카테고리의 다른 글
[코루틴] Coroutine (0) | 2018.06.06 |
---|