《 Unity 官方案例精講》一書中在第 9 章介紹了角色換裝示例與 Asset Bundle 的使用。示例中還展現瞭如何用 SkinnedMeshRenderer
渲染模型。雖然是好幾年的示例了,但其中的換裝的一些基本思想仍是能夠借鑑的,示例中動畫的播放不用太在乎,是 legacy 動畫播放,瞭解下就好。下面先來看一下運行圖。git
完整的示例代碼點擊 這裏 。
文件 DressingCreateABEditor.cs 包含了建立 Asset Bundle 代碼。文件 CharacterGenerator.cs 包含了加載 Asset Bundle 並建立角色模型和換裝代碼。文件 CharacterABMgr.cs 實現了簡單的同步加載 Asset Bundle 代碼。代碼很直觀清晰,很少作說明了,具體細節看代碼即可。動畫
Recipes/Dressing Room Example/Create Asset Bundle
建立 Asset Bundle 。File Scale
是 1 而有些是 0.01 ,若是是 0.01 須要設置 Scale Factor
爲 100 。Aniamation Type
選擇 Legacy ,Generation
選擇 Store in root(New)
( Unity5.5 不知道之後還有沒有此選項),點擊 Apply 按鈕後,Unity 識別 fbx 模型文件對應的動畫 fbx 模型文件,並創建依賴關係,並將其中的動畫添加到角色用到的 fb 模型導入時的 Animation
組件上。示例中播放動畫就是經過 Animation
組件播放。Import Materials
選項。示例中會在運行時,根據文件名動態設置模型用到的 Materials 。換裝其實就是加可更換的肢體部位對應的不一樣材質,來實現換裝。打包 Asset Bundle ,必要時經過文件名創建映射關係,如肢體部位與對應的材質。流程以下。code
因爲示例目的在於展現換裝和 Asset Bundle 如何搭配使用,因此資源加載方面徹底使用了同步加載,便於理順流程。blog
顯示完成後,即可由經過菜單換裝。遊戲