개발/유니티

유니티의 라이프 사이클(Life Cycle)이란?

셩잇님 2023. 3. 7. 12:34
반응형

 

 

MonoBehaviour 클래스는 컴포넌트와 스크립트를 포함할 수 있는 Unity 씬의 오브젝트인 게임 오브젝트의 수명 주기를 관리하기 위한 기능을 제공하는 Unity의 기본 클래스입니다. 다음은 모노비헤이비어의 수명 주기에 대한 개요입니다:

1. 생성(Creation) :
MonoBehaviour 컴포넌트가 포함된 게임 오브젝트가 생성되면 MonoBehaviour의 생성자가 호출됩니다. 이 시점에서 모노비헤이비어는 아직 완전히 초기화되지 않았으므로 다른 게임 오브젝트나 컴포넌트에 액세스하는 데 사용해서는 안 됩니다.

2. 초기화(Initialization) :
MonoBehaviour의 생성자가 호출된 후 Unity 엔진은 Awake 메서드를 호출하여 MonoBehaviour를 초기화합니다. Awake 메서드는 모노비헤이비어가 실행을 시작하기 전에 필요한 데이터나 리소스를 초기화하는 데 사용됩니다. 여기에는 변수 초기화, 다른 오브젝트 또는 컴포넌트에 대한 레퍼런스 설정, 디스크에서 리소스 로드 등이 포함될 수 있습니다.

3. 활성화(Enabling) :
Awake 메서드가 완료되면 Unity 엔진은 OnEnable 메서드를 호출하여 MonoBehaviour가 이제 활성화되고 활성화되었음을 나타냅니다. OnEnable 메서드는 Awake 메서드가 호출된 후 MonoBehaviour가 실행되기 전에 수행해야 하는 모든 설정 또는 초기화를 수행하는 데 사용됩니다. 여기에는 다른 컴포넌트를 활성화 또는 비활성화하거나 이벤트 리스너를 설정하는 것이 포함될 수 있습니다.

4. 시작(Starting) :
모노비헤이비어가 활성화된 후 Unity 엔진은 Start 메서드를 호출하여 모노비헤이비어가 완전히 초기화되고 실행을 시작할 준비가 되었음을 나타냅니다. Start 메서드는 코루틴을 설정하거나 모노비헤이비어의 상태를 초기화하는 등 모노비헤이비어가 활성화된 후에 수행해야 하는 모든 설정 또는 초기화를 수행하는 데 사용됩니다.

5. 업데이트(Update) :
모노비헤이비어가 완전히 초기화되면 Unity 엔진은 매 프레임마다 Update 메서드를 호출하기 시작합니다. Update 메서드는 오브젝트 이동이나 사용자 입력 처리와 같이 매 프레임마다 수행해야 하는 로직이나 계산을 수행하는 데 사용됩니다.

6. 비활성화(Disabling) :
런타임 중에 모노비헤이비어가 비활성화되면 Unity 엔진은 OnDisable 메서드를 호출하여 모노비헤이비어가 더 이상 활성화 또는 비활성화되지 않았음을 나타냅니다. OnDisable 메서드는 코루틴을 취소하거나 진행 중인 작업을 중지하는 등 모노비헤이비어가 비활성화되었을 때 수행해야 하는 모든 정리 또는 종료를 수행하는 데 사용됩니다.

 

7. 소멸(Destruction) :
마지막으로 모노비헤이비어가 파괴되거나 게임 오브젝트에서 제거되면 Unity 엔진은 OnDestroy 메서드를 호출하여 모노비헤이비어가 곧 소멸될 것임을 알립니다. OnDestroy 메서드는 리소스 해제 또는 이벤트 리스너 제거와 같이 모노비헤이비어가 소멸되기 전에 수행해야 하는 정리 또는 종료를 수행하는 데 사용됩니다.

 

생명 주기의 큰 개요는 7가지로 나타나있지만, 보다 자세한 설명은 유니티 공식 문서를 확인하는 것이 가장 좋습니다. 전반적으로 모노비헤이비어의 생명주기는 Unity 씬에서 게임 오브젝트의 상태와 동작을 관리하는 데 중요합니다. MonoBehaviour 클래스의 다양한 메서드를 구현하여 게임 오브젝트의 초기화, 활성화, 업데이트, 비활성화 및 소멸 방법을 제어하고 관련 리소스 및 데이터를 관리할 수 있습니다.

 

 

 

반응형