DOTS 패키지

Unity의 DOTS(데이터 지향 기술 스택) 덕분에 복잡한 프로그래밍에 대한 부담 없이 최신 멀티코어 프로세서를 완벽하게 활용할 수 있습니다. DOTS는 프리뷰로 제공되며, 유니티에서 지속적으로 스택에 새로운 패키지를 추가하고 있습니다.

DOTS 패키지

유니티는 DOTS로 Unity의 핵심을 새롭게 재구성하고 지속적으로 새 기능을 추가하고 있습니다. 다음은 현재 작업 중인 필수 DOTS 패키지의 개요입니다.

게임 디자인에 대한 효과적인 접근 방식

엔티티 컴포넌트 시스템(ECS)을 통해, 해결하고자 하는 실제 문제점, 즉 게임을 구성하는 데이터와 동작에 중점을 두는 고성능 C# 코드를 작성할 수 있습니다.

ECS를 사용하면 게임을 더욱 효율적으로 디자인 및 빌드할 수 있을 뿐 아니라 Unity의 C# 잡 시스템버스트 컴파일러를 이용하여 최첨단 멀티코어 프로세서를 최대한 활용할 수 있습니다.

Unity는 ECS를 통해 오브젝트 지향 디자인에서 데이터 지향 디자인으로 나아가고 있습니다. 즉 사용자 간에 코드를 이해하고 작성에 참여하거나 코드를 재사용하기가 더욱 수월합니다.

ECS를 사용하여 게임플레이를 생성하는 방법은 ECS 기술 자료를 참고하시기 바랍니다. ECS로 작업 시 코드 전략을 선택하는 팁에 대한 내용은 유나이트 코펜하겐 2019의 엔티티 인터랙션 옵션 강연을 시청하세요. 또한 GitHub에서 엔티티 컴포넌트 시스템 샘플을 받아 확인해 보세요.

엔티티 패키지에는 Unity 라이브 링크도 포함되어 있습니다. Unity 라이브 링크를 사용하면 에디터에서 스탠드얼론 플레이어를 실행하는 연결된 모든 기기에 변경 사항을 적용하고 반영된 변경 사항을 확인할 수 있습니다. 이를 통해 실제 기기 성능에 대한 직접적인 피드백을 얻을 수도 있습니다.

또한 새롭게 포함된 전환 워크플로에서는 클릭 한 번이면 게임 오브젝트가 엔티티로 전환되므로 현재의 게임 오브젝트를 그대로 사용하여 DOTS에서 작업할 수 있습니다. 

자세히 알아보기
C# 잡 시스템

C# 잡 시스템

C# 잡 시스템은 오늘날 컴퓨터의 여러 코어를 활용합니다. C# 프로그래머가 안전하고 빠른 잡 시스템을 위한 코드를 작성할 수 있도록 설계되었습니다.

여러 코어 활용
C# 잡 시스템은 네이티브 C++ 잡 시스템을 노출하여 C# 스크립트가 Unity 내부 컴포넌트와 함께 잡 시스템을 지원할 수 있도록 합니다.

안전한 환경
경쟁 상태와 같은 멀티 스레딩의 위험으로부터 보호합니다.

자세히 알아보기

버스트 컴파일러

새로운 LLVM 기반 백엔드 컴파일러 기술은 C# 잡을 이용하여 고도로 최적화된 기계어 코드를 생성합니다.

모든 플랫폼을 최적화할 수 있는 기능
버스트 컴파일러는 컴파일 대상 플랫폼의 출력을 최적화합니다.

수작업 코딩 절감
복잡한 작업 없이도 여러 플랫폼에 걸쳐 수작업으로 조정된 어셈블러 코드의 장점을 활용하세요.

유나이트 코펜하겐 강연을 시청하고 GitHub에서 컴패니언 코드를 다운로드하세요.

자세히 알아보기

Unity 피직스(프리뷰)

DOTS 기술을 기반으로 한 완전히 새로운 물리 엔진을 개발하여 이를 통해 최신 네트워킹 요구 사항을 충족하는 탁월한 성능의 물리 시뮬레이션을 제작할 수 있습니다. Unity 피직스는 현재 패키지 관리자를 통해 사용 가능한 프리뷰 버전이며, Unity 2019.1 이상 버전과 호환됩니다.

매우 복잡한 물리 시뮬레이션을 제작해야 하는 고객에게 Unity용 Havok 피직스를 제안합니다. Havok 피직스는 이 콘솔 세대 최고 타이틀의 절반 이상을 지원하는 업계 최고의 Havok 피직스 엔진을 기반으로 합니다. Havok 피직스는 Unity 피직스와 동일한 C# DOTS 프레임워크로 작성되었지만 네이티브 C++로 작성된 클로즈드 소스인 전용 Havok 피직스 엔진의 특징, 성능, 안정성, 기능을 포함합니다.

자세히 알아보기
DOTS 기반 애니메이션, FPS 넷코드, 전환 워크플로, Unity 라이브 링크 등 DOTS에 기반한 프로젝트를 위해 Unity 2019.3에 새로 추가된 기능을 알아보세요.

Unity 넷코드(프리뷰)

Unity에서 멀티플레이어 게임을 제작하고자 하는 경우 DOTS 샘플 프로젝트에서 이 영역이 현재 어디까지 발전했는지 확인하실 수 있습니다. 함께 제공되는 넷코드는 클라이언트측 예측, 권한 서버, 보간을 제공하므로 네트워크로 연결된 FPS 게임을 용이하게 제작할 수 있습니다. 패키지 관리자에서 Unity 트랜스포트Unity 넷코드 프리뷰 패키지를 설치하여 시작하세요.

Unity 네트워킹의 미래에 대한 자세한 내용은 유나이트 코펜하겐 2019 강연을 참고하세요.

자세히 알아보기

DSPGraph(실험 기능)

향후 출시될 DOTS 오디오 시스템의 기반은 DSPGraph(현재 프리뷰로 제공)입니다. 유니티의 새로운 로우레벨 오디오 엔진은 버스트 컴파일러와 호환되며 C# 언어로 완전히 확장 가능하여 오디오 프로그래머와 오디오 시스템 개발자가 커스텀 오디오 시스템을 구축할 수 있습니다.

DOTS 오디오 토론 포럼에 가입하여 질문을 하거나 오디오와 관련한 요청 사항을 알려주시기 바랍니다.

자세히 알아보기
레벨에서 달리고 있는 3D 비디오 게임 캐릭터

Unity 애니메이션(실험 기능)

DOTS 샘플 프로젝트에서는 현재 작업 중으로, DOTS에 향후 사용될 애니메이션 시스템의 초기 버전을 확인하실 수 있습니다. 이 시스템은 애니메이션 블렌딩, IK, 루트 모션, 레이어 및 마스킹 등과 같은 핵심 기능을 제공하며, 향후 더욱 다양한 기능이 제공될 예정입니다.

추가 샘플 받기
Unity 에디터의 타이니 레이싱(Tiny Racing) 데모

DOTS 런타임(프리뷰)

DOTS를 기반으로 고도로 모듈화된 Unity의 최신 런타임인 Tiny 프로젝트를 통해 빠르고 가벼운 저용량 인스턴트 게임을 빌드할 수 있습니다. 타이니 레이싱(Tiny Racing) 데모를 다운로드하여 유니티의 작업을 미리 살펴보세요. 데모에는 초기 3D 렌더링 기능의 프리뷰와 iOS/Android/HTML5/Windows 및 Mac용 대상 빌드가 포함되어 있습니다.

자세히 알아보기

DOTS 시작하기

Unity 패키지 매니저를 통해 DOTS 패키지에 액세스할 수 있습니다. 전체 목록을 확인하려면 Advanced >Show Preview Packages를 선택합니다. 첫 번째 단계로 엔티티 패키지와 하이브리드 렌더러를 추가하는 것이 좋습니다.

DOTS 패키지 기술 자료

엔티티(프리뷰)

엔티티 패키지는 DOTS의 핵심입니다. 엔티티 패키지에는 엔티티 컴포넌트 시스템(ECS)이 포함되어 있으며, 이는 전환 워크플로와 Unity 라이브 링크 사용의 필수 요건입니다. 이 패키지는 현재 프리뷰로 제공됩니다.

 

 

DOTS 에디터(프리뷰)

DOTS 에디터 패키지에는 추가적인 데이터 분석과 시각화 툴이 포함되어 있습니다. 예를 들어, 게임 오브젝트가 엔티티로 전환되는 과정을 자세히 확인할 수 있는 엔티티 프리뷰 인스펙터(Entity Preview Inspector)가 제공됩니다. 이 패키지는 현재 프리뷰로 제공됩니다.

하이브리드 렌더러(프리뷰)

하이브리드 렌더러는 기존의 렌더러가 오브젝트를 렌더링하는 데 필요한 인스턴스 데이터를 제공하는 새로운 경로입니다. 씬의 게임 오브젝트를 엔티티로 전환하기 위해 전환 시스템은 각 게임 오브젝트의 MeshRenderer 및 MeshFilter 컴포넌트를 찾아 엔티티의 RenderMesh 컴포넌트로 전환합니다. 이 패키지는 현재 프리뷰로 제공됩니다.

버스트 컴파일러

버스트 컴파일러는 LLVM을 사용하여 잡 시스템을 위한 C# 코드를 네이티브 코드로 변환합니다. 버스트 컴파일러는 컴파일 대상 플랫폼의 출력을 최적화합니다.

Unity 피직스(프리뷰)

유니티는 DOTS 기술을 기반으로 한 완전히 새로운 고성능 물리 엔진을 개발하고 있습니다. Unity 피직스 패키지를 사용하면 결정론적 리지드바디 동역학과 공간 쿼리 시스템을 활용할 수 있습니다. 이 패키지는 현재 프리뷰로 제공됩니다.

Havok 피직스(프리뷰)

Havok 피직스는 매우 복잡한 물리 시뮬레이션을 제작해야 하는 고객을 위한 클로즈드 소스 솔루션입니다. Unity 피직스와 입력 및 출력 데이터 형식이 동일하기 때문에 언제라도 두 옵션 간 전환이 가능합니다. Unity Pro 사용자를 위한 구독 플랜은 Unity 에셋스토어에서 확인하실 수 있습니다. 이 패키지는 현재 프리뷰로 제공됩니다.

Unity 트랜스포트(프리뷰)

Unity 트랜스포트 API를 사용하면 멀티플레이어 프로젝트에서 서버와 클라이언트를 생성하고 설정할 수 있습니다. 패키지는 현재 프리뷰 버전으로 제공되며 Windows, Linux, Mac OSX, iOS, Android 플랫폼만 지원합니다. 이 패키지는 현재 프리뷰로 제공됩니다. 

Unity 넷코드(프리뷰)

Unity 넷코드 패키지는 멀티플레이어 게임 생성에 사용할 수 있는 클라이언트 예측이 포함된 전용 서버 모델을 제공합니다. 현재 프리뷰 버전이며 엔티티 동기화에 필요한 아키텍처에 중점을 두고 있습니다. 이 패키지는 현재 프리뷰 버전입니다. 

Unity 매스매틱스

버스트 컴파일러는 이 수학 라이브러리를 사용하여 C# 언어를 매우 효율적인 네이티브 코드로 컴파일합니다. 셰이더와 유사한 구문을 사용하는 수학 함수와 벡터 유형을 제공합니다.

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

확인