Search
Duplicate

LV08 Scene

숙제

우리의 Application 구조 그림, 메모리, 클래스 관계도 3가지 방법 전부 해서 표현해보기 그리고 내 게임(포트폴리오)에서 사용할 씬 부모 씬Scene 상속 받아서 전부 만들어오기 너무 당연한 얘기지만 해당 구조를 파악 할때 눈으로 코드를 보는 것이 아니라 F10 F11을 이용해서 디버깅으로 파악해야 한다.
Scene
우리게임의 구조는 이런 방식으로 진행될 것이다.
씬 안에는 오브젝트가 포함되어 있습니다.
씬을 사용하여 메인 메뉴, 각각의 레벨 및 기타 여러가지를 만들 수 있습니다.
하나의 씬 파일은 한 레벨로 생각해야 합니다.
각 씬에서는 환경과 장애물, 장식을 배치하고 게임을 세세하게 디자인하고 만듭니다.
Scene은 GameObject들을 가지고 있으며 내부에서
각각의 게임오브젝트들을 Update(), Render()를 시켜주게 된다.
SceneManager
그리고 각각의 씬을 관리하는 SceneManager 클래스가 존재한다. Scene이 여러 개가 있기 떄문에
Scene들을 관리하고 변경하는 등 여러가지 Scene에 관련된 작업을 가능케 만들어주는 클래스이다.
Scene과 Scene을 넘나드는 작업을 할떄 이용되는 클래스라고 생각하면 쉽다.
예를 들으서 로딩이 끝나면 타이틀씬으로 이동하고 게임시작을 누르면 게임 플레이씬으로 이동하고
영화처럼 장면하나를 단위로 게임을 구성해주고 그 장면들을 관리해주는 클래스라고 생각하면 된다.
여러 개의 Scene에서 원하는 씬을 빠르게 탐색해오기 위해 std::map(red black tree)로 관리한다.
Update중인 씬은 동시에 여러개 씬을 전부 update하는게 아니라 현재 화면에 나오는 ActiveScene만 보여주면 되기 때문에 ActiveScene으로 재생중인 씬을 따로 관리한다.