一添谊、引言
AssetGraph是一種減少資源導(dǎo)入構(gòu)建工作流所需的工作量的工具,構(gòu)建AssetBundle和構(gòu)建可運行應(yīng)用侄榴。使用這個工具,您可以構(gòu)建工作流网沾,以圖形化的方式創(chuàng)建牲蜀、修改和更改資源設(shè)置,甚至使它們自動設(shè)置绅这,從而使設(shè)計師和藝術(shù)家在游戲開發(fā)過程中從重復(fù)的任務(wù)中解脫出來涣达。
- 重要說明:
本插件是Unity日本分公司開發(fā)的一款可視化資產(chǎn)自動化構(gòu)建工具,但該工具已經(jīng)停止開發(fā)证薇,無法直接基于該插件進行自動化工作流構(gòu)建和部署度苔,有一些地方會有報錯。需要項目上的程序員二次開發(fā)浑度。
Unity 2019 新特性在次時代手游 《黑暗之潮》中的應(yīng)用經(jīng)驗及技術(shù)分享www.bilibili.com/video/BV1ca4y1W7wN
Unity線上技術(shù)大會干貨盤點(2020)-《黑暗之潮》中次時代技術(shù)的應(yīng)用經(jīng)驗及技術(shù)https://zhuanlan.zhihu.com/p/355729231
二寇窑、支持的版本
Unity 2018.4.2f1 及以上版本。
三箩张、安裝
可以從Unity 的Package Manager中進行安裝甩骏。
從unity工程頂部工具欄【window】> 【Package Manager】,點擊+號按鈕先慷,從下拉菜單中選擇“Add package from git URL”饮笛,然后在鏈接中輸入地址:https://github.com/Unity-Technologies/AssetGraph.git。
四论熙、界面
4.1Graph編輯窗口
Graph編輯器窗口是一個可視化窗口福青,在此界面可以查看、編輯和構(gòu)建資源流程脓诡。
編號 | 說明 |
---|---|
1 | 當(dāng)前已打開的資源流程圖无午,單擊以打開下拉菜單。 |
2 | 刷新Graph |
3 | 顯示Graph中所有的錯誤 |
4 | 顯示Graph中的說明 |
5 | 導(dǎo)出有關(guān)Graph何時重新加載和其構(gòu)建時間的詳細(xì)消息祝谚。 |
6 | 啟用此選項可將Graph用作資源后處理器宪迟。啟用了此選項的Graph將在每次更新此項目中的資源時運行。 |
7 | 當(dāng)前應(yīng)用的平臺交惯,可以從下拉菜單中選擇其他平臺 |
8 | 運行此Graph(在1.7.2預(yù)覽版中次泽,此按鈕名稱被變更為Execute) |
9 | |
10 | 顯示此Graph的資源路徑 |
4.2The Graph 編輯器菜單
編號 | 說明 |
---|---|
1 | 在編輯器中選擇要打開的Graph類型 |
2 | 創(chuàng)建一個新的Graph |
3 | 導(dǎo)出或?qū)胍粋€json格式的Graph設(shè)置 |
4.3日志窗口
日志窗口顯示在“AssetGraph”節(jié)點中完成的資源修改的列表。它還顯示了在Graph中發(fā)生的任何錯誤商玫。
序號 | 說明 |
---|---|
1 | 清除記錄 |
2 | 激活以使在每次運行資源自動化配置時箕憾,都會先清除記錄。 |
3 | 資源預(yù)覽 |
4 | 資源的名稱以及日志記錄的時間 |
5 | 日志類型拳昌,以及工作流的名稱和節(jié)點名稱 |
6 | 打開工作流圖表并選擇發(fā)出此日志事件的節(jié)點 |
7 | 日志列表 |
4.3.1錯誤記錄
當(dāng)運行Graph出現(xiàn)錯誤時,日志中會出現(xiàn)一個通知钠龙。在日志中顯示了對錯誤的描述炬藤,以及如何修復(fù)它御铃。
4.4 The Batch Build Window批量生成窗口
該批處理構(gòu)建窗口允許您在多個平臺上同時運行多個Graph列表
4.4.1 The Edit Tab編輯選項卡
序號 | 說明 |
---|---|
1 | 切換編輯沈矿、運行選項卡 |
2 | 點擊add按鈕可以新增一個空的集合上真,也可以通過拖放創(chuàng)建集合。 |
3 | Graph列表 |
4 | 顯示當(dāng)前選定的Graph集合中包含的Graph羹膳。集合中的Graph將按從上而下的順序運行睡互。可以通過在列表中拖動Graph來更改順序陵像。 |
4.4.2 The Build Tab 運行選項卡
序號 | 說明 |
---|---|
1 | 下拉選項就珠,選擇一個Graph集合 |
2 | 運行所選中的Graph |
3 | 更改指定的平臺,用鼠標(biāo)右鍵單擊以添加或刪除一個平臺 |
4 | 顯示運行的狀態(tài):成功醒颖、失敗 |
5 | 詳細(xì)的運行結(jié)果妻怎,以及失敗時的報告信息 |
4.5 The Project Window 項目窗口
Graph有項目級別共享設(shè)置,這些設(shè)置在項目窗口中實現(xiàn)泞歉。
要修改項目設(shè)置逼侦,選擇 Menu>Window>Asset Graph>Open Project Window,打開項目設(shè)置窗口
4.5.1 The Asset Bundles 選項卡
序號 | 說明 |
---|---|
1 | 選擇一個在AssetBundle構(gòu)建時的緩存目錄 |
2 | 與AssetBundle集成時腰耙,默認(rèn)的Graph |
4.5.2 The Execution Order Tab執(zhí)行順序選項卡
序號 | 說明 |
---|---|
1 | Graph的名字 |
2 | 執(zhí)行順序挺庞,首先執(zhí)行值最小的Graph涕滋,沒有特殊設(shè)置的將默認(rèn)按此順序從上到下執(zhí)行 |
3 | 從列表中增加/移除Graph |
五、基礎(chǔ)操作
AssetGraph在Graph中完成所有的工作挠阁。創(chuàng)建Graph后宾肺,請從“Graph Editing 窗口”添加節(jié)點Node,通過鏈接Node侵俗,可以為待處理的Asset配置工作管道锨用。
Asset將從左到右處理,在每個階段進行修改和分組隘谣,最終作為AssetBundle進行添加增拥,或者復(fù)制到特定目錄。
使用此工具的基本方法是通過使用內(nèi)置Node節(jié)點或自定義節(jié)點來構(gòu)建流程管道寻歧,然后一次性處理許多的Asset掌栅。
5.1 創(chuàng)建一個Graph工作藍圖
要創(chuàng)建一個Graph,選擇【Create New】码泛,或者右鍵單擊并選擇“AssetBundle Graph”.也可以選擇Menu > Window > Asset Graph > Open Graph Editor猾封,并點擊‘Create’按鈕
當(dāng)你已經(jīng)創(chuàng)建過一個Graph asset文件,則可以雙擊打開它進行編輯噪珊。在編輯器界面晌缘,可以右鍵創(chuàng)建新的節(jié)點齐莲。
5.2 加載資源類型Loading Assets
要配置一套工作流程Graph,需要先加載資源磷箕。在編輯器藍圖窗口中选酗,右鍵點擊后出現(xiàn)“右鍵菜單”,在菜單中選擇Loading Assets岳枷。然后我們在出現(xiàn)的二級菜單中芒填,選擇【Load From Directory】就會從特定目錄加載資源。也可以從【project】窗口拖動目錄到編輯器藍圖窗口中空繁,也可以創(chuàng)建來自該目錄的節(jié)點殿衰。
創(chuàng)建節(jié)點后,選中該節(jié)點家厌,則右邊的【Inspector】中會出現(xiàn)本節(jié)點的信息播玖,你也可以在這里進行加載路徑的修改。點擊【Select】后可以從資源目錄下選擇需要操作的資源文件夾饭于。
現(xiàn)在已經(jīng)創(chuàng)建了加載資源節(jié)點蜀踏,可以創(chuàng)建另外一個節(jié)點并鏈接他們。在鏈接節(jié)點時掰吕,你可以看到該資源被傳遞給已鏈接的節(jié)點果覆。單擊此鏈接,可以從【Inspector】中看到傳遞的資源列表
對于加載節(jié)點類型殖熟,在一個Graph中局待,沒有數(shù)量上限限制。但是當(dāng)打包為Asset Bundles模式時菱属,如果一個asset在多個Asset Bundles中钳榨,就會報錯。
5.3 資源組節(jié)點類型Grouping Assets
使用資源編組的方式對資源進行分組管理纽门,通常建議當(dāng)你希望向Asset Bundle中添加大量資源薛耻,或希望從一組資源中創(chuàng)建一個Prefab時使用。當(dāng)資源首次加載時赏陵,他們都在一個默認(rèn)名稱為“0”的組中饼齿。你可以以任何你喜歡的方式組合資源◎Γ可以嘗試右鍵【Group Asset】—【Group By File Path】(按文件路徑分組)來創(chuàng)建節(jié)點缕溉。
【Group By File Path】是一個按文件路徑分組對資源進行分組管理的節(jié)點。比如:如果Assets/Enemies文件夾下有【Pirate】吃型、【Vampire】的角色資源证鸥,他們將被分為兩組。
【Group By File Path】匹配文件路徑并對其進行分組敌土,如上圖所示镜硕,在這個特殊的示例中使用通配符(*)模式匹配很方便运翼。選擇【W(wǎng)ildCard】(通配符)作為模式類型返干,并選擇“enemies”作為分組關(guān)鍵字
創(chuàng)建另外一個節(jié)點,將其與【Group By File Path】鏈接起來血淌,然后選中連線矩欠。在【Inspector】中,你可以看到“Pirate”和“Vampire”目錄下的資源分別被編組到【Pirate】和【Vampire】組中悠夯。
要構(gòu)建asset bundle設(shè)置癌淮,請在編輯器藍圖區(qū)域右鍵單擊,然后【Configure Bundle】—【Configure Bundle From Group】創(chuàng)建節(jié)點沦补。創(chuàng)建完畢后乳蓄,將其與【Group By File Path】鏈接在一起。
5.4 構(gòu)建AssetBundle類型Constructing AssetBundle Settings
當(dāng)對資源進行分組時夕膀,請嘗試將其轉(zhuǎn)換為AssetBundle虚倒。你必須創(chuàng)建一個AssetBundle設(shè)置,才能將組轉(zhuǎn)換為AssetBundle产舞。創(chuàng)建AssetBundle設(shè)置包括命名AssetBundle魂奥、指定變量等。在構(gòu)建AssetBundle之前易猫,需要鏈接一個節(jié)點耻煤,用于創(chuàng)建你的AssetBundle設(shè)置并映射到該組。
創(chuàng)建AssetBundle設(shè)置准颓,右鍵單擊并選擇【Configure Bundle】—【Configure Bundle From Group】哈蝇,創(chuàng)建好后,將【Group By File Path】節(jié)點鏈接過來即可攘已。
5.5 創(chuàng)建Asset Bundles
你已經(jīng)成功設(shè)置了Bundle炮赦,我們現(xiàn)在將開始為AssetBundle構(gòu)建做準(zhǔn)備。要根據(jù)設(shè)置進行Bundle構(gòu)建贯被,請右鍵單擊【Build】—【Build Asset Bundles】以創(chuàng)建一個新的節(jié)點眼五。鏈接【Configure Bundle From Group】節(jié)點和【Build Asset Bundles】節(jié)點,如果你要修改AssetBundle的構(gòu)建設(shè)置彤灶,比如壓縮方法看幼,請選擇【Build Asset Bundles】節(jié)點,并在“Inspector”窗口中勾選復(fù)選框』仙拢現(xiàn)在你已經(jīng)準(zhǔn)備好構(gòu)建你的AssetBundle了诵姜。
5.6 Building A Graph
你已經(jīng)處理了從加載資源到構(gòu)建AssetBundle的完整流程,現(xiàn)在可以開始構(gòu)建Graph工作流了搏熄,讓我們看看他們的效果如何棚唆。要開始構(gòu)建工作流暇赤,請單擊窗口上的【Excute】
當(dāng)進度條消失的時候,構(gòu)建完成宵凌。打開在【Build Asset Bundles】中選擇的目錄鞋囊,檢查文件是否已導(dǎo)出。如果你設(shè)置為在緩存目錄中構(gòu)建瞎惫,AssetBundle將在安裝目錄的緩存目錄下溜腐。
5.7 同時構(gòu)建多個Graph工作藍圖
當(dāng)隨著項目的進展,需要制作多個Graph時瓜喇,轉(zhuǎn)到 【Menu】—【W(wǎng)indow】—【Asset Graph】—【Open Batch Build Window】挺益,該批處理構(gòu)建窗口功能,可以允許你同時為多個平臺構(gòu)建多個Graph工作流乘寒。要了解關(guān)于批處理生成窗口的更多信息望众,請參閱4.4批量生成窗口
六、進階操作
6.1 資源分類
當(dāng)使用目錄和標(biāo)簽加載資源時伞辛,資源類型并不總是相同的烂翰。在將資源傳遞給下一個節(jié)點時,要按照名稱或類型對資源進行分類時始锚,可以使用【Split Assets】—【Split By Filter】刽酱,此篩選器允許你根據(jù)名稱和類型對資源進行分類,你還可以添加自己的過濾器瞧捌,(高級功能:添加自定義篩選器)棵里。當(dāng)一個資源匹配多個篩選器時,該資源將導(dǎo)出到它經(jīng)過的第一個篩選器姐呐,這意味著篩選器的順序很重要殿怜。
6.2 創(chuàng)建資源Creating Assets
你可以創(chuàng)建新的資源,比如:你可能從美術(shù)添加的貼圖曙砂、模型头谜,自動創(chuàng)建游戲預(yù)制體。右鍵單擊鸠澈,選擇【Create Assets】—【Create Prefab From Group】柱告,以創(chuàng)建一個節(jié)點。要使用【Create Prefab From Group】創(chuàng)建預(yù)制體笑陈,你必須向項目中添加預(yù)生成腳本际度。請參閱高級功能:從組內(nèi)創(chuàng)建預(yù)制體,如何成為一個預(yù)制體構(gòu)建者涵妥。
當(dāng)你通過【Create Prefabs From Group】來創(chuàng)建預(yù)制體時乖菱,程序會自動生成預(yù)覽并添加到導(dǎo)出。
6.3 編輯資源Editing Assets
你可能會需要批量編輯資源,或者作為批處理時批量編輯資源窒所。通過使用AssetGraph鹉勒,可以一次性編輯導(dǎo)入設(shè)置,并直接編輯未通過導(dǎo)入器的資源(比如材質(zhì)吵取、貼圖)禽额,如果你要更改貼圖和模型的導(dǎo)入設(shè)置,右鍵單擊【Modify Assets】—【Overwrite Import Settings】
你可以使用【Overwrite Import Settings】節(jié)點海渊,變更模型绵疲、貼圖哲鸳、材質(zhì)臣疑、音頻、視頻的導(dǎo)入設(shè)置徙菠。有關(guān)如何使用它的更多信息讯沈,請參閱【Built-in nodes】—【Overwrite Import Settings】,當(dāng)資源傳遞到節(jié)點時婿奔,資源的設(shè)置將被修改缺狠。
如果要編輯沒有導(dǎo)入的資源,請使用【Modify Assets Directly】節(jié)點萍摊,要了解如何使用它挤茄,請參考【Built-in nodes】—【Modify Assets Directly】