• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

질문있습니다.

19.06.15 14:26 작성 조회수 115

0

안녕하세요

볼링게임 강의를 보다가 문득 궁금한게 생겨서 질문드립니다.

게임에 스테이지시스템을 만든다고 하면 보통 스테이지 구현은 어떻게 하나요?

예를 들면
스테이지1 -> 2 -> 3... 이렇게 깰때마다 스테이지가 바뀌고
맵도 새롭게 바뀔텐데 이런건 어떤식으로 구현하는지 궁금합니다.

스테이지마다 씬을 만들어서 관리하면
스테이지가 100개 이렇게 넘어가면 씬을 100개 이상 만들어야한다는건데
그건 말이 안되는거 같고 보통 어떻게 하는지 궁금합니다.

참고할만한 자료가 있다면 링크 붙혀주셔도 됩니다.

감사합니다.

답변 1

답변을 작성해보세요.

3

씬을 레벨 갯수만큼 만드는 것은 실제로 유효한 방법입니다.

씬을 전환하지 않고 레벨(스테이지)에 해당하는 게임 오브젝트들만 교체하는 방법도 유효하고요. 경우에 따라 둘을 적절히 섞어 사용합니다.

씬은 가만이 있고, 플레이어 캐릭터를 가만이 둔체, 레벨 아트만 교체하면 리소스가 절약될 것 같지만, 실제로는 씬을 나눔으로서, 두개의 씬이 서로 영향을 주지 않음으로서 전환 과정에서 신경써야할 부분이 적어진다는 이점이 존재하기 때문에 무조건 둘 중에 뭐가 낫다고 말하긴 힘듭니다.

 

스테이지가 많다면, 씬을 스테이지 수 만큼 만드는것보다는 씬을 그대로 두고, 게임 오브젝트만 교체하는 것이 낫겠지만, 스테이지가 적고, 씬 하나하나가 정교하게 디자인되어있다면, 스테이지 수만큼 씬을 만드는 게 맞습니다. 특히 GI 등의 라이팅 정보는 씬 단위로 관리되기 때문에, 씬=맵 하나로 사용하지 않으면 유니티 라이팅 시스템을 사용하여 정교한 라이팅 효과를 구현하기 매우 힘들어집니다.


스테이지 수 만큼 씬을 만들지 않는다면, 스테이지가 넘어감에 따라 씬에 기존 맵 게임 오브젝트를 파괴하고, 맵이 될 새로운 게임 오브젝트를 프리팹 등으로부터 생성합니다. 이 때는 스테이지 수만큼, 맵이될 프리팹이나 레벨 디자인 정보를 담아둘 파일을 생성해둬야 겠죠.

이 때 씬 전환을 하지 않지만, 그만큼 직전에 진행했던 맵의 정보를 제대로 정리하지 않으면, 다음 맵에서 사용할 게임 정보와 이전 맵의 게임 정보가 충돌이 날 수 있습니다.