본문 바로가기
유니티

[유니티] 생명주기 순서대로 주요함수 기능설명

by 몽실이 2021. 3. 16.
에디터

0. [Reset()]

인스펙터 뷰에서 Reset 클릭 시 호출 

스크립트의 프로퍼티를 초기화하기 위해 사용

 

첫 번째 씬 로드 시

1. [Awake()]

스크립트상 가장 먼저 실행되는 함수

프리펩이 인스턴스화된 직후에 호출 

 

ps. 에디터 상에서 스크립트 실행순서를 설정하여 오브젝트간에 호출 순서 설정 가능

(Edit > Project Settings > Script Execution order 에서 스크립트 우선 순위 설정 가능)

 

2. [OnEnable()]

오브젝트가 활성화 직후 이 함수를 호출

유니티 실행시 이미 활성화가 되어있다면 Awake 다음으로 호출

SetAtctive(true)같은 오브젝트 활성화 할떄마다 반복 실행

 

 

첫 번째 프레임 업데이트 전

3. [Start()]

첫 번째 프레임 업데이트 전에 호출

 

 

업데이트 순서

4. [FixedUpdate()]

프레임 속도와 상관없이 지정된 일정간격마다 호출되는 함수(기본 0.02초로 변경가능)

주로 컴퓨터 사양과 관계없이 일정하게 적용되야하는 물리기능 등을 적용할떄 사용

지정된 일정속도보다 프레임이 느리다면 한번에 여러번 호출되기도 함

 

5. [OnTriggerXXX]

Enter(처음 충돌 일어날때) , Stay(충돌하는 동안 1프레임마다 호출), Exit(충돌 벗어날 떄)

두 오브젝트의 총돌확인을 위한 함수

물리작용 없이 그냥 통과함

 

ps. 추후 사용법 따로 정리

콜라이더 컴포넌트가 있어야하며 Is Trigger 가 체크되어있고 한 개는 리지드바디 컴포넌트를 가지고 있어야함

 

6. [OnCollisionXXX]

Enter(처음 충돌 일어날때) , Stay(충돌하는 동안 1프레임마다 호출), Exit(충돌 벗어날 떄)

OnTriggerXXX와 같이 두 오브젝트 충돌확인을 위한 함수지만 물리작용을 함

정확히 어디지점이 충돌했는지 알기 좋음

 

ps. 추후 사용법 따로 정리

7. [Update()]

프레임 당 한번 호출되는 함수

프레임 업데이트를 위한 주요 작업 함수

8. [LateUpdate()]

모든 Update 관련 함수가 호출된 후 마지막에 호출되는 함수 

Update에서 수행된 모든 계산은 LateUpdate가 실행될 때 완료

캐릭터 등의 움직임을 Update에서 실행하고 추후 거기에 따른 카메라의 추적같은 작업들을 수행  

 

 

오브젝트 파괴 및 애플리케이션 실행 종료

9. [OnApplicationQuit()]

애플리케이션 종료 전 모든 게임 오브젝트에 대해 호출

에디터상에선 Play 모드를 종료할 때 호출

10. [OnDisable()]

OnEnable와 반대개념

오브젝트 비활성화 시 호출되는 함수

11. [OnDestroy()]

오브젝트 파괴 시 마지막 프레임에 대해 모든 프레임 업데이트를 마친 후 호출되는 함수

'유니티' 카테고리의 다른 글

[유니티] 특수 폴더 정리  (0) 2021.03.16
[유니티] 자주 쓰는 Attribute 정리  (0) 2021.02.01