실행하면 사전에 지정한 순서대로 이벤트 함수가 호출된다.
라이프 사이클은 렌더링 파이프만큼이나 세세한 부분이 많지만 자세하고 어려운 내용은 빼고 비교적 쉬운 부분부터 적어본다.
생명주기는 큰 덩어리로 나눌 수 있다.
초기화 -> 물리 연산 -> 게임 로직 -> 해체
객체 생성 시에 제일 먼저, 한 번만 호출된다.
게임 오브젝트가(게임이) 시작하고나서 비활성화 돼있으면 호출되지 않으며, 활성화 시에 호출된다.
->스크립트당 한 번만 호출된다.
오브젝트 활성화 직후에 바로 호출된다.
오브젝트를 비활성화 하고 다시 활성화하면 OnEnable 함수가 호출된다.
->오브젝트 활성화마다 호출된다.
위에 두 함수 후에 호출되며 오브젝트의 활성화 후에 한 번만 호출되며, 그 후에는 비활성화와 활성화 여부에 상관 없이 호출되지 않는다.
->스크립트당 한 번만 호출된다.
강체(RigidBody)가 있는 오브젝트에 대한 계산을 해준다.
일정한 시간마다 호출이 되기 때문에 Update보다 적게 혹은 많이 호출될 수도 있다.
프레임이 낮으면 프레임당 여러번 호출 될 수도 있다.
주요 로직을 Update에 구현해놓는다.
프레임당 한 번 호출된다.
물리 효과 없는 움직임. 키의 입력 등을 처리한다.
Update가 끝난 후에 프레임당 한 번 호출된다.
LateUpdate는 보통 3인칭 카메라에 사용된다.
Update에서 오브젝트의 움직임 계산을 완료한 후에 LateUpdate에서 카메라의 움직임과 로테이션을 계산한다.
OnEnable 함수와 반대로 객체가 비활성화 되거나 비활성화 상태일 때 호출된다.
스크립트당 여러 번 호출될 수 있다.
오브젝트의 마지막 프레임의 업데이트를 마친 후에 호출된다.
객체의 소멸 요청이나 씬의 종료 시에 호출된다.
스크립트당 한 번만 호출된다.