본문 바로가기

Study/Unity

Unity 이벤트 함수

초기화를 위한 이벤트 함수

Awake() 

  • 게임 오브젝트가 활성화되었을 때 1회 호출
  • 컴포넌트가 비활성화 상태여도 게임 오브젝트가 활성화 되어 있으면 호출
  • 데이터를 초기화 하는 용도

Start()

  • 현재 씬에서 게임 오브젝트와 컴포넌트가 모두 활성화 되어 있을 때 1회 호출
  • 데이터를 초기화 하는 용도
  • 첫번째 업데이트 함수가 실행되기 직전 호출
  • 초기화 함수 호출 순서 Awake() -> OnEnable() -> Start()

OnEnable()

  • 컴포넌트가 비활성화 되었다가 활성화 될 때마다 1회 호출

 

 

업데이트를 위한 이벤트 함수

Update()

  • 현재 씬이 실행된 후 컴포넌트가 활성화 되어 있을 때, 매 프레임마다 호출(FPS 60이라고 하면 Update() 함수가 1초에 60번 호출된다는 뜻)

LateUpdate()

  • 현재 씬에 존재하는 모든 게임 오브젝트의 Update() 함수가 1회 실행된 후 실행된다
  • 업데이트 함수 호출 순서 : Update() -> LateUpdate()
  • 예를 들어 플레이어 캐릭터, 카메라와 같이 서로 다른 오브젝트가 존재할 때 플레이어 캐릭터를 쫓아다니는 카메라를 구현한다면 플레이어 캐릭터를 Update()를 이용해 움직이고 난 후, 카메라는 LateUpdate()에서 플레이어의 위치를 바탕으로 이동한다

FixedUpdate()

  • 프레임의 영향을 받지 않고 일정한 간격으로 호출
  • Edit -> Project Settings -> Time 옵션의 Fixed Timestep 변수로 조절 가능(기본값 0.02로 0.02초에 1번 호출됨, 1초에 50번 호출)

 

 

오브젝트 파괴를 위한 이벤트 함수

OnDestroy()

  • 게임 오브젝트가 파괴될 때 1회 호출
  • 씬이 변경되거나 게임이 종료될 때도 오브젝트가 파괴되기 때문에 호출된다

 

 

종료를 위한 이벤트 함수

OnApplicationQuit()

  • 게임이 종료될 때 1회 호출
  • 유니티 에디터에서는 플레이 모드를 중지할 때 호출

OnDisable()

  • 컴포넌트가 활성화 되었다가 비활성화 될 때 마다 1회 호출 (OnEnable과 반대)

 

'Study > Unity' 카테고리의 다른 글

Unity Collision2D  (0) 2021.07.15
[Unity Component] Rigidbody2D Collider2D  (0) 2021.07.14
Unity Time.deltaTime  (0) 2021.07.14
Unity Scene View 화면 조작법  (0) 2021.07.13
Unity View 단축키  (0) 2021.07.13