「團結引擎1.2.0」正式上線!功能全面升級

「團結引擎 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 示例視頻:

在啓動時間上,通過實際車載 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

團結引擎 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 引擎。

同時,在即將到來的 Unite Shanghai 2024 大會上,我們也邀請研發團隊帶來爲期一天半的精彩演講,速速報名碼住!


[1] 團結引擎官網:

https://unity.cn/tuanjie/tuanjieyinqing

[2] 團結引擎專區:

https://developer.unity.cn/plate/tuanjie-engine
[3] 團結引擎問答專區:
https://developer.unity.cn/plate/tuanjie-engine?tab=ask




長按關注

Unity 官方微信

第一時間瞭解Unity引擎動向,學習進階開發技能






 點擊“閱讀原文”,Unite官網