本次技术更新的内容,涵盖了微信小游戏、团结引擎车机版、OpenHarmony、Audio、Virtual Geometry、Open Euler/Arm Linux 几大方向。
微信小游戏
○深度集成微信 SDK。
团结引擎车机版
基于量产客户的实际车载应用场景验证,新增了诸如 URAS Demo Package、Asset 加密、工程隔离支持 Burst 等能力,并在三个平台上对于多屏幕渲染进一步支持,同时提升了架构的稳定性,为车机应用开发者提供更好的开发体验。
HMI Android
基于量产上车经验,URAS 架构进一步升级,在 Vulkan 多线程渲染支持、New Input System 支持、Audio 模块调用逻辑优化、Touch 事件处理支持等方面均有提升,同时完善了各使用场景下的 Pause 机制和多 Client 渲染的调用机制,提升 URAS 的整体稳定性。在 1.2.0 版本中,URAS 工程隔离模式进一步扩展,在此前版本的基础上,额外支持 Burst、Asset 加密、Streaming Asset 等功能。
为了更好地服务于车载多屏幕场景,HMI Android 在常见的 60 帧刷新率的屏幕支持以 45 帧渲染,在多屏渲染时支持关闭指定屏幕的输出,进一步提升在多屏应用场景下的灵活性,降低性能开销。
为了帮助每一位车机应用开发者更好、更快地熟悉和理解 URAS,零门槛上手开发,URAS Demo Package 已在 Tuanjie Package Manager 中上线。Package 中内置简易车模、通用接口调用逻辑等,通过 Package Manager 导入并安装后,可通过导览窗口快速选择不同模式进行 Export、Build 等操作,也可根据提醒 Step by Step 进行 URAS 工程隔离模式和跨进程模式开发,实现在 Tuanjie Editor 中一键掌握 URAS 并基于此 Demo 进行快速开发。同时,URAS Demo Package导出的 Android Studio 工程内置配置好 Tuanjie View 的 UI 界面,实现真正意义上的开箱即用。
URAS Demo Package 示例视频:
在启动时间上,通过实际车载 APP 的验证,团结引擎车机版 1.2.0 HMI Android 进一步提升。
HMI Android 启动时间对比图:
QNX & EmbeddedLinux
1.2.0 版本的团结引擎车机版更好地支持 QNX 和 Embedded Linux 的多屏输出场景,在保证 QNX 和 Embedded Linux 稳定性的基础上,进一步提升性能。
在 8295 台架的 QNX 系统经过实测,团结车机版具有更好的性能表现,空场景下,热启动时间相比于 Unity 2021.3 约有 56%(无Splash)和 40%(有 Splash)的提升,冷启动时间基本持平。团结引擎车机版 QNX 多屏渲染,也有更好的表现,可支持三个屏幕同时稳定 60 帧渲染,且可分别叠加 UI。
QNX 启动时间的对比图:
OpenHarmony
升级 SDK 支持 API11
团结引擎 1.2.0 版本现已升级 OpenHarmony SDK 至 4.1 Release 版,支持 API11,覆盖 API11 中的新功能,同时也根据 API11 优化了现有功能,具体如下:
○升级了文件系统 API,解决了 API10 读取文件超过 2G 异常问题;
○使用新的 API 修复了应用切换到状态栏没有暂停的问题;
○音频上,增加了对 OHAudio 的支持,实现替换 OpenSLES,解决了此前游戏音频和音乐不能同时播放的问题;
○修改了 NativeWindow 的 Usage,有效降低了 DDR 带宽消耗。
修复问题
团结引擎 1.2.0 版本也修复了开发者反馈的一系列 bug,主要如下:
○视频花屏以及锁屏后播放卡顿问题;
○修复 PlayerPrefs 重启后失效问题;
○修复 OpenharmonyJSObject 无法获取 TypeScript中bigint 类型变量的数值的问题;
○修复了多线程渲染下折叠屏出现卡死的问题。
支持从 Hub 下载 OpenHarmonySDK 和 JDK
针对此前无法在 Hub 中直接下载 OpenHarmony SDK 的问题,团结引擎 1.2.0 现已支持在安装 OpenHarmony Build Support 时选装 OpenHarmony SDK、JDK,在 Hub 中可以直接勾选下载:
同时,团结引擎会根据安装版本自动选择对应的 SDK 版本。由于 OpenHamrony 不同版本 SDK 兼容性有差异,比如语法要求不一样、配置字段不一致等问题,推荐大家在安装时勾选并自动安装 SDK、JDK。安装完成后,仅需在 Preferences 里面勾选 Installed with Tuanjie,Editor 即可自动识别 SDK、JDK 路径:
支持兼容读取 Adroid 平台的 AssetBundle(预览版)
Audio
另外,为了帮助部分用户在团结上继续使用以往 Unity 版本打包的 AB, 我们在团结引擎 1.2.0 版本中增加了对 Unity 音频 AB 的支持。稳定性方面,团结引擎 1.2.0 版本也解决了以往在长期挂机或者连接远程桌面时,容易出现的 Editor 卡住问题;使用后台加载音频后概率性出现 crash,播不出声音的问题也得到修复。
在 Android 平台上,团结支持选择 AAudio 或 OpenSL 来播放声音。在 Android 8.1 及之后的系统上,引擎默认使用 AAudio backend 以获得更低的延迟。当遇到部分机型 AAudio兼容性存在问题时,用户可以在 PlayerSettings->Audio 页面设置使用 OpenSL,以获得更好的兼容性。相比之前的版本,团结引擎 1.2.0 音频系统启动时间也有所减少,相比 Unity 版本,降低了约 40%。
Virtual Geometry
新的 light probe per pixel 模式:
Open Euler/Arm Linux
在团结引擎 1.2.0 版本中,我们基于已有的 OpenEuler 支持,新增了针对 ARM Linux 平台的 OpenEuler dedicated server 构建功能。这个新功能为开发者提供了更多选择,尤其是那些专注于高性能、低功耗服务器环境的开发者。
以上就是此次团结引擎 1.2.0 版本的重大内容更新,非常期待得到你的反馈,与我们一起共建中国版的实时 3D 引擎。
同时,在即将到来的 Unite Shanghai 2024 大会上,我们也邀请研发团队带来为期一天半的精彩演讲,速速报名码住!
[1] 团结引擎官网:
[2] 团结引擎专区:
https://developer.unity.cn/plate/tuanjie-engine?tab=ask
长按关注
第一时间了解 Unity 社区动向,学习开发技巧
每一个“在看”,都是我们前进的动力