Download presentation
Presentation is loading. Please wait.
1
遊戲設計 AssetBundle
2
獨立資源包 避免佔用多於記憶體(資源) 模型資源 UI(貼圖)資源 聲音資源 遊戲場景 AssetBundles 動態載入資源 全部載入資源
3
獨立資源包 更新資源包,不更新遊戲檔,增加更新速度 更新遊戲檔 重新送審 AssetBundles 聖誕風格 原始遊戲風格
4
AssetBundle 工作流程 4.從AssetBundle 讀取資源 3.在run time時下載 AssetBundle到應用中
外部儲存空間 1.建立AssetBundle
5
Asset Bundle內部儲存結構 Normal AssetBundle structure
6
創建 Asset Bundles Asset Bundle Name
於 Project 視窗選取欲加入 Asset Bundle 的 Asset 更改 Asset Bundle Name (預設為 None)
7
創建 AssetBundle Asset Bundle Name 於 Project 視窗選取欲加入 AssetBundle 的 Asset
更改 AssetBundle Name (預設為 None) 使用現有 AssetBundle 或新增 不加入 現有 新增 移除未使用
8
創建 AssetBundle 於 Project 視窗建立新資料夾 /Assets/Scripts/Editor
於資料夾內新增 C# Script “AssetBundleBuilder” 目的在於新增選單按鈕,直接執行 AssetBundle 匯 出功能
9
創建 AssetBundle 將所有已建立的 AssetBundle 匯出 BuildPipeline.BuildAssetBundles
須預先創立資料夾
10
創建 AssetBundle – 範例 建立兩組顏色不重複的 Prefab 物件 指定不同的 AssetBundle Name
AssetBundle 不限定於 Prefab ,Texture、Material亦可 Prefab 匯出時會連綁定的元件(Component)一同輸出
11
創建 AssetBundle – 範例 ※AssetBundle 匯出完成後,即可將 Project 內的 Prefab 刪除
assetbundle0.manifest ※AssetBundle 匯出完成後,即可將 Project 內的 Prefab 刪除
12
載入 AssetBundle Class WWW: Unity 內建功能,可擷取連結內容
從路徑(file:///X:/...)或網址( AssetBundle 取得載入完成的 AssetBundle 讀取特定 Asset Class WWW: Unity 內建功能,可擷取連結內容 Function AssetBundle.LoadAsset(string name): 從 AssetBundle 中讀取名為 name 的物件(Object)
13
C# Script AssetBundleLoader
14
載入 AssetBundle – 範例 GameObject 空物件
15
載入 AssetBundle – 範例 UI
16
載入 AssetBundle – 範例 C# Script AssetBundleLoader 讀取欲匯入的 AssetBundle
17
卸載 AssetBundle C# Script AssetBundleLoader
Function AssetBundle.Unload (bool unloadAllLoadedObjects): 當 unloadAllLoadedObjects 為 false 時,會完整保留已讀取並生成於場景(scene)中的物件。 當 unloadAllLoadedObjects 為 true 時,雖會保留形狀,但會遺失貼圖(texture)及材質(material)等元件(component)。
18
Asset Bundle Manager Asset Store – AssetBundle Manager & Example Scenes Tutorial – AssetBundles and the AssetBundle Manager
Similar presentations