Unity 검색

유나이트 LA에서 유니티는 멀티플레이어 1인칭 슈팅 게임인 FPS 샘플 프로젝트의 첫 릴리스를 발표했습니다. 소스 코드와 에셋을 포함해 전체 프로젝트는 여기에서 다운로드할 수 있습니다.

이 프로젝트를 새로운 게임 개발을 위한 참고 자료로 활용하고, Unity의 최신 기능을 어떻게 적용했는지 살펴볼 수도 있습니다. Unity로 슈팅 기반 게임 메카닉스를 개발하는 다양한 방법 중 한 가지를 이 샘플 프로젝트에서 소개합니다.

원하는 대로 사용 가능

이 프로젝트는 소스 코드, 아트워크 에셋, 사운드 효과를 비롯한 모든 자료를 포함하지만 에셋 스토어 패키지로 제작된 것은 아닙니다. 따라서 원하는 특정 자료만 찾아 선택하여 사용할 수 있습니다.

모든 에셋은 Unity Companion License 라이선스를 통해 제공되므로 전체 프로젝트를 나만의 게임 제작을 위한 프레임워크 또는 시작점으로 활용할 수 있으며 Unity를 기반으로 하는 상업용 프로젝트에도 사용할 수 있습니다. 프로젝트를 스스로 제작해볼 때 이 샘플 게임이 유용한 토대가 되길 바랍니다.

이 첫 번째 릴리스는 PC용으로 출시되었으며, 향후 Mac은 물론 PS4 및 Xbox One에서도 지원될 예정입니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

바닐라 Unity 기반

이 프로젝트는 Unity의 최신 베타 버전에서 실행됩니다(작성 시점 기준 버전: 2018.3b6). 이 프로젝트는 이른바 ‘바닐라 Unity’라고 하는 커스터마이즈되지 않은 Unity에서, 즉 커스텀 빌드 없이 실행하는 것을 핵심 원칙으로 하고 있습니다. 마찬가지로 이 프로젝트에는 에셋 스토어 패키지가 필요 없습니다.

Unity 기술을 한 단계 발전시키는 최적의 조건

현재의 계획은 프로젝트를 최신 버전으로 지속적으로 업데이트하고 최신 기능을 도입하는 것이지만, 프로젝트의 특성상 의견 수렴이 매우 유리하다는 점도 활용하고 있습니다. R&D 부서에 속해 있는 내부 팀에서 최신 기능을 사용하고 있으며, 완전한 프로젝트를 빌드하여 실제 구동 환경을 시뮬레이션하기 때문에 Unity 기술을 발전시키는 최적의 조건을 갖추고 있습니다.

장기적인 전략

이러한 유리한 상황을 통해 새로운 기능뿐 아니라 Unity를 전체적으로 모두 개선할 수 있습니다. 사전 릴리스 버전을 개선하는 과정을 통해 보고되는 모든 버그를 확인하고 검토할 뿐 아니라 보다 종합적인 관점에서 Unity를 개선할 수 있게 됩니다. 프로젝트의 규모가 커지고, 좀 더 복잡해지는 과정에서 확장성을 안정적으로 유지하는 것은 효율적인 워크플로를 위해 매우 중요합니다. 이 문제를 해결하기 위해 팀의 생산성을 지원하는 것 역시 중요합니다.

이 프로젝트는 코펜하겐에서 근무하는 유니티 데모 팀의 전문 게임 개발자 6명만으로 설계되었습니다.

디테일과 효율성

이러한 활동의 결과, 콘텐츠 작업과 관련된 다양한 문제점을 해결하고 있습니다. 성능을 최적화하고 기술 솔루션을 개선하여 원하는 게임 메카닉스를 실현하게 되었습니다. 또한 샘플 팀의 목표 중 하나는 2019년 중에 프리뷰로 HDRP와 같은 새로운 기능을 프로덕션에서 즉시 사용한 가능한 상태로 빠르게 출시할 수 있도록 지원하는 것입니다. 뿐만 아니라 소규모 프로젝트에도 집중하고, 향후 개발과 관련하여 R&D 팀에 충분한 정보를 제공하고자 합니다.

지속적인 품질 개선

실제 프로덕션의 시뮬레이션을 통해 샘플 팀이 QA 역할도 수행하므로 품질과 안정성이 향상됩니다. 이미 샘플 팀의 참여를 통해 기능을 최적화하고 개선한 사례가 많이 있습니다.

이 프로젝트에는 완벽하게 구성된 레벨과 완벽하게 리깅된 두 개의 캐릭터 클래스가 포함되어 있습니다.

HDRP를 통해 세련된 그래픽 생성

새로운 HDRP는 최신의 물리 기반 렌더링 파이프라인으로, 이미 Adam사자의 서(Book of the Dead)와 같은 멋진 데모를 만드는 데 사용되었습니다. 또한 물리 기반 렌더러를 사용하여 세련된 표현을 연출할 수도 있습니다. FPS 샘플을 통해 그 방법을 확인할 수 있습니다.

예를 들어 이 프로젝트에서 피하 산란(subsurface scattering)이 어떻게 구현되었는지 살펴볼 수 있습니다. 메인 레벨에 등장하는 식물을 통해 빛이 잎과 같이 반투명한 표면을 투과하는 방식을 어떻게 시뮬레이션했는지 확인할 수 있습니다.

FPS 샘플에서는 HDRP를 사용해 세련된 스타일을 구현합니다.

다른 예로는 빛을 내는 직교 기하(rectilinear geometry)를 정의하는 사각 광원을 비롯한 HDRP의 새로운 조명 기능과 데칼이 있습니다. 또한 직선 형태의 이미션을 구현하는 새로운 선 광원 기능도 있습니다.

FPS 샘플에서 라이트매핑은 베이크된 라이트맵과 라이트 프로브를 제공하고 Unity 에디터를 통해 지속적으로 업데이트되는 Unity의 빠른 경로 추적 기반 라이트매퍼 시스템인 프로그레시브 라이트매퍼(Progressive Lightmapper)를 통해 구현됩니다.

멀티플레이어 슈팅 게임에 최적화된 넷코드 제작

원활하고 공정한 슈팅 게임플레이에 최적화된 넷코드를 제작하는 것은 어려울 수 있습니다. 예를 들어 월드 상태, 즉 게임 월드에서 각 캐릭터가 차지하는 위치를 적절하게 관리하기란 쉽지 않습니다. 해결책은 서버에서 전송된 실제 포지션을 사용하기보다 포지션 간 위치를 보간하는 것입니다. 마찬가지로, 움직임이 느려지는 문제는 플레이어/캐릭터가 서버의 승인 없이 이동할 수 있도록 하는 클라이언트 예측(client-prediction)이라는 기술로 해결할 수 있습니다.

또한 지연 보상 및 권한 부여에 대한 해결책을 마련하고, 비용 효율성을 위해 메모리 사용 공간이 적은 서버와 효과적으로 압축된 게임을 호스팅하고 싶을 수 있습니다.

FPS 샘플에서 이러한 문제에 어떻게 접근했는지 살펴보면 문제를 해결할 수 있는 실마리를 찾을 수 있습니다. 넷코드에는 프리뷰로 출시Unity의 새로운 전송 계층이 포함되어 있으므로 이러한 문제를 해결하는 데 유용한 시작점을 제공합니다.

이 콘텐츠는 Targeting Cookies 카테고리를 수락해야만 동영상을 시청할 수 있도록 허용하는 타사 제공업체에서 호스팅합니다. 이러한 제공업체의 비디오를 보려면 쿠키 환경 설정에서 Targeting Cookies 카테고리를 수락하시기 바랍니다.

2019년 계획

향후 Unity 버전에서도 FPS 샘플을 계속 유지 관리하고 개발할 계획입니다.

향후 업데이트를 통해 프로젝트에 VFX 그래프와 같은 새로운 기능이 도입될 예정이며, 더불어 2019년에는 튜토리얼과 제작 과정을 보여주는 블로그도 시리즈로 공개될 예정입니다.

시작 방법

프로젝트를 다운로드하려면 먼저 Unity 최신 베타 버전이 설치되어 있어야 합니다. 최신 베타 버전은 Unity 허브를 통해서도 다운로드할 수 있습니다. 그런 다음 Github 저장소에서 프로젝트를 다운로드하세요. Unity 포럼과 프로젝트의 readme 파일에서 시작 방법에 관한 지침을 확인할 수 있습니다. 또한 프로젝트의 전반적인 개선 방안에 대한 건의 사항이 있거나 문제가 발생할 경우 Unity 포럼에 의견을 남겨주시기 바랍니다.

2018년 10월 24일 테크놀로지 | 5 분 소요