반응형
유니티 이벤트 실행 원리
컴포넌트의 이벤트 함수가 특정 순서나 조건에 따라 실행됨
Unity에서 Start() 실행을 명령하는 경우 모든 오브젝트에서 포함하는 컴포넌트 스크립트의 Start()가 실행됨
Debug.Log로 Unity 콘솔 로깅 가능
이벤트 함수 종류
- 초기화를 위한 이벤트 함수 : Awake(), Start(), OnEnable()
- 업데이트를 위한 이벤트 함수 : Update(), LateUpdate(), FixedUpdate()
- 오브젝트 파괴를 위한 이벤트 함수 : OnDestroy()
- 종료를 위한 이벤트 함수 : OnApplicationQuit(), OnDisable()
- Awake
- 현재 씬에서 게임오브젝트가 활성화 되어 있을 때 1회 호출
- 컴포넌트가 비활성화 상태여도 게임오브젝트가 활성화 되어있으면 호출됨
- 데이터 초기화 용도로 사용
- Start
- 현재 씬에서 게임오브젝트와 컴포넌트가 모두 활성화 되어 있을 때 1회 호출
- 순서 ; Awake -> OnEnable -> Start
- OnEnable
- 컴포넌트가 비활성화 되었다가 활성화 될때마다 1회 호출
- Update
- 컴포넌트가 활성화 되어있을 때 매 프레임마다 호출
- FPS60 -> 1초 동안 60번 호출
- LateUpdate
- 씬에 존재하는 모든 게임 오브젝트의 Update 함수가 1회 호출된 이후에 실행
- ex) 캐릭터를 쫓아다니는 카메라 구현 시 캐릭터는 Update를 통해 움직이고 카메라는 LateUpdate를 통해 플레이어 위치 바탕으로 이동
- FixedUpdate
- 프레임의 영향을 받지 않고 일정한 간격으로 호출
- Edit - Project Settings - Time 옵션의 Fixed Timestep 변수로 조절 가능
- 기본 값 0.02 : 0.02초에 1번 (1초에 50번)
- OnDestroy
- 게임 오브젝트가 파괴될 때 1회 호출
- 씬이 변경되거나 게임이 종료될 때 호출 됨
- OnApplicationQuit
- 게임이 종료될 때 1회 호출
- OnDisable
- 컴포넌트가 활성화에서 비활성화 될 때 1회 호출
- OnEnable과 반대
반응형
'Unity' 카테고리의 다른 글
게임오브젝트 물리와 충돌 (0) | 2023.07.23 |
---|---|
게임 오브젝트 이동 (0) | 2023.07.23 |
스크립트 개요 (0) | 2023.07.23 |
게임 오브젝트 Texture 출력 (0) | 2023.07.23 |
Camera & Light (0) | 2023.07.23 |