Deff_Dev

[Unity/C#] 유니티 이벤트 함수 본문

Unity(유니티)/유니티 공부

[Unity/C#] 유니티 이벤트 함수

Deff_a 2024. 2. 24. 03:01

해당 글을 보시기 전에 유니티의 생명주기에 대해 잘 모르신다면, 먼저 해당 글을 보시는 것을 권장드립니다.

 

[Unity] 생명주기와 yield return 호출 순서

Unity 생명 주기란 ? 스크립트가 실행될 때 유니티의 이벤트 함수들이 실행되는 순서를 말합니다. 유니티 생명 주기 표 많이 사용 되는 이벤트 함수들의 순서를 적어보면 Awake → OnEnable → Start →

deff-dev.tistory.com

 

Awake

  • 스크립트가 부착된 GameObject가 씬에서 로드될 때, 스크립트 컴포넌트의 활성화 유무에 상관없이 호출된다.
  • 자기 자신의 컴포넌트를 불러올 때(GetComponent) 주로 사용

Start

  • 스크립트가 부착된 GameObject가 씬에서 로드될 때,스크립트 컴포넌트가 활성화 되어 있다면 호출된다.
  • 다른 스크립트의 참조를 불러올 때 주로 사용

호출 순서 : Awake -> Start

 

OnEnable

  • 스크립트 컴포넌트가 활성화 될 때마다 호출된다.
  • Start보다 먼저 호출되는 함수다.  (호출 순서 : OnEnable -> Start )
  • 연속해서 호출될 수 있기 때문에 OnEnable에서 초기화 작업은 하지않는다.
  • 주로 오브젝트 풀링에 사용되는 함수이다. 

Update

  • 매 프레임 마다 호출되는 함수이다.
  • 프레임은 매 초마다 달라지기 때문에 불규칙적으로 실행된다.

FixedUpdate 

  • 고정 단위마다 호출되는 함수이다.
  • Update와 다르게 고정적인 시간마다 작동하기 때문에 규칙적이다.
  • Rigidbody를 조작할 때 사용

LateUpdate

  • Update 함수 호출 뒤에 호출되는 함수이다.
  • 주로 플레이어를 따라다니는 카메라를 구현할 때 많이 사용