유니티의 근간이 되는 MonoBehaviour 클래스를 상속 받는 클래스는 초기화해 주는 작업이 필요합니다.
이 초기화 작업을 어느 메서드에서 하는 것이 좋을까요?
Awake(), OnEnable(), Start() 등이 있으며 이 순서대로 메서드가 호출됩니다.
먼저, Awake() 메서드는 씬이 불러들여졌을 때 가장 먼저 호출됩니다.
스크립트 인스턴스가 종료되기까지 단 한번만 호출됩니다.
스크립트간 참조를 설정하기 위해 Awake()를 사용합니다.
OnEnable() 메서드는 게임오브젝트가 활성화 될 때마다 호출될 수 있습니다.
gameObject.SetActive( true ); 로 호출될 수 있습니다.
Start() 메서드는 Update() 메서드가 실행되기 바로 직전에 호출됩니다.
이 세가지 메서드 중 어느 것을 쓸지 헷갈린다면 우선 Start() 메서드를 사용하는 것도 무방합니다.
마지막으로 정리를 하자면 초기화할 때 호출되는 함수는 순서대로 Awake(), OnEnable(), Start()가 있습니다.
'Engine > Unity' 카테고리의 다른 글
프리팹 저장하는 방법 두 가지 (0) | 2022.02.18 |
---|---|
namespace로 많은 클래스를 관리하자 (0) | 2022.02.18 |
리팩토링의 시작, 리네이밍 (0) | 2022.02.18 |
유니티 에디터의 오토 리프레쉬 기능을 꺼보자! (0) | 2022.02.18 |
유니티 싱글턴 패턴 코드 개발자 마다 다 다르죠? (0) | 2022.02.18 |