- MonoBehaviour 클래스의 주요 메서드
MonoBehaviour는 Unity에서 스크립트 작성을 위한 기본 클래스입니다. 게임 오브젝트에 부착하여 사용하며, 다양한 이벤트에 대응하는 메서드를 제공합니다. 아래는 MonoBehaviour 클래스의 주요 메서드와 그 기능을 간략히 설명합니다:
- Awake(): 오브젝트 생성 시 최초에 한 번만 호출되며, 초기화 작업에 주로 사용됩니다. 이 시점에서는 모든 게임 오브젝트가 로드되었지만, 아직 게임 플레이가 시작되지 않은 상태입니다.
- Start(): Awake() 이후에, 첫 번째 프레임 업데이트 전에 호출됩니다. 다른 오브젝트와의 상호작용이 필요한 초기화 작업에 적합합니다.
- Update(): 매 프레임마다 호출되며, 게임의 주요 로직 처리에 사용됩니다. 사용자 입력 감지, 오브젝트 이동 등이 이루어집니다.
- FixedUpdate(): 물리 계산이 필요한 작업을 처리하기 위해 일정한 시간 간격으로 호출됩니다. 리지드바디와 같은 물리 컴포넌트를 사용할 때 주로 사용됩니다.
- LateUpdate(): 모든 Update() 메서드가 호출된 후 실행됩니다. 카메라 이동과 같이 다른 오브젝트의 업데이트를 참조해야 하는 작업에 유용합니다.
- OnEnable() / OnDisable(): 오브젝트가 활성화되거나 비활성화될 때 호출됩니다. 리스너 등록 및 해제 등의 작업에 사용됩니다.
- OnDestroy(): 오브젝트가 파괴될 때 호출됩니다. 리소스 정리나 정리 작업에 사용됩니다.
이 외에도 MonoBehaviour 클래스는 OnCollisionEnter, OnTriggerEnter와 같은 다양한 이벤트 처리 메서드를 제공하여, 개발자가 게임 오브젝트의 생명주기와 상호작용을 효율적으로 관리할 수 있게 돕습니다.
- 동시 시작 오브젝트 초기화 순서 관리 경험
Unity 프로젝트에서 여러 오브젝트가 씬에 존재할 때 초기화 순서를 관리하는 것은 중요한 과제 중 하나입니다. 특히, 일부 오브젝트의 초기화가 다른 오브젝트의 초기화를 전제로 할 때, 이를 제어하지 않으면 실행 순서에 따른 오류가 발생할 수 있습니다.
이를 해결하기 위한 접근 방법 중 하나는 스크립트 실행 순서를 조정하는 것입니다. Unity 에디터에서는 "Edit > Project Settings > Script Execution Order" 메뉴를 통해 스크립트의 실행 순서를 수동으로 조정할 수 있습니다. 이를 통해 특정 스크립트가 다른 스크립트보다 먼저 또는 나중에 실행되도록 설정하여, 초기화 순서를 명시적으로 제어할 수 있습니다.
또 다른 방법으로는, 초기화가 필요한 오브젝트들을 관리하는 매니저 클래스를 두어, 이 매니저 내에서 초기화 순서를 명시적으로 제어하는 방법이 있습니다. 예를 들어, 게임 시작 시 필요한 모든 리소스나 오브젝트의 로드를 담당하는 초기화 매니저 스크립트를 작성하고, 이 스크립트 내에서 각 오브젝트나 리소스의 초기화 순서를 코드로 정의할 수 있습니다.
'알아두면 좋은것들' 카테고리의 다른 글
02.27 (TIL) (0) | 2024.02.27 |
---|---|
02.26 (TIL) (0) | 2024.02.26 |
02.19 (TIL) (0) | 2024.02.19 |
02.15 (TIL) (0) | 2024.02.15 |
02.13 (TIL) (0) | 2024.02.13 |