!在這一版本中,OpenHarmony 平臺(tái)迎來(lái)了一個(gè)具有里程碑意義的更新:全面支持 Used as a Library(UAAL)。UAAL 這一技術(shù)方案,具有將引擎嵌入原生應(yīng)用的獨(dú)特能力,其便捷性和高度可復(fù)用性特別適用于移動(dòng)平臺(tái)。該方案不僅展現(xiàn)了引擎的跨平臺(tái)優(yōu)勢(shì),也得到了開(kāi)發(fā)者的廣泛認(rèn)可和熱烈響應(yīng)。
隨著 OpenHarmony 平臺(tái)開(kāi)發(fā)者的逐步壯大,越來(lái)越多關(guān)于如何更靈活地在 OpenHarmony 原生應(yīng)用中使用團(tuán)結(jié)引擎的呼聲逐漸出現(xiàn),例如,關(guān)于“OpenHarmony 導(dǎo)出工程能否改造多 HAP 以 feature 方式運(yùn)行”這一問(wèn)題,得到了大家的關(guān)注和討論。為此,我們將 UAAL 技術(shù)方案成功擴(kuò)展至 OpenHarmony,進(jìn)一步提升了 OpenHarmony 平臺(tái)的可操作性與靈活性。
什么是UAAL?
Used as a Library(UAAL)是一項(xiàng)允許將引擎功能集成到現(xiàn)有的原生應(yīng)用程序(如 Android、iOS、OpenHarmony 應(yīng)用)中的技術(shù)。當(dāng)將引擎作為一個(gè)庫(kù)來(lái)使用時(shí),就可以把引擎的一些核心功能,如渲染、物理模擬、資源管理等模塊提取出來(lái),嵌入到其他移動(dòng)平臺(tái)原生的項(xiàng)目架構(gòu)中。
UAAL的主要特點(diǎn)有:
1. 嵌入運(yùn)行:Tuanjie 作為一個(gè)模塊運(yùn)行,而不是完整的應(yīng)用,利用 Tuanjie 的強(qiáng)大圖形引擎、物理引擎、動(dòng)畫(huà)系統(tǒng)和插件生態(tài)。原生應(yīng)用可以在需要時(shí)調(diào)用 Tuanjie 引擎。
2. 靈活的界面集成:Tuanjie 場(chǎng)景可以作為應(yīng)用界面的一部分,與原生界面無(wú)縫切換。
3. 靈活的工作流:開(kāi)發(fā)者可以繼續(xù)使用 Tuanjie 編輯器創(chuàng)建和調(diào)試 3D 內(nèi)容,并將其集成到原生應(yīng)用中。
4. 跨團(tuán)隊(duì)協(xié)作:Tuanjie 開(kāi)發(fā)團(tuán)隊(duì)可以專(zhuān)注于 Tuanjie 內(nèi)容開(kāi)發(fā),原生開(kāi)發(fā)團(tuán)隊(duì)處理整體應(yīng)用架構(gòu)。
如何在 OpenHarmony 原生應(yīng)用中使用 UAAL?
下載安裝團(tuán)結(jié)引擎(1.4.0 及以上版本),打開(kāi)項(xiàng)目后。通過(guò)頂部菜單欄:File >> Build Settings打開(kāi) Build Settings 面板,在面板左側(cè)將平臺(tái)切換至OpenHarmony。
在 OpenHarmony 平臺(tái)的導(dǎo)出功能中,新增了一個(gè)“Export Project”勾選框,勾選后,會(huì)自動(dòng)提供“Export Project Type” 供用戶(hù)選擇:
- 選擇:Default,為此前提供的默認(rèn)導(dǎo)出DevEco工程方式。
- 選擇:Use As A Library(Recommended),即為UAAL 模式導(dǎo)出。
導(dǎo)出工程可以直接使用 DevEco 打開(kāi)并基于此進(jìn)一步開(kāi)發(fā),也可以選擇將導(dǎo)出工程中的 tuanjieLib 模塊集成進(jìn)已有的 OpenHarmony 項(xiàng)目工程中進(jìn)行下一步開(kāi)發(fā)。
注:為保證當(dāng)前版本導(dǎo)出流程和原有默認(rèn)流程的一致性,“Export Project Type” 選項(xiàng)為過(guò)渡方案,未來(lái)版本中,UAAL 將作為默認(rèn)導(dǎo)出方式提供,原有導(dǎo)出方式即將下線(xiàn)!
OpenHarmony UAAL 導(dǎo)出和默認(rèn)導(dǎo)出有什么區(qū)別?
勾選 Use As A Library(Recommended) 并導(dǎo)出后,無(wú)需額外操作,即為 OpenHarmony UAAL 模式。導(dǎo)出項(xiàng)目的工程結(jié)構(gòu)目錄相較之前自動(dòng)變化:
- 工程項(xiàng)目中,entry 模塊只有簡(jiǎn)單入口
- 新增tuanjieLib模塊,引擎相關(guān)的代碼資源均位于該模塊
OpenHarmony UAAL 示例
UAAL 提供一鍵式打包服務(wù),開(kāi)發(fā)者在 Tuanjie Editor 中完成場(chǎng)景內(nèi)相關(guān)開(kāi)發(fā)并一鍵導(dǎo)出后,可直接在導(dǎo)出工程的基礎(chǔ)上開(kāi)發(fā),也可以將導(dǎo)出工程中的 tuanjieLib 模塊集成進(jìn)已有的 OpenHarmony 項(xiàng)目工程中。UAAL 開(kāi)發(fā)全流程可參考以下視頻:
OpenHarmony UAAL 的實(shí)現(xiàn)原理
OpenHarmony 的 Hvigor 工程組織的形式是以模塊(module)為單位進(jìn)行管理的,一個(gè)功能內(nèi)可以包含一個(gè)或多個(gè)模塊,默認(rèn)包含一個(gè)"entry"模塊,構(gòu)建后得到一個(gè)可安裝 app(后綴是 .hap)。
在非 UAAL 模式下,團(tuán)結(jié)項(xiàng)目是作為"entry"模塊整體導(dǎo)出成一個(gè) Hvigor 工程進(jìn)行構(gòu)建。為了讓團(tuán)結(jié)能夠作為一個(gè)單獨(dú)的庫(kù)(Library)方便地嵌入到原生應(yīng)用中,團(tuán)結(jié)引擎將以一個(gè)"har"模塊的形式嵌入到工程中。
TuanjiePlayer 以har 包形式導(dǎo)出
1.團(tuán)結(jié)引擎渲染的頁(yè)面(Page)組件化: 頁(yè)面組件化之后,極大地提高了開(kāi)發(fā)者使用團(tuán)結(jié)引擎渲染能力的自由度。理論上可以將團(tuán)結(jié)引擎嵌入到原生 App 的任意位置。
2.調(diào)用機(jī)制:團(tuán)結(jié)引擎作為以"har"模塊(模塊名為"tuanjieLib")嵌入到工程之后,其它模塊如果要訪(fǎng)問(wèn)團(tuán)結(jié)引擎內(nèi)的接口和資源,需要通過(guò)"tuanjieLib"作為入口進(jìn)行訪(fǎng)問(wèn)。
3.團(tuán)結(jié)工程輸出成一個(gè) module:
- 首先需要修改團(tuán)結(jié)工程的 hvigorfile.ts,將輸出改成'har'包的形式(非 UAAL 模式下,默認(rèn)是輸出 'hap' 包)。
- 接著還需要對(duì)應(yīng)修改模塊配置文件,使其符合"har"模塊的配置。
以上就是此次團(tuán)結(jié)引擎 1.4.0 版本中 OpenHarmony 平臺(tái)的更新。 團(tuán)結(jié)引擎將傾聽(tīng)國(guó)內(nèi)開(kāi)發(fā)者的聲音,為大家?guī)?lái)更多大家想要的功能,并且始終保持引擎的高性能、高畫(huà)質(zhì),以及穩(wěn)定性。非常期待得到你的反饋,與我們一起共建中國(guó)版的實(shí)時(shí) 3D 引擎。
[1] 團(tuán)結(jié)引擎官網(wǎng):
https://unity.cn/tuanjie/tuanjieyinqing
[2] 團(tuán)結(jié)引擎問(wèn)答專(zhuān)區(qū):
https://developer.unity.cn/plate/tuanjie-engine?tab=ask
[3] 團(tuán)結(jié)引擎用戶(hù)手冊(cè):
https://docs.unity.cn/cn/tuanjiemanual/Manual/UnityManual.html
Unity 官方微信
第一時(shí)間了解Unity引擎動(dòng)向,學(xué)習(xí)進(jìn)階開(kāi)發(fā)技能
每一個(gè)“點(diǎn)贊”、“在看”,都是我們前進(jìn)的動(dòng)力
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.