Wavefront OBJ是3D建模常見的格式之一,現在你可以在Minecraft Add-Pn使用了!Minecraft基岩版1.14之後實驗性的加入obj模型支援。
相較於過去基岩版Add-On,玩家用Blockbench方塊堆成的模型,obj格式允許玩家製作更精細的polygon模型。
例如這個 MannixWu提供的作品
從網路上下載來的模型,GTA VC的Tommy。
這篇文章討論三種轉換obj模型的方法,模型僅供教學用途。
OBJ模型與JSON檔案的關係#
- 基岩版的JSON只支援單張紋理貼圖的obj模型。
- obj格式的模型不能直接在Add-On中使用,必須要轉換成JSON。
- Obj模型必須有UV資訊,否則JSON裡UV為空的話Minecraft會閃退。
轉換成JSON後,就沒辦法再編輯了,Blockbench 4.0還不支援編輯含有obj數據的JSON。
Minecraft基岩版的模型檔案都是以JSON儲存,obj也不例外,JSON直接在骨骼裡面儲存網格(mesh)的數據。
JSON記載的只有模型和UV的資訊,而且檔案也會比較大。但因為有骨骼,要做動畫還是有可能的,不過還沒有能用的編輯器面世。
模型的紋理貼圖一般是放在資源包/textures/entity/
,詳情參考
如何製作Add-On基本實體。
1. 第一種方法:用bridge.v1轉換#
bridge. v1舊版有匯入Obj模型的功能,僅能調整比例和識別符,且該程式得安裝在電腦上執行。
之所以說要用舊版,是因為bridge v2.0大改版之後還沒有實裝這個功能。
下載點: bridge. v1
影片教學:
- bridge是專門做Add-On的編輯器,所以一定會要你先建立行為包和資源包。
按左邊的按鈕New Project建立行為包,接著按第二個圖示建立資源包。
按下File → Import → Import OBJ Model,在面板選取OBJ檔案和紋理貼圖。輸入識別符(Model Identifier)後按下Import。
轉換的json檔案會儲存在資源包
/models/entity/
,按一下橫排的資料夾圖示開啟該檔案所在位置,接著就能作為實體模型用在自己的Add-On中了,識別符可能還需要修正,不滿意大小可用行為包的minecraft:scale
組件調整。
2. 第二種方法:用obj2mcbe轉換#
網址: https://mcbeeringi.github.io/apps/mc/poly.html
ESBE光影作者McbeEringi製作的網頁轉換器,可以選擇輸出的格式版本(format_version),以盔甲架當範本,無法事先指定識別符。
按下
Run
,MCBE Geometry預設會建立一個檔案,按下save as "armor_stand.geo.json"
3. 第三種方法:用Skin Studio轉換#
Mr.Arm的Skin Studio網頁程式適合將obj修改成人形模型,該網站提供玩家模型骨骼,將其與obj結合,輸出成JSON檔案,然後就可以套用玩家的動畫。
網址: https://mrarm.io/skinstudio/
如果你覺得功能不夠,可以去自行下載網站程式碼進行修改(Github上的是舊的)。
影片教學:
以 這個MMD模型為例,我要將它修改作為玩家的模型,因此光轉檔不夠,還要製作骨骼。
- 由於MMD材質不只有一張,所以要先匯入pmx到Blender中,然後手動重新UV。
相關文章: MMD模型移植到Minecraft基岩版
移植完UV後,開始用選取工具切手手,separate by selection,切出「頭」、「手」、「腳」、「身體」,並用Collection分類。
pivot point不用現在就定位,但可以對模型做漏洞修補。選取多個vertex再按F可以把洞填起來。
在每個身體部位的Collection,按住shift 選取全部mesh,crtl + J合併每個collection裡面的mesh。
- 匯入空白玩家的obj模型(可至 這部影片下載),用於比對大小。
通常MMD模型會跟玩家模型180度相反,所以要旋轉,且MMD人物還要縮小比例。
整理mesh的用意就在於此,每個身體部位應該都只有一個mesh。
按下Export匯出,會得到一個皮膚包檔案。
可以參考下文了解皮膚包如何使用,或者把geometry整合到資源包裡面。
匯出的geometry ID預設是n01,記得要開啟檔案修改(建議用電腦開啟大型json檔案)。