Megacity

Unity의 ECS 팀과 FPS 샘플 그룹의 아티스트 두 명은 불과 2개월 만에 날아다니는 차량과 수많은 세부적인 게임 오브젝트 및 고유의 오디오 소스로 이루어진 미래적인 도시 풍경을 만들었으며 이를 통해 Unity의 ECS와 버스트 컴파일러의 진행 상황을 소개하였습니다.

유나이트 LA 2018 기조연설

ECS와 버스트 컴파일러는 로스앤젤레스에서 많은 관심을 받았습니다. 유나이트 오스틴에서 발표한 Nordeus 데모를 기반으로, Unity의 게임 코드 및 FPS 샘플 팀은 역동적이고 미래적인 도시 풍경인 Megacity를 만들었습니다. Megacity는 ECS, 네이티브 컬렉션, C# 잡 시스템, 버스트 컴파일러 등 퍼포먼스 바이 디폴트(Performance by Default) 배너 아래에 있는 모든 프로젝트를 지칭하는 데이터 지향 기술 스택(DOTS)을 활용합니다.

6주 만에 만든 유나이트 LA 데모

두 명의 Unity 아티스트는 소규모 외부 팀의 도움을 받아 약 6주 만에 모든 고해상도 에셋을 제작했습니다. 이들은 대량의 게임 오브젝트 세트 작업에 용이한 네스티드 프리팹 및 새로 개발된 몇 가지 기능을 활용했습니다.

Megacity 제작에는 많은 기능이 필요합니다...

Unity는 Megacity 샘플을 제작하기 위해 네스티드 프리팹 및 스크립터블 렌더 파이프라인과 같은 최신 기능과 더불어 씬 편집, 월드 제작, 시네머신, 포스트 프로세싱 스택과 같은 기존의 여러 기능을 비롯한 Unity R&D 전반의 팀과 기술을 활용했으며 2019년에 출시 예정인 개발 단계의 기능도 사용했습니다.

  • 대규모 씬을 위한 워크플로
  • C# 오디오 시스템
  • HLOD 시스템
  • ECS 컬링 시스템
  • 비동기식 씬 스트리밍
  • 비동기식 엔티티 인스턴스화
  • ECS 도구 및 디버깅 기능 향상

메가시티 모바일

Nordeus의 몇몇 개발자가 메가시티(Megacity) 데모를 통해 DOTS와 경량 렌더 파이프라인(LWRP)으로 PC 프로젝트를 모바일 플랫폼으로 원활하게 축소하는 방법을 소개합니다. PC 버전의 그래픽스 복잡도를 유지하면서도 모바일 디바이스에서 매우 빠른 프레임 속도로 실행하는 것이 목표였습니다.

이를 달성하고자 개발자들은 2019.1에서 프리뷰가 종료되는 LWRP를 사용했습니다. 그들은 다음과 같이 말합니다. “PC의 한계를 뛰어넘는 게임을 개발하면서 추후에 모바일로 포팅하기로 결정하면 대개 모바일 플랫폼의 성능 한계로 인해 많은 부분을 재작업해야 합니다. DOTS는 우리가 PC에서 실행하는 게임플레이 로직 및 렌더링과 정확히 동일한 코드를 사용하면서 원활하게 모바일 플랫폼으로 축소할 수 있도록 해주었습니다.”

메가시티 사운드스케이프(실험용)

DSPGraph는 Unity의 C# 잡 시스템에 구축된 새로운 오디오 렌더링/믹싱 엔진입니다. C#에서 완전히 확장 가능하며 버스트 컴파일러와 사용 가능합니다. 메가시티에서 네온사인, 에어컨의 팬 및 자동차 등 풍성하고 현실적인 사운드스케이프를 제공하는 10만 개의 고유하게 분산된 3D/입체 음향 발생기가 DSPGraph를 기반으로 합니다.

DSPGraph는 개선을 거쳐 올해 안에 프리뷰 패키지로 게시 예정인 실험 단계의 내부 API임에 유의하세요. DSPGraph는 향후 출시될 데이터 지향 기술 스택 오디오 시스템의 기반이 됩니다. DSPGraph에 대한 질문이나 제안이 있으시면 공식 DOTS 오디오 포럼 스레드에서 토론에 참여해 보세요.

메가시티에 사운드를 구현하기 위해 구축한 다양한 오디오 시스템을 더 자세히 살펴보기

Megacity 제작

메가시티 데모 시작하기

GDC 2019에서 녹화된 이 세션에서는 유니티 에반젤리스트인 마이크 가이그(Mike Geig) 가 이 프로젝트에 대해 소개하고, Unity의 "퍼포먼스 바이 디폴트"를 활용하여 복잡한 오브젝트와 시뮬레이션으로 가득 찬 방대한 게임 월드를 제작하는 방법을 설명합니다.

유나이트 LA에서 공개된 Megacity: 소개 및 개요

Joachim Ante는 유나이트 LA 2018의 첫 ECS 트랙에서 그와 그의 팀이 지난 6개월간 진행해온 작업을 소개하였습니다.

유나이트 LA에서 공개된 Megacity: ECS 세계의 그래프 기반 오디오

소규모 팀이 2개월도 안 되어 매우 복잡하고 정확도가 높은 도시를 건설했습니다. 이에 대해 Martin Vestergaard가 컨셉, 실물 모형, 문서, 제작, 마무리 단계를 설명합니다.

유나이트 LA에서 공개된 Megacity: ECS 세계의 그래프 기반 오디오

C# 작업 기반 오디오 렌더링 엔진에 대해 알아보세요. 저수준의 오디오 렌더러를 소개하고 대규모 오디오를 데모로 가져오기 위한 ECS 기술을 설명합니다.

유나이트 LA에서 공개된 Megacity: 확장형 LOD 및 컬링 시스템

Mike Acton은 유나이트 LA의 Megacity 스트리밍 데모에서 ECS를 활용하여 대규모 환경을 나타낸 방법을 설명합니다.

유나이트 LA에서 공개된 Megacity: 스플라인 기반 AI 에이전트

데모의 트래픽 시뮬레이션이 컴퓨트 커널 및 버스트 컴파일러에 의해 생성된 코드를 확인하는 방법과 ECS로 스플라인 기반 AI 에이전트를 개발한 방법을 살펴보세요.

유나이트 LA에서 공개된 Megacity: 스트리밍 및 직렬화

디스크에서 엔티티 직렬화, 원활한 플레이 모드 스트리밍 및 효율적인 에디터 워크플로를 구축한 방법과 개별적인 ECS 세계가 제공하는 기능에 대해 알아보세요.

유나이트 LA에서 공개된 Megacity: ECS API의 발전

ECS의 과거와 현재, 그리고 미래에 대해 알아보세요. Unity 데이터 중심 설계 팀의 Aria Bonczek가 이 강력한 API의 발전에 대한 결정 사항을 설명합니다. 

유나이트 LA에서 공개된 Megacity: 엔티티 디버거 사용

엔티티 디버거의 기능에 대한 소개와 Unity의 향후 버전에서 해당 기능의 역할에 대한 논의를 확인하세요.

방대한 게임 월드 제작을 위해 설계된 ECS

Megacity 개발에 있어 Unity의 주요 목표 중 하나는 엔티티 컴포넌트 시스템이 대량의 씬 요소를 스트리밍하는 데 가장 적합한 이유를 보여주는 것이었습니다.

예를 들어 Megacity에는 메시 렌더러 450만 개, 동적 차량 5천 대, 고유 건물 오브젝트 20만 개가 있습니다. 차량은 스플라인 기반의 차선을 따라 절대 충돌하지 않고 날아다니며 네온 사인, 에어컨 팬, 차량 등 고유의 오디오 소스 10만 개가 풍부하고 현실적인 오디오 환경을 만들어 냅니다.

Megacity 지금 이용 가능

Megacity 샘플 프로젝트를 다운로드하여 전체 소스 파일 및 에셋에 액세스하세요. 

Megacity는Unity 2019.1.0 베타 7에서 작동합니다.

포럼에 참여하여 최신 소식을 받거나 ECS를 시작하는 방법을 알아보세요.

유니티에서는 최적의 웹사이트 환경을 제공하기 위해 쿠키를 사용합니다. 자세한 내용은 쿠키 정책 페이지를 참조하세요.

확인