一、前言
擱了很久的抖音直播小玩法開發,最近又讓我想起來了。由于是初次嘗試,所以我將開發費用的預算降到為零。不但不買服務器采用 UnitySDK 的指令直推,而且游戲的資產也用 AI 生成,主打省時又省錢。
但是圖片有了,動畫還是得自己做,于是我又從零開始學了一下 Spine 動畫制作。整個過程也是有很多值得記錄下來的,比如制作皮膚的教程,網上還是比較少,問 DeepSeek 也不全,做完后導入 Unity3D 報錯等問題。所以,跟著我這篇文章動手走一遍,還是能快速制作動畫皮膚的。
二、工具
Spine 3.8.75
spine-unity-3.8-2021-11-10
三、皮膚制作
在動手制作前,可以先對照一下自己的 Spine 版本,和 Unity3D 的 Spine 插件版本,后面我會說一個很有意思的導入問題,那下面就開始如何制作皮膚了。
1. 簡單的圖片皮膚示例
1.1. 畫面創建
導入兩張形狀一致,但紋理不同的圖片,然后兩張圖全部綁定在一個骨骼下,層級結構參考下圖。
1.2. 添加皮膚
在層級樹的皮膚中,點擊創建兩個皮膚,名字自定義。
1.3. 創建皮膚占位符
在層級樹中選擇一個皮膚,點擊左邊的 “眼睛(小圓點,表顯示)”,然后選中某插槽下的一個附件(圖片)。選擇后再點擊下面的 “新建” -> “皮膚占位符”。,名字自定。
1.4. 檢查皮膚切換
通過點擊皮膚左邊的眼睛按鈕,看看能不能展開皮膚占位符里的附件,因為給附件添加皮膚占位符后,就被折疊進占位符中了。
1.5. 創建動畫
進入動畫模式后,點擊兩張圖片上的骨骼,在攝影表中給該骨骼添加移動的關鍵幀,最后我們在播放時就可以切換皮膚了。
2. 簡單的網格皮膚演示
裝配和上面圖片的皮膚示例一樣,但是在綁定骨骼前,現對圖片網格處理(蒙皮),然后綁骨骼,刷權重。
2.1. 網格編輯
點擊圖片 -> 勾選網格 -> 編輯網格 -> 新建,然后對圖片的輪廓圍起來(像 PS 里的鋼筆一樣操作)。
2.2. 添加骨骼
選擇自定義的根骨骼,按照預期的動畫效果,添加幾個骨骼。
2.3. 給網格綁定骨骼
選中網格,點擊添加骨骼上方的 “權重” 按鈕,彈出一個權重窗口,點擊綁定,然后將下面添加的幾個骨骼選中(按 ctrl 多選),最后再點一下綁定。
2.4. 添加皮膚
第二張圖片重復前面的添加網格,但是不用再新建骨骼,和第一張共用,皮膚切換的作用就在這里了,多個皮膚共用一套骨骼動畫。
就像我們玩游戲的時候,不管怎么換皮膚,英雄的招式是一樣的,當然打擊特效可能也拆分出了皮膚除外。
2.5. 創建皮膚占位符
皮膚添加和占位符創建和前面的圖片皮膚示例一樣,只是這次是點擊網格而不是附件了。
四、導出與導入
導出是在 Spine 中導出能在 Unity3D 中使用的動畫文件,這里要注意格式和添加方法,還有前面提到的導入游戲引擎中報錯問題。
Spine 導出
點擊導出,選擇 “JSON”,確定輸出文件夾后,點擊 “打包設置”,為了被 Unity3D 支持,圖集擴展名要加上 “.txt”。
導入 Unity3D
從 Spine 導出后有三個文件,分別是 atlas.txt 的圖集文件,json 數據和 png 貼圖。
放入一個文件夾后直接復制到 Unity3D 項目的 Resources 后,游戲引擎會再生成一個 atlas 和 skeletonData 的 asset 文件,以及一個 mat 文件。
進入編輯器中,只需要將 SkeletonData.asset 拖到場景中即可。
導入運行報錯
當我第一次導進去后就提示錯誤:Error reading skeleton JSON file for SkeletonData asset: skeleton_SkeletonData Unsupported skeleton data, please export with a newer version of Spine。
根據提示是導出的 Spine 文件版本太低,其實就是我安裝的 Spine-Unity 插件和 Spine3.8.75 不匹配。一般的做法就是換新版 Spine,或安裝低版本 Unity 插件,但是我這次就對比了一下可以使用的 spine 動畫 json 文件。
發現格式都差不多,唯一不同的只是 skeleton 下的 spine 版本號,原本的是 3.8.75,當我改成 3.8.99 重新加載進去后竟然就可以了。這整得我也是很無語,就只是校驗了一下版本號,我還以為是格式不對。
五、寫在后面
其實想要快速制作游戲動畫,還有以一種更好的方法,那就是序列幀動畫。首先將 AI 生成的圖片,再輸入指定動作的提示詞,用圖生視頻。然后將視頻拆成圖片幀,最后只需要挑選一些摳圖做成圖片精靈就可以了。
雖然我一開始就是這樣想的,但是了解到 Spine 優點后就放棄這種方式。第二個原因,通過學習 Spine 我可以可持續制作動畫貼圖,還能上傳到平臺賺取收益,以后有時間我也會不定時地更新 Spine 動畫制作小案例。