유니티 생명주기 (Life Cycle)

최장범·2023년 10월 12일
0

TIL

목록 보기
42/50

생명주기란?

  • 유니티에서 객체가 생성되고 활성화되며, 업데이트 되고, 종료되는 과정을 뜻합니다.
  • 유니티에서 사용자가 호출하지 않아도 호출되는 함수들이 있고 그 호출 주기를 생명주기, LifeCylce이라고 합니다.
  • 여러 이벤트 메서드가 존재합니다.

Awake

  • 스크립트가 실행될때 한번만 호출됨. Start전에 호출됨.오브젝트가 비활성화 상태에서도 호출이 됨.

OnEnable

  • 오브젝트가 비활성화 된후에 다시 활성화될때마다 호출됨. 인스펙터뷰에서 박스를 체크하는것으로 제어함.

Start

  • 함수가 호출되기전에 한번만 호출됨.Awake와 다르게 오브젝트가 활성화 되어있어야만 호출이 됨. 모든 Awake가 실행된 이후에 실행이 됨.

FixedUpdate

  • rigidbody같은 물리연산을 다룰때 사용됨. 모든 물리 계산 및 업데이트는 FixedUpdate 후에 발생합니다. Time.deltaTime을 사용하지 않아도 됩니다. 프레임 상관없이 신뢰가 가능한 호출입니다.

OnTrigger

  • 물리적 상호작용 처리에 사용. Collider에 트리거 모드가 설정되어있을때만 호출됨. 물리적 반응이 아니라 단순 감지

OnCollision

  • 물리적 충돌 처리에 사용. Collider가 트리거 모드로 설정되어있지 않아야 호출 됨. rigidbody로 접촉이 일어날때 호출됩니다.

Update

  • 매 프레임마다 호출됨.그만큼 많은 작업을 처리하지 않게끔 해야함. 오브젝트 및 스크립트가 활성화 되어있어야 함.

LateUpdate

  • 후처리. 모든 Update 함수가 실행되고 나서 호출. 주로 Update에서 플레이어가 움직이고 LateUpdate에서 카메라를 이동 하는 용도로 사용.

OnDisable

  • 오브젝트 및 스크립트가 비활성화 될때 호출.

OnDestroy

  • 오브젝트 및 스크립트가 destory()메서드에 의해 제거되기 직전에 호출. 오브젝트의 파괴에 사용됩니다.

OnApplicationQuit

  • 프로그램 종료 전에 모든 오브젝트에서 호출.

한 줄 생각

  • 유니티에 대해서 더 이해하면 할수록 더 좋은 작업물을 만들어낼 수 있다. 공부를 게을리 하지 말자.

0개의 댓글