728x90
< MonoBehaviour 클래스 >
- Unity에서 주로 사용하는 클래스 중 하나
- 게임 오브젝트에 부착된 스크립트의 동작을 제어
- 이 클래스에는 게임 오브젝트의 생명 주기와 관련된 라이프사이클 메서드가 포함되어 있다.
- 이 메서드들은 Unity 엔진에 의해 자동으로 호출된다.
< 각각의 역할과 호출 순서 >
1. Awake(): 게임 오브젝트가 인스턴스화되면 가장 먼저 호출되는 메서드
- 스크립트가 시작되기 전에 실행되기 때문에 다른 모든 라이프사이클 메서드보다 먼저 호출된다.
- 게임 오브젝트에 필요한 초기화를 수행한다.
2. OnEnable(): 게임 오브젝트가 활성화될 때 호출
- Awake() 이후에 호출되며, 스크립트가 비활성화된 후에 다시 활성화될 때마다 호출된다.
- 스크립트가 활성화되어 있을 때 수행해야 하는 작업을 수행한다.
3. Start(): 게임 오브젝트가 활성화된 후, Update() 메서드가 호출되기 전에 한 번 호출
- 스크립트가 초기화된 후 필요한 작업을 수행한다.
4. FixedUpdate(): 물리 업데이트 시간 간격마다 호출
- 물리 엔진에 의해 호출되며, 일정한 시간 간격으로 실행된다.
- 주로 물리 연산을 수행한다.
5. Update(): 매 프레임마다 호출
- 게임 로직을 수행한다.
- 일반적으로 게임 오브젝트의 위치, 회전, 크기 등을 조정한다.
6. LateUpdate(): Update() 메서드가 실행된 후 호출
- Update() 메서드 이후에 실행되므로, Update() 메서드에서 수행한 변경 작업이 적용된 후에 실행된다.
- 주로 카메라의 위치나 오브젝트의 위치를 조정하는 데 사용된다.
7. OnDisable(): 게임 오브젝트가 비활성화될 때 호출
- 해당 스크립트가 비활성화될 때 수행해야 하는 작업을 수행한다.
8. OnDestroy(): 게임 오브젝트가 파괴될 때 호출
🚨 주의할 점
- MonoBehaviour 클래스의 라이프사이클 메서드는 스크립트 인스턴스마다 따로 호출된다.
- 즉, 다른 스크립트나 오브젝트의 영향을 받지 않고 자신의 인스턴스에 대해서만 호출된다.
728x90
'Game > C#' 카테고리의 다른 글
[C#] [SerializeField] (0) | 2022.01.25 |
---|---|
[C#] 이벤트 함수의 호출 순서 (0) | 2022.01.18 |
[C#] 유니티 주요 이벤트 함수 (0) | 2022.01.18 |
댓글