「团结引擎1.2.0」正式上线!功能全面升级

news2024/9/22 3:48:03

「团结引擎 1.2.0」来啦,继上次大版本更新又过了三个月,这段时间我们的研发团队一直在收集用户反馈,更新引擎功能。

本次技术更新的内容,涵盖了微信小游戏、团结引擎车机版、OpenHarmony、Audio、Virtual Geometry、Open Euler/Arm Linux 几大方向。

微信小游戏

团结引擎 1.1.0 微信小游戏平台于 3 月底发布之后,受到了开发者们的广泛关注。到目前为止,已经有超过 200 款基于团结引擎支持的微信小游戏成功上线运营。与此同时,还有更多基于 Unity 开发的手机游戏正在团结引擎的支持下移植到微信小游戏平台。

在《诛仙》移植小游戏的过程中,开发者对团结引擎与 Unity 在不同机型上的表现进行了压力测试对比,可以看到团结引擎整体内存占用更低。尤其是 .NET 8方案,不仅能大大减小 wasm 的体积,还能在某些情况下获得比 IL2CPP 更高的执行效率。《诛仙》小游戏使用 .NET 8 后,在 iPhone8P 上仍然能够保持 30 帧的流畅表现。

团结引擎 1.2.0 中,微信小游戏模块进一步优化了性能,并且提供了更方便的开发者工具:

  • 优化启动时间与加载场景时间。

  • 优化了 Shader 内存,占用降低。

  • Asset Bundle 打包速度优化:在测试中,原本基于 Unity 2022.3.13f1 需要 155 分钟的打包时长,切换到团结引擎后缩短为 71 分钟。

  • Dev Host:作为移动端 App,提供一键发布测试版。相较于浏览器,它支持更高的时钟精度,提供更强的 Debug 和 Profiling 能力。此外,还为开发者提供了 CPU、帧率、内存监控、启动时间等信息。

  • 深度集成微信 SDK。

团结引擎车机版

团结引擎 1.2.0 版提供对车机 HMI Android、QNX、Embedded Linux 三个平台的稳定支持并进行了多项改进。

基于量产客户的实际车载应用场景验证,新增了诸如 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 示例视频:

URAS Demo Package 示例视频

在启动时间上,通过实际车载 APP 的验证,团结引擎车机版 1.2.0 HMI Android 进一步提升。

HMI Android 启动时间对比图:

QNX & Embedded Linux

1.2.0 版本的团结引擎车机版更好地支持 QNX 和 Embedded Linux 的多屏输出场景,在保证 QNX 和 Embedded Linux 稳定性的基础上,进一步提升性能。

在 8295 台架的 QNX 系统经过实测,团结车机版具有更好的性能表现,空场景下,热启动时间相比于 Unity 2021.3 约有 56%(无Splash)和 40%(有 Splash)的提升,冷启动时间基本持平。团结引擎车机版 QNX 多屏渲染,也有更好的表现,可支持三个屏幕同时稳定 60 帧渲染,且可分别叠加 UI。

QNX 启动时间的对比图:

OpenHarmony

团结引擎 1.2.0 版本进一步完善了对 OpenHarmony 的各功能模块支持,主要新增了以下支持:

  • 新增陀螺仪 API 支持;

  • 新增获取网络状态 API 支持;

  • 新增录音时权限申请功能、调用 Application.internetReachability 时自动添加网络权限功能;

  • 新增应用分屏功能支持;

  • 新增对 Display.main.systemWidth/Height、Sceen.orientation、Input.DeviceOrientation 接口支持;

  • 新增对 .etslib 类型的插件支持以及相关的 arkts 文件修改;

  • 新增设置 JDK 路径时合法性校验。

升级 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(预览版)

为了帮助广大开发者快速地将原有 Android 项目切换到 OpenHarmony 平台,团结引擎 1.2.0 新增了对 Android 平台 AssetBundle 读取的支持,开发者可以复用 Android 平台的 AssetBundle,提升开发效率。

Audio

团结引擎 1.2.0 版本开始支持 Load in Background 选项。对于背景音乐之类的长音频文件,勾选 Load in Background 选项可以明显减少主线程的加载时间,游戏启动和场景切换将更快。我们在这个版本还添加了多声道输出的支持,相比之前版本的双声道,最新版本可以最多支持到 8 声道。

另外,为了帮助部分用户在团结上继续使用以往 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

虚拟几何体支持 Foliage&Vegetation:

在团结引擎之前的版本中,虚拟几何体只能应用在不透明物体上;而对于 Foliage&Vegetation(alpha clip 材质)无法开启;而 Foliage&Vegetation 是我们场景中非常常见又大量存在的类型,我们需要一种办法来高效的渲染他们。在团结引擎 1.2 版本中,我们支持了 Foliage&Vegetation 的虚拟几何体功能。这可以让您在场景中放置大量植被,当打开他们的虚拟几何体功能后,可以获得更好的性能表现。

新的 light probe per pixel 模式:

为了使虚拟几何体更好的适配 light probe,我们新增了此 per pixel 模式。在原来的 light probe 模式中(比如 blend probe),light probe 的采样是基于每个物体位置在 CPU 完成的,这就导致 light probe 对于大物体的间接光表现的效果不太好。为了更好的和虚拟几何体适配,我们提供了新的 per pixel 模式,它完全是基于 GPU 来采样的,SH 不再基于物体的位置,而是基于像素位置,因此它可以提供更加自然的间接光照明。

Open Euler/Arm Linux

在团结引擎 1.2.0 版本中,我们基于已有的 OpenEuler 支持,新增了针对 ARM Linux 平台的 OpenEuler dedicated server 构建功能。这个新功能为开发者提供了更多选择,尤其是那些专注于高性能、低功耗服务器环境的开发者。

OpenEuler dedicated server 可以用于逻辑计算处理的非渲染应用场景。团结引擎的 OpenEuler dedicated server 支持,意味着开发者现在可以在 ARM 架构的高性能的国产芯片服务器上运行团结引擎应用。这一功能主要有以下几个亮点:

高性能与低功耗结合

ARM 架构以其高效能和低功耗闻名,这对于运行需要长时间持续服务的服务器端应用尤其重要。通过在 ARM Linux 上运行 OpenEuler dedicated server,开发者可以显著降低服务器的功耗,同时保持高性能和稳定性,适用于对能效要求较高的应用场景。

广泛的硬件兼容性

ARM 架构的设备种类繁多,从树莓派等开发板到高性能的服务器硬件,团结引擎的 OpenEuler dedicated server 支持多种 ARM 硬件。这为开发者提供了广泛的硬件选择,能够根据项目需求和预算灵活配置服务器环境。

一致的开发体验

团结引擎提供一致的开发体验,无论是针对 x86 还是 ARM 架构,开发者都可以使用相同的工具链和开发流程。这意味着开发者无需额外学习新的开发工具或流程,就能轻松将现有的服务器端项目移植到 ARM Linux 平台上。

云端部署优化

随着 ARM 架构在云计算领域的逐渐普及,许多云服务提供商已经开始提供基于 ARM 的服务器实例。团结引擎 OpenEuler dedicated server 的支持使得开发者能够更方便地在云端部署和扩展他们的应用,充分利用云服务的灵活性和成本优势。

以上就是此次团结引擎 1.2.0 版本的重大内容更新,非常期待得到你的反馈,与我们一起共建中国版的实时 3D 引擎!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2042268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发食堂采购系统源码:优化供应链管理APP的技术路径

当下,开发一个食堂采购系统源码,并将其集成到供应链管理APP中,成为了优化供应链管理的关键路径之一。 一、食堂采购系统的需求分析 食堂采购系统是食堂日常运营中不可或缺的工具,其主要功能包括采购需求管理、供应商管理、订单管…

《中国数据库前世今生》——历史的深度与未来的展望

在探索科技与历史的交织中,我有幸观看了《中国数据库前世今生》这部纪录片。影片开头它不仅是一段技术演进的回顾,更是中国IT领域从跟随到引领的壮丽史诗。后续深刻研读了专家们的深刻讨论,通过这部纪录片,我深刻感受到了数据库技…

PMP–知识卡片--沟通模型

沟通过程中,发送方想把自己的想法传递给接收方,需要先对想法进行编码,将其变成语言或文字,再选择传递的方式,过程中会受到噪声的影响。这里的噪声是广义的,包括所有影响信息传递效果的因素,如杂…

《Ubuntu22.04环境下的ROS2学习笔记2》

一、在ROS2环境下创建功能包 如果您已经完成了上一小节的内容,那么接下来您一定渴望自己创建一个功能包来实现相应的功能。在ROS1中,您创建的功能包可以既写C/C,又写python,但ROS2中不允许用户这么做,您的C/C和python代…

UniApp的神器-开启前端开发的全新篇章

本文介绍了DIYGW UniApp可视化工具作为一款低代码开发平台的特点和优势。该工具采用拖拽式设计和模块化开发,能够快速转化想法为可运行应用,并支持多种平台部署。它具有所见即所得的设计体验、丰富的组件库、前后台通信模块和跨平台兼容性等特点。使用该…

netsat -ano 详解

netsat -ano会输出一大堆端口,为什么nmap扫描出来的却只有两个 因为我们的服务器或者工作站有开启防火墙,过滤了nmap的流量,导致nmap扫描不到一些端口,再加上我们的开放端口有一些是只有本地才能访问的 怎么看哪些端口只有本地能…

基于Pytorch深度学习图像处理基础流程框架(以ResNetGenerator为例)

文章目录 - 模型搭建1. 搭建ResNetGenerator2. 网络实例化3.加载预训练模型权重文件4. 神经网络设置为评估模式 预测处理1. 定义图片的预处理方法2. 导入图片3. 预处理图片4. 调用模型5. 输出结果 - 模型搭建 1. 搭建ResNetGenerator import torch import torch.nn as nnclas…

go 调用C语言函数或者库

1.查看cgo是否开启 go env | grep CGO_ENABLED CGO_ENABLED1 2. go程序中加入 import "C" 通过 import “C” 语句启用 CGO 特性后,CGO 会将上一行代码所处注释块的内容视为 C 代码块 单行注释使用// 多行注释使用/* */ 3. go 与C 类型转换 在g…

HSL模型和HSB模型,和懒人配色的Color Hunt

色彩不仅仅是视觉上的享受,它在数据可视化中也扮演着关键角色。通过合理运用色彩模型,我们可以使数据更具可读性和解释性。在这篇文章将探讨HSL(Hue, Saturation, Lightness)和HSB(Hue, Saturation, Brightness&#x…

【机器学习】深度学习实践

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言一、深度学习基础二、图像分类示例三、拓展思考结语 引言 在当今人工智能的浪潮中,深度学习作为其核心驱动力之一,正以前所未有的速度改变着我们的世界。从图像识别、语音…

c语言第18天笔记

构造类型 结构体类型 结构体数组 案例: 需求:对候选人得票的统计程序。设有3个候选人,每次输入一个得票的候选人的名字,要求最后输出 各人得票结果。 ​ /** * 结构体数组案例:对候选人得票的统计程序。设有3个候…

主机组装笔记

参考资源:B站【装机教程】全网最好的装机教程,没有之一,仅供探讨学习 9大部件一览 其中得到固态和机械,是硬盘,存储空间,可以只选固态 CPU,主要有 AMD 和 Intel (AMD,基板的背面布…

力扣 58. 最后一个单词的长度

题目描述 思路 下意识想到先以空格作为分割符对字符串进行分割得到若干个子字符串,然后用字符串长度计算函数计算最后一个子字符串的长度。 该思路代码如下: class Solution:def lengthOfLastWord(self, s: str) -> int:s_array s.split()last_le…

全新在线客服系统源码(pc+h5+uniapp+公众号小程序+抖音)附搭建接入教程

全新在线客服系统源码介绍 一、系统概述与优势 本系统是一款基于PHP的开源在线客服系统,支持PC端、移动端(小程序)、H5页面以及Uniapp多端接入。系统利用网络技术和人工智能技术,实现用户与客服人员的即时聊天沟通,有效提升服务质量和用户满意…

Python+Selenium+Pytest+POM自动化测试框架封装详解

1、测试框架简介 1)测试框架的优点 代码复用率高,如果不使用框架的话,代码会显得很冗余。可以组装日志、报告、邮件等一些高级功能。提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件。使用更灵活的…

透明加密软件排行榜前十名(2024年10大好用的透明加密软件推荐)

在当今数字化的时代,数据的安全性和保密性已经成为了企业和个人最为关注的问题之一。随着信息技术的飞速发展,各种数据泄露事件层出不穷,给企业和个人带来了巨大的损失。在这样的背景下,透明加密软件应运而生,成为了保…

商家转账到零钱申请必过教程2024

在微信作为重要的营销场景的当下,微信支付的商家转账到零钱功能对于众多企业来说具有重要意义。要顺利开通该接口,需要注意以下几个要点。 首先,需要公司主体资质。申请主体必须是公司,个体工商户暂无法申请。同时,要确…

8.15成都市计量院面试问答

🐖 Q:为什么要选择计量检定测试院? A:市计量院具备多项资质认定和计量认证项目,选择成都市计量检定测试院,意味着接触前沿技术,积累丰富经验,服务社会公益,参与创新研发&…

spring揭秘01-spring容器启动过程分析

文章目录 【README】【1】Spring容器根据配置元素组装可用系统的过程【2】BeanFactoryPostProcessor-Bean工厂后置处理器【2.1】属性占位符配置器使用场景代码【2.2】CustomerEditorConfigurer-自定义编辑器配置器【2.3】自定义编属性编辑器案例代码 【README】 本文总结自《s…

为什么electron占用空间大,而Tauri占用小,他们不都是封装Chromium吗

Electron 和 Tauri(使用 WebView)的确都涉及嵌入浏览器引擎来渲染 HTML、CSS 和 JavaScript,但它们的架构和设计有显著不同,这导致了它们在应用程序体积和资源占用上的差异。以下是一些关键的原因: 1. 嵌入的浏览器引…