[Roblox]自製R15人物流程

使用MagicaVoxel建模與Blender Python自動綁骨架

前言

在MagicaVoxel中設計完人物之後,總會產生無限遐想,希望能做成動畫讓它動起來,或是能操控它,讓他隨著鍵盤滑鼠的控制跑跑跳跳,最好還能加點關卡就變成小遊戲。

做成動畫的方法可透過Mixamo平台,詳細可參考此篇快速做出人物動畫,而要做成遊戲首先就需要找到適合的遊戲開發平台,此平台學習成本不能太高、又得有足夠的開發自由度,更重要的是要有足夠活躍的社群,綜合以上條件Roblox就是不錯的選擇。

R15骨架系統

要將人物放進Roblox,就要先認識他獨特的R6、R15骨架系統,一般遊戲的人物就像橡皮一樣,整個人物模型是單一個體,綁定骨架後會隨骨架而型變,但Roblox中的人物則更像是木頭魁儡一般,人物是被拆成多塊肢體,是以肢體之間的互相轉動來達成動作,而R6、R15就是將人物拆成6塊、15塊兩種系統,想當然爾肢體數較多的R15能展現的動作更為細緻。

上圖為Roblox常用的人物版型,分別為R6、R15與最新的Anthro,R6、R15兩個人偶雖然長得很像,但仔細一看R15比R6在四肢上多出了許多關節;而Anthro模型雖然精緻的許多,但其實使用的還是R15系統,只是人物比例跟建模細膩度不同罷了。

然而Roblox的玩家群體多為青少年,僅少數玩家掌握Blender等專業軟體的建模技術,因此大多數玩遊戲作品中的人物都是簡單的方塊人,或許有人認為這就是Roblox的標誌,但如果有更好的選擇為何不試試,需要簡單好學又實用的建模軟體嗎,這就換MagicaVoxel出來拯救世界了。

Step 1.MagicaVoxel標準人物

我已經用MagicaVoxel事先設計好一款標準人物版型,人物總高度為60vox、比例為6頭身,放在SketchFab上可供免費下載,並可隨喜好自由設計。

下載後以MagicaVoxel開啟並打開右側的Outline分頁,會發現雖然在SketchFab中人物看起來是一個整體,但其實在MV中分別有15個子物件,分別就是R15系統中的每一個肢體,包含頭、胸、腹以及四肢各三節共15處。

這幾個子物件不能隨意改動名稱,這些命名都是配合Roblox的標準,否則之後會抓不到相對應的肢體;而在分別編輯每個肢體時也要切記,不能移動肢體,每個肢體都有配合Blender的骨架系統,任意移動會導致之後組合和型時,人物關節錯位,每個部位都設計完成後,便能以ply或mc模式輸出PLY檔備用。

Step 2.Blender全自動綁骨架

MV軟體畢竟只能建模,要綁骨架還是繞不開Blender這個令人又愛又恨的東西,我已經盡量把所有的操作用Script取代了,只剩執行腳本、輸出檔案兩個動作要自己動手,所有程式都放在這個GitHub專案中。

該專案中的Blender檔案roblox_R15_combine.blend,內有配合前述標準人物模型的A-pose骨架,以及將所有肢體綁定上R15骨架的Script。下載該專案後,先將資料夾./explode的內部清空,再將先前輸出的PLY檔全數複製至此,按下Blender中Script分頁的Run Script按鈕,接著每個肢體部位就會出現在對應的骨頭上。

按下Blender左上File/Export/FBX,輸出成Roblox可接受的FBX格式,並將Scale調整成0.01,以適應Roblox中場景的大小。

Step 3.Roblox載入人物

最後進入到Roblox Studio專案中,使用外掛程式/Avatar Import/R15載入剛輸出的FBX檔,接著屬於自己獨一無二的人物就出現在場景中了。

結語

成功載入人物僅僅只是第一步,Roblox當中可以玩的東西還相當多,如何讓人物成為預設控制腳色、能跑能跳做出動作、甚至穿上裝備、使用工具或放出招式,這些都相當值得探究。

以此流程所產生的人物,與Roblox的Rthro版型高度比例相當,如果創作的題材限制在一般體型的人類,算是相當夠用了,如果想要做出不同高矮胖瘦的人類,甚至讓不同種類的生物也能動起來,就還要額外設計新的骨架系統了。

--

--

No responses yet