OnDisable라이프 사이클이란?
유니티 엔진에선 저희가 실행하지 않아도 자동으로 실행해주는 함수들이 있는데 이 함수들이 호출되는 주기를 라이프 사이클이라고 합니다.
라이프 사이클
실질적인 라이프 사이클은 이렇지만 이번에는 큰 것들만 순서대로 정리해보도록 하겠습니다!
1) Initialization
- Awake: 스크립트가 실행될 때 한번씩만 호출되며 게임의 상태 또는 변수 초기화로 사용합니다. 오브젝트가 비활성화 상태일 경우 호출되지 않지만 스크립트가 비활성화 상태인 경우엔 호출되고, 코루틴으로 실행할 수 없다는 특징이 있습니다.
- OnEnable: 게임 오브젝트가 비활성화 상태에서 활성화 될때마다 호출됩니다.
- Start: 스크립트가 활성화 될 때 한번만 호출되며 오브젝트나 스크립트가 비활성화 상태일때는 호출되지 않습니다.코루틴으로 실행할 수 있습니다.
2) Physics
- FixedUpdate: 일정한 프레임 주기마다 호출되는 Update입니다. 스크립트가 비활성화 상태일때는 호출되지 않습니다.
- OnTrigger: 오브젝트간 충돌을 체크하는 함수입니다. 물리연산을 하지 않고 통과하게 됩니다.
- OnCollision: 오브젝트간 충돌을 체크하는 함수입니다. 물리연산을 진행하고 리지드바디가 필요합니다.
- Update: 1프레임마다 호출되는 함수로 디바이스의 성능이나 최적화 상태에 따라 함수 호출 시간이 달라집니다. 스크립트가 비활성화 상태일때는 호출되지 않습니다.
- LastUpdate: 모든 Update함수가 호출된 이후 1번씩 호출됩니다. 스크립트가 비활성화 상태일때는 호출되지 않습니다.
1) Decommissioning
- OnApplicationQuit: 응용 프로그램의 종료 전에 모든 오브젝트에서 호출됩니다.
- OnDisable: 오브젝트나 스크립트가 비활성화 될 때마다 호출됩니다. 코루틴으로 실행할 수 없습니다.
- OnDestroy: 오브젝트를 파괴할 때 호출하는 함수로 마지막 프레임 업데이트 이후 호출됩니다.
이번 글에선 이정도로 정리하겠습니다!
라이프 사이클은 기억해두시면 도움이 될 수 있으니 함께 기억하도록 노력해봅시다!
'개발 팁' 카테고리의 다른 글
UGUI에 대해 알아보ㅈㅏ! (0) | 2022.10.13 |
---|---|
유니티에서 명명규칙과 코딩 규칙을 알아보ㅈㅏ! (2) | 2022.10.06 |
깃허브에 유니티 프로젝트를 올려보ㅈㅏ!(깃 설치하기) (0) | 2022.10.04 |