在游戲開(kāi)發(fā)過(guò)程中,資源管理始終是影響團(tuán)隊(duì)效率的關(guān)鍵環(huán)節(jié)。日常開(kāi)發(fā)中,開(kāi)發(fā)者通常只需訪問(wèn)和操作項(xiàng)目中的部分資源,無(wú)需導(dǎo)入所有資源。而傳統(tǒng)的全量導(dǎo)入模式耗時(shí)較長(zhǎng),特別是對(duì)于資源數(shù)量較大的項(xiàng)目,完整的導(dǎo)入過(guò)程往往導(dǎo)致開(kāi)發(fā)者耗費(fèi)大量時(shí)間等待。
為了優(yōu)化這一問(wèn)題,Tuanjie 1.6.0 版本引入了資源按需導(dǎo)入功能,通過(guò)選擇性導(dǎo)入所需資源及其依賴項(xiàng),避免了全量導(dǎo)入造成的資源管線阻塞問(wèn)題,極大地縮短了團(tuán)結(jié)引擎資源工作流所需的時(shí)間,實(shí)現(xiàn)資源管理的效率提升。
按需導(dǎo)入做了什么
工程首次打開(kāi)時(shí),引擎會(huì)對(duì)工程中的所有資源進(jìn)行掃描并進(jìn)行分類。分類完成后,對(duì)于工程啟動(dòng)必須的資源進(jìn)行導(dǎo)入(如腳本/shader/文件夾等),而對(duì)于工程啟動(dòng)非必須的資源,則放置到 on-demand 的導(dǎo)入隊(duì)列中,并不進(jìn)行實(shí)際的導(dǎo)入。
工程啟動(dòng)之后,對(duì)于已經(jīng)完成導(dǎo)入的資源進(jìn)行正常顯示,而對(duì)于未完成導(dǎo)入的資源會(huì)采用模糊化圖標(biāo)呈現(xiàn)。當(dāng)引擎的使用過(guò)程中確實(shí)需要使用未導(dǎo)入的某個(gè)資源時(shí)(主動(dòng)點(diǎn)擊,或者該資源被其他使用中的資源依賴),則觸發(fā) on-demand 隊(duì)列中該資源的導(dǎo)入。
按需導(dǎo)入模式下,被分類為 on-demand 的資源在導(dǎo)入工作進(jìn)程完成導(dǎo)入,因此在該模式下通過(guò)任務(wù)管理器查看 Editor 進(jìn)程,可以看到多個(gè) Editor 進(jìn)程存在,除主進(jìn)程外,其他均為用于資源導(dǎo)入的工作進(jìn)程。
資源觸發(fā)導(dǎo)入之后,Editor 主進(jìn)程會(huì)給工作進(jìn)程發(fā)送請(qǐng)求進(jìn)行導(dǎo)入,在工作進(jìn)程導(dǎo)入完成后,會(huì)發(fā)送結(jié)果給主進(jìn)程,并在主進(jìn)程 Editor 中完成導(dǎo)入資源的顯示。按需導(dǎo)入的資源可以看到圖標(biāo)呈現(xiàn)模糊 -> 導(dǎo)入轉(zhuǎn)圈 -> 清晰的顯示變化。
按需導(dǎo)入模式下,引擎會(huì)自動(dòng)分析當(dāng)前需要的資源,并在打開(kāi)場(chǎng)景、打包 AB、構(gòu)建 player 等情景下自動(dòng)對(duì)所需依賴的資源進(jìn)行導(dǎo)入。同時(shí),由于將資源的導(dǎo)入從啟動(dòng)時(shí)延后到使用時(shí),因此可以極大加快工程的首次啟動(dòng)速度。
開(kāi)啟資源按需導(dǎo)入模式后,打開(kāi)工程時(shí)僅需導(dǎo)入少量必需的資源。其余資源僅在其需要被訪問(wèn)時(shí)導(dǎo)入。對(duì)于多人協(xié)作的大型項(xiàng)目,一個(gè)開(kāi)發(fā)者通常只需訪問(wèn)工程中的小部分資源,使用按需導(dǎo)入模式可以省去導(dǎo)入其它大量資源的時(shí)間。實(shí)測(cè)數(shù)據(jù)顯示,部分項(xiàng)目打開(kāi)時(shí)間可以從2小時(shí)以上降至不到4分鐘。
智能加載機(jī)制:靈活操作,精準(zhǔn)導(dǎo)入
On-Demand Import 功能的核心優(yōu)勢(shì)在于其智能的資源加載機(jī)制,適配不同的場(chǎng)景需求:
導(dǎo)入模式靈活:開(kāi)發(fā)者可以單獨(dú)導(dǎo)入一個(gè)或多個(gè)資源,也可以進(jìn)行批量導(dǎo)入。
批量處理能力:批量導(dǎo)入支持從選定文件夾或搜索結(jié)果中批量導(dǎo)入資源,也可設(shè)置遞歸導(dǎo)入子目錄選項(xiàng),滿足不同場(chǎng)景需求。
自動(dòng)識(shí)別依賴:當(dāng)用戶選擇需要編輯的特定資源后,系統(tǒng)將自動(dòng)識(shí)別并加載該資源的依賴資源,無(wú)需手動(dòng)追蹤。
![]()
工程減負(fù):輕量編輯,即時(shí)響應(yīng)
根據(jù)某十萬(wàn)級(jí)資源體量的大型項(xiàng)目實(shí)測(cè)數(shù)據(jù)顯示,按需導(dǎo)入與全量導(dǎo)入、并行導(dǎo)入相比有顯著的速度優(yōu)勢(shì)。該模式在項(xiàng)目初次導(dǎo)入與版本遷移場(chǎng)景中,均能實(shí)現(xiàn)快速啟動(dòng),有效降低等待導(dǎo)入的時(shí)間成本。
導(dǎo)入模式
Normal
Parallel
Ondemand
低配機(jī)
Intel(R) Core(TM) i7-10700 8-Core
263分鐘
97分鐘
10分鐘
高配機(jī)
AMD Ryzen 9 9950X 16-Core
139分鐘
38分鐘
4分鐘
資源狀態(tài)可視化
按需導(dǎo)入模式下,已導(dǎo)入和未導(dǎo)入的資源將以不同的效果呈現(xiàn),開(kāi)發(fā)者可以迅速識(shí)別,避免重復(fù)導(dǎo)入,減少?zèng)Q策時(shí)間。
已導(dǎo)入資源顯示完整縮略圖
未導(dǎo)入資源采用模糊化圖標(biāo)呈現(xiàn)
如Fbx 模型文件:
![]()
快速上手
按需導(dǎo)入模式操作簡(jiǎn)單,支持以下兩種打開(kāi)方式:
通過(guò)命令行參數(shù)啟用
在打開(kāi)項(xiàng)目時(shí),在編輯器中添加一個(gè)命令行參數(shù):
-ondemand=normal
通過(guò)配置文件啟用
在項(xiàng)目根目錄下創(chuàng)建一個(gè)名為 adb2.txt 的文件,內(nèi)容為“ondemand=normal”的文件
立即體驗(yàn)
歡迎開(kāi)發(fā)者升級(jí)至Tuanjie 1.6.0版本,親身體驗(yàn)On-Demand Import 模式帶來(lái)的效率提升。
更多詳細(xì)信息請(qǐng)參閱《團(tuán)結(jié)引擎用戶手冊(cè)》中“資源工作流程-資源按需導(dǎo)入”部分。
https://docs.unity.cn/cn/tuanjiemanual/Manual/OnDemandImport.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)”用戶上傳并發(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.