본문 바로가기
알아두면 좋은것들

02.23 (TIL)

by 오랑이귀엽다 2024. 2. 23.
  1. MonoBehaviour 클래스의 주요 메서드

MonoBehaviour는 Unity에서 스크립트 작성을 위한 기본 클래스입니다. 게임 오브젝트에 부착하여 사용하며, 다양한 이벤트에 대응하는 메서드를 제공합니다. 아래는 MonoBehaviour 클래스의 주요 메서드와 그 기능을 간략히 설명합니다:

  • Awake(): 오브젝트 생성 시 최초에 한 번만 호출되며, 초기화 작업에 주로 사용됩니다. 이 시점에서는 모든 게임 오브젝트가 로드되었지만, 아직 게임 플레이가 시작되지 않은 상태입니다.
  • Start(): Awake() 이후에, 첫 번째 프레임 업데이트 전에 호출됩니다. 다른 오브젝트와의 상호작용이 필요한 초기화 작업에 적합합니다.
  • Update(): 매 프레임마다 호출되며, 게임의 주요 로직 처리에 사용됩니다. 사용자 입력 감지, 오브젝트 이동 등이 이루어집니다.
  • FixedUpdate(): 물리 계산이 필요한 작업을 처리하기 위해 일정한 시간 간격으로 호출됩니다. 리지드바디와 같은 물리 컴포넌트를 사용할 때 주로 사용됩니다.
  • LateUpdate(): 모든 Update() 메서드가 호출된 후 실행됩니다. 카메라 이동과 같이 다른 오브젝트의 업데이트를 참조해야 하는 작업에 유용합니다.
  • OnEnable() / OnDisable(): 오브젝트가 활성화되거나 비활성화될 때 호출됩니다. 리스너 등록 및 해제 등의 작업에 사용됩니다.
  • OnDestroy(): 오브젝트가 파괴될 때 호출됩니다. 리소스 정리나 정리 작업에 사용됩니다.

이 외에도 MonoBehaviour 클래스는 OnCollisionEnter, OnTriggerEnter와 같은 다양한 이벤트 처리 메서드를 제공하여, 개발자가 게임 오브젝트의 생명주기와 상호작용을 효율적으로 관리할 수 있게 돕습니다.

  1. 동시 시작 오브젝트 초기화 순서 관리 경험

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