자신이 코딩테스트를 통해 코딩공부를 하고 있었다면 사실 생명주기에 관하여 크게
관심이 없을 것이다. 하지만 유니티를 통한 프로젝트에선 생명주기가 어떻게 구성되는지
정말 중요하다. 이를 신경쓰지 않고 구현한다면 무수한 Null오류가 당신을 반겨줄 것이다.
그렇기 때문에 오늘은 유니티의 생명주기에 관하여 정리하고자 한다.
유니티의 생명주기란?
유니티에서 처음 스크립트를 생성하면 모두 Monovehaviour 클래스를 상속받고 있다.
이 클래스는 시작과, 업데이트 같은 유용한 이벤트에 대한 연결을 제공하며 일정한 흐름에
따라 자동으로 호출된다. 이러한 과정을 유니티의 생명주기라고 부른다.
생명 주기 흐름
생명 주기 기능 설명
Awake
스크립트가 실행될 때 한번만 호출, Start함수 전에 호출되기 때문에 주로 초기화를 담당한다.
OnEnable
게임오브젝트가 활성화 될 때 호출 된다.
Start
Update가 호출 되기 전 한번만 호출 된다. 모든 Awake 의 실행이 끝나야 실행되며
스크립트가 적용되어 있는 곳이 활성화 상태여야 한다.
FixedUpdate
고정된 프레임 주기로 호출, 물리 엔진 적용 후 일정 시간 힘을 가할 때 사용한다.
OnTrigger
두 오브젝트의 충돌 감지 기능, 물리 연산을 하지 않는다.
OnCollision
두 오브젝트의 충돌 감지 기능, 물리 연산을 하며 두 오브젝트 중 하나가 RigidBody를 가지고 있어야 한다.
Update
매 프레임마다 호출
OnDisable
오브젝트, 스크립트 비활성화 시 호출된다.
OnDestroy
오브젝트의 활성화 마지막 프레임이 업데이트 된 후 실행된다.
OnApplicationQuit
응용 프로그램 종료 전 모든 오브젝트에서 호출된다.
'TIL > Unity' 카테고리의 다른 글
[Unity] 로컬 좌표와 월드 좌표 (0) | 2023.11.24 |
---|---|
[Unity] 유니티의 렌더링 파이프라인 (0) | 2023.11.21 |
[Unity3D] Gizmo로 Ray 확인하기 (1) | 2023.10.19 |
[Unity] 애니메이션 트리거 주의사항 (1) | 2023.10.18 |
[Unity] 유니티 프로젝트 Git ignore 파일 팁 (0) | 2023.10.16 |