퍼포먼스 바이 디폴트

Unity의 새로운 고성능 멀티스레드 DOTS(데이터 지향 기술 스택)를 통해 최신 멀티코어 프로세서를 최대한 활용하세요. 게임을 더 빠르게 실행하고 코드를 여러 프로젝트에서 더 쉽게 읽고 재사용할 수 있습니다.

Unity의 핵심 기반 재구축

유니티는 고성능 멀티스레드 데이터 지향 기술 스택(DOTS)으로 Unity의 핵심 기반을 재구축하고 있습니다. DOTS를 통해 복잡한 프로그래밍으로 고생할 필요 없이 게임에 최신 멀티코어 프로세서를 완전히 활용할 수 있습니다. DOTS에는 다음과 같은 기능이 포함되어 있습니다.

  • C# 잡 시스템: 멀티스레드 코드를 효율적으로 실행
  • 엔티티 컴포넌트 시스템(ECS): 고성능 코드를 기본적으로 작성
  • 버스트 컴파일러: 고도로 최적화된 네이티브 코드 생성

DOTS의 이러한 기능은 편리한 샌드박스로 제공되므로 프로그래머는 성능을 상당히 향상시키면서 멀티스레드 코드를 작성할 수 있습니다. DOTS는 현재 프리뷰로 제공됩니다.

DOTS의 멀티스레드 시스템을 활용하면 다양한 하드웨어에서 실행할 수 있는 게임을 만들 수 있고, 더 많은 요소와 더 복잡한 시뮬레이션이 있는 풍부한 게임 월드를 구축할 수 있습니다. 뿐만 아니라 플레이어의 모바일 기기가 과열되거나 배터리 수명이 단축되지 않도록 최적화할 수도 있습니다. 객체 지향 설계에서 데이터 지향 설계로 전환하면 코드를 더 쉽게 재사용할 수 있고 다른 작업자도 해당 코드를 더 잘 이해하고 활용할 수 있게 됩니다.

 

C# 잡 시스템

새로운 C# 잡 시스템은 오늘날 컴퓨터의 멀티 코어를 활용합니다. C# 사용자 스크립트에까지 이 접근 방식을 확장하도록 디자인되었으며 사용자가 안전하고, 빠르고, 정교한 코드를 작성하면서 경쟁 상태와 같은 멀티스레딩의 허점을 방지합니다.

멀티 코어 활용

C# 잡 시스템은 네이티브 C++ 잡 시스템을 노출시켜 C# 스크립트가 Unity 내부 컴포넌트와 함께 잡 시스템을 지원하도록 합니다.

안전한 환경

경쟁 상태와 같은 멀티스레딩의 취약점을 방지합니다.

엔티티 컴포넌트 시스템(ECS)

우수한 게임 디자인 접근 방식

ECS는 해결하려는 문제, 즉 게임을 구성하는 데이터와 동작에 중점을 두는 코드 작성 방식입니다.

ECS를 사용하면 디자인상으로 게임 프로그래밍에 대한 우수한 접근 방식일 뿐만 아니라 Unity의 C# 잡 시스템과 버스트 컴파일러를 활용하여 오늘날의 멀티코어 프로세서를 최대한 활용할 수 있는 이상적인 포지션을 차지할 수 있습니다.

ECS를 사용하면 객체 지향 디자인에서 데이터 지향 디자인으로 전환하여 코드를 더욱 간편하게 재사용하고 다른 작업자가 코드를 더욱 간편하게 이해하고 협업할 수 있습니다.

버스트 컴파일러

최적화된 코드

새로운 LLVM 기반 백엔드 컴파일러 기술을 통해 C# 잡을 수행하고 고도로 최적화된 머신 코드를 생성합니다.

모든 플랫폼의 장점 활용

컴파일링하는 플랫폼 고유의 기능에 최적화되었습니다.

수작업 코딩 감소

번거로운 수고 없이 여러 개의 플랫폼에 걸쳐 수작업으로 조정한 어셈블러 코드의 다양한 이점을 얻을 수 있습니다.

메가시티 데모 릴리스

유나이트 로스앤젤레스에서는 메가시티(Megacity) 데모를 시연하여 ECS 기반 및 버스트 컴파일러에 대한 진행 상황을 집중 조명했습니다. 유나이트 오스틴 2017에서 발표된 Nordeus의 데모를 통해 얻은 경험을 토대로, 게임 코드 팀은 FPS 샘플 팀과 협력하여 날아다니는 자동차, 수십 개의 고도로 세밀한 게임 오브젝트, 그리고 고유한 오디오 소스로 생동감 넘치는 미래 지향적인 도시 경관을 제작하여 Unity 2019.1의 DOTS를 통해 가능한 것이 무엇인지 선보였습니다.

실제로 메가시티에는 450만 개의 메시 렌더러, 20만 개의 독특한 빌딩 오브젝트, 10만 개의 고유한 오디오 소스, 스플라인 기반의 차선 위를 날아다니는 5천 대의 동적 차량이 사용되었습니다. Unity의 “퍼포먼스 바이 디폴트”를 활용하여 복잡한 오브젝트와 시뮬레이션으로 가득 찬 풍부한 게임 월드를 제작하는 방법을 알아보세요.

이 프로젝트가 제작된 방법에 관하여 자세히 알아보려면 여기서 다운로드하세요.

 

 

유나이트 오스틴 기술 프레젠테이션

엔티티 컴포넌트 시스템(Entity Component System) 프리뷰 출시의 일환으로 Nordeus와 협업하여 유나이트 오스틴에서 선보인 기술 프레젠테이션을 위한 버전을 공개합니다.

Github에서 프레젠테이션의 요약본을 확인하실 수 있습니다. 이 프레젠테이션에서는 최신 엔티티 컴포넌트 시스템을 활용하는 업데이트 버전을 제공하고 텍스처 기반의 버텍스 애니메이션에 작동하는 셰이더를 사용할 수 있도록 하는 데 초점을 맞췄습니다. 이 버전의 그래픽은 유나이트 오스틴에서 선보인 프레젠테이션과 동일하지 않습니다.

여기에서 Nordeus의 데모 개발 과정을 알아보세요.

 

Tic Toc Games가 모바일 퍼즐 게임에 ECS를 활용한 방법 알아보기

Tic Toc Games는 최근 모바일 퍼즐 엔진에 Unity의 엔티티 컴포넌트 시스템(ECS)을 도입하여 성능을 크게 개선하고 반복 시간을 단축했습니다. Unite LA에서 열린 "We love performance" 세션에서 Tic Toc의 가스 스미스(Garth Smith)는 ECS를 사용하여 반복 주기를 단축한 방법과 유니티의 ECS 패키지로 학습하고 작업한 경험을 설명합니다.

전체 사례 연구 읽기

이제 어디로 이동해볼까요

지금 바로 시작하기

시작하는 방법을 찾고 계시거나 질문 사항이 있으신가요?
기술 자료로 이동

학습 및 공유

DOTS를 사용하여 시스템을 작성하는 방법에 대한 교육 및 공유용 예제 저장소입니다. 

ECS 소개 비디오 튜토리얼
Unite 오스틴 기술 프레젠테이션
엔티티 컴포넌트 시스템(ECS) 샘플

토론에 참여해 보세요

Unity 개발자들과 함께하는 커뮤니티 포럼에 참여하여 실험 및 베타 기능 프리뷰에 대해 의견을 제시하거나 정보를 교환할 수 있습니다.

포럼에 참여하기

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

확인