以下是对面向数据的技术堆栈(DOTS)的一些关键更新的概述。在使用DOTS重新构建Unity的核心时,我们不断向该堆栈中添加新包。请从Unity Package Manager安装DOTS包开始。
转换工作流程(实验性功能)
新的 DOTS 转换工作流程让您能够一键将游戏对象转换为基于 DOTS 的实体,从而在现有工作流程中使用 DOTS。例如,您可以使用游戏对象进行快速的关卡设计迭代,然后在运行时将它们简单地转换为实体表示。新的 Entity Preview Inspector 可让您查看游戏对象是如何转换成 DOTS 实体的。
该转换过程让您能够轻松地将游戏对象和经典的创作工作流程概念转换为高效和可流式处理的运行时数据。您可以尽取两者之长:使用 Editor 快速、直观的工作流程处理游戏世界,同时利用经过高度 ECS 优化和可流式处理的运行时数据获得巨大的性能提升。
Unity Live Link(实验性功能)
使用新的Unity Live Link,您可以在Editor中进行更改,并在运行独立平台播放器的任何已连接设备上查看更改结果。以前,每次要进行测试时,您都必须创建可执行文件、构建所有资源、构建所有脚本,然后将它们上传到设备;而现在,您可以实时进行测试。
迭代速度是创建游戏世界,然后调整和改善用户体验这一过程的关键,因此,在实际目标设备上实时与您的游戏进行交互可以让您的表现大为改观。Unity Live Link提供设备上的性能反馈,让您可以直接在设备上了解不同选择的性能结果,从而在细节和性能之间找到适当的平衡。
创建Live Link Build后,当您下次进行更改时,可以只保存场景,Unity将捆绑您的更新并将其发送到Live Link Player。
可以从Package Manager安装实体包(预览版)来尝试Unity Live Link。
Unity Physics
DOTS示例项目使用新的无状态Unity Physics系统进行碰撞检测和空间查询。该引擎以C#/HPC#编写,演示了可以用Burst编译器实现的功能。凭借新的Physics引擎,我们能够对玩家、环境和飞弹进行快速准确的碰撞检测,以及解析碰撞检测。示例中的角色控制器及其他用例(例如DOTS示例项目中精确、高性能的脚部放置系统)也使用了Unity Physics。
网络代码
DOTS示例中使用的FPS网络代码是建立在DOTS之上的,可轻松创建具有类似架构的网络游戏。凭借网络友好的数据协议,它提供了客户端预测、授权服务器和插值功能。通过Tim Johansson的Unite演讲了解FPS网络代码。
从 Package Manager 安装 Unity Transport 和 Unity NetCode 包来开始使用。
DSPGraph更新
我们还将继续完善DOTS的音频混合和渲染系统。具体来说,我们重写了新的底层音频引擎DSPGraph,以获得更高的性能,并增加了执行子图的功能(不影响图输出)。举例来说,这意味着您可以在音频图中间插入节点来统计每分钟的节拍数,但又不对音频信号产生影响。
加入DOTS音频讨论论坛,向我们提问或分享您的音频需求。