숙제
오늘 구현된 함수와 구조를 내 게임 엔진에 적용 시키고 해당 함수를 호출하여 배경이미지, 움직이지 않는 나무나 돌등 환경 요소 게임 오브젝트를 배치 해 보세요.
OnEnter, OnExit
Scene이 로드될때 일반적인 게임은 보통 몬스터나 여러가지 환경요소의 위치를 재배치 해주는 경우가 많다.
그래서 우리도 Scene이 바뀔때 원래 재생중이던 Scene의 OnExit함수를 호출할 것이고
새로운 씬의 OnEnter함수를 호출하여 여러가지 값의 초기화가 씬이 바뀔때마다 배치 가능하게끔
설계 해 줄것이다.
레이어란 무엇인가
레이어는 게임 오브젝트에 할당하여 다른 게임 오브젝트와의 상호 작용 및 가시성을 제어할 수 있는 일종의 범주입니다. 유니티에는 Default, UI, Water와 같이 미리 정의된 레이어 세트가 있지만, 사용자의 필요에 맞게 커스텀 레이어를 생성할 수도 있습니다. 따라서 게임 오브젝트를 여러 레이어에 할당하여 보여줄 오브젝트, 서로 상호작용할 수 있는 오브젝트, 카메라가 표시하지 않을 오브젝트를 설정할 수 있습니다.
그림을 예로들면 이런 형상이다.
그래서 Scene마다 레이어를 가지고 있고 해당 레이어 번호에 맞는 게임오브젝트들을 순서대로 넣어주어 레이어 순서대로 업데이트, 렌더가 가능토록 설계 하였다.
Instantiate
매번 게임 오브젝트를 만들 때마다 new를통해 힙에 할당하고 이런 작업들은 반복하기가 생각보다 귀찮기 때문에 유니티의 Instantiate 함수같은 한번에 오브젝트를 현재씬에 생성해주는 함수를 추가 하였다.
사용법은 다음과 같다.