DOTS 包

我们面向数据的技术堆栈 (DOTS) 能够充分利用当今多核处理器的优势,而又不带来繁重的编程负担。该堆栈包含的包也在不断增多。

DOTS 功能

在使用 DOTS 重新构建 Unity 的核心时,我们不断增加新的功能。以下是主要功能领域的概述。

更好的游戏设计方法

使用我们的实体组件系统 (ECS),您可以编写高性能的 C# 代码,专注于解决您面临的实际问题:构成游戏的数据和行为。

除了提供更好的游戏设计和构建方法以外,ECS 还让您可以通过 Unity 的 C# 作业系统和 Burst 编译器充分利用当今多核处理器的优势。

使用 ECS,我们正在从面向对象的方法转到面向数据的设计,这意味着代码重用更为容易,也更易于他人理解和贡献代码。

有关如何开始使用 ECS 创建游戏玩法的信息,请参阅 ECS 文档。观看 Unite Copenhagen 2019 上的实体交互选项演讲,了解使用 ECS 时选择代码策略的技巧。我们还建议您从 GitHub 获取实体组件系统示例

了解详情
C# Job System

C#作业系统

C# 作业系统能够充分利用当今计算机中多个核心的优势。它旨在让 C# 程序员能够编写安全、快速和作业化的代码。

充分利用多个核心的优势
C# 作业系统公开了本机 C++ 作业系统,让您能够将 C# 脚本与 Unity 内部组件一并作业化。

安全的环境
避免程序员落入某些多线程陷阱,例如竞争条件。

了解详情

Burst 编译器

一种新的基于 LLVM 的后端编译器技术,它接收 C# 作业并生成高度优化的机器代码。

一流的平台
Burst 编译器可针对编译目标平台优化输出。

减少手动编码
在多个平台上悦享手动调节汇编码的诸多优势,告别冗繁的工作。

观看我们的 Unite Copenhagen 演讲,从 GitHub 下载演示代码

了解详情

物理组件

我们开发了基于 DOTS 技术的全新物理引擎,让您能够创建物理模拟,提供符合现代网络需求的卓越性能。Unity Physics 当前处于预览状态,可通过 Package Manager 获得,可兼容 Unity 2019.1 及更高版本。

对于需要进行极度复杂的物理模拟的客户,我们提供了适用于 Unity 的 Havok Physics。它由业界领先的 Havok Physics 引擎提供支持,该引擎为这一代主机超过一半的热门游戏提供支持。它使用与 Unity Physics 相同的 C# DOTS 框架编写,但包括以本机 C++ 编写的闭源专有 Havok 物理引擎的性能、稳定性和功能。

了解详情
Learn what’s new for DOTS-based projects in Unity 2019.3, including DOTS-powered animation, FPS netcode, Conversion Workflow, Unity Live Link and more.

网络

如果您正在考虑使用 Unity 制作多人游戏,DOTS 示例项目代表了我们在这一领域的最新进展。其中包含的网络代码提供了客户端预测、授权服务器和插值功能,让创建网络 FPS 游戏变得更加容易。从 Package Manager 安装 Unity TransportUnity NetCode 包来开始使用。

请观看 Unite Copenhagen 2019 演讲,详细了解 Unity 网络的未来。

了解详情

音频

即将推出的 DOTS 音频系统的基础是 DSPGraph(现处于预览状态)。我们新的底层音频引擎可与 Burst 编译器配合使用,并且完全可以通过 C# 进行扩展,从而使音频程序员和音频系统开发人员可以构建自己的自定义音频系统。

加入DOTS音频讨论论坛,向我们提问或分享您的音频需求。

了解详情
3D video game character running through level

动画

您可以在 DOTS 示例项目中看到即将推出的 DOTS 动画系统的早期版本。它提供了核心功能,例如动画混合、IK、根运动、层和遮罩,后续还将提供更多功能。

获取其他示例

转换工作流程

新的转换工作流程让您可以一键将游戏对象转换为实体。查看新的 Entity Preview Inspector,了解 DOTS 如何将游戏对象转换成实体。您可以在使用熟悉的游戏对象的同时,获得所需的超优化、可流式处理的数据。

了解详情
Tiny Racing Demo in Unity editor

DOTS 运行时

通过由 DOTS 驱动的 Unity 即将发布的新型高度模块化运行时 Project Tiny,您将能够构建轻巧又高速的即时游戏。下载我们的 Tiny Racing 演示,提前了解我们的研究方向。它包括对初始 3D 渲染功能的预览以及针对 iOS/Android/HTML5/Windows & Mac 的构建目标。

了解详情

开始使用 DOTS

通过 Unity Package Manager 访问 DOTS 包。要查看完整列表,请选择 Advanced > Show preview packages。第一步,我们建议添加实体包和 Hybrid Renderer

DOTS 包

实体

实体包是 DOTS 的核心。它包含我们的实体组件系统 (ECS),并且是使用转换工作流程和 Unity Live Link 的先决条件。该包当前处于预览状态。

 

 

DOTS 编辑器

DOTS 编辑器包包含额外的数据分析和可视化工具。例如,它包括 Entity Preview Inspector,让您能够深入了解游戏对象是如何转换为实体的。该包当前处于预览状态。

Hybrid Renderer

Hybrid Renderer 开辟了一条新途径,它为现有的渲染器提供渲染对象所需的实例数据。为了将场景中的游戏对象转换为实体,转换系统将在每个游戏实体上查找 MeshRenderer 和 MeshFilter 组件,然后将它们转换为实体上的 RenderMesh 组件。该包当前处于预览状态。

Burst

Burst 编译器使用 LLVM 将作业化的 C# 代码转换为本机代码。它可针对编译目标平台优化输出。

Unity Physics

我们正在开发基于 DOTS 技术的全新高性能物理引擎。使用 Unity Physics 包可受益于确定性刚体动力学和空间查询系统。该包当前处于预览状态。

Havok Physics

Havok Physics 是一种针对需要生成极度复杂物理模拟的客户的闭源解决方案。它与 Unity Physics 共享相同的输入和输出数据格式,这意味着您可以随时在两种选项之间进行交换。现已在 Unity Asset Store 中提供面向 Unity Pro 用户的订阅计划。该包当前处于预览状态。

Unity Transport

您可以使用 Unity Transport API 为多人项目创建和配置服务器及客户端。该包当前处于预览状态,仅支持 Windows、Linux、Mac OSX、iOS 和 Android 平台。该包当前处于预览状态。

Unity NetCode

Unity NetCode 包提供带有客户端预测的专用服务器模型,您可以使用它创建多人游戏。它当前处于预览状态,侧重于同步实体所需的架构。该包当前处于预览状态。

Unity Mathematics

Burst 编译器使用该数学库将 C# 编译为高效的本机代码。它提供了矢量类型和具有类似着色器语法的数学函数。

我们使用 Cookie 来确保为您提供网站的最佳体验。有关更多信息,请访问我们的 Cookie 政策页面

明白了