在Minecraft基岩版中匯入obj模型

Wavefront OBJ是3D建模常見的格式之一,相較於過去基岩版Add-On用方塊堆成模型,在Minecraft 1.14加入的實驗性obj格式允許製作更精細的模型。




從網路上下載來的模型,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基本實體


    第一種方法:用bridge.v1轉換

    bridge. v1舊版有匯入Obj模型的功能,僅能調整比例和識別符,且該程式得安裝在電腦上執行。
    之所以說要用舊版,是因為bridge v2.0大改版之後還沒有實裝這個功能。
    影片教學:



    1. bridge是專門做Add-On的編輯器,所以一定會要你先建立行為包和資源包。
    按左邊的按鈕New Project建立行為包,接著按第二個圖示建立資源包。



    2. 按下File→Import→Import OBJ Model,在面板選取OBJ檔案和紋理貼圖。輸入識別符(Model Identifier)後按下Import。



    3. 轉換的json檔案會儲存在資源包/models/entity/,按一下橫排的資料夾圖示開啟該檔案所在位置,接著就能作為實體模型用在自己的Add-On中了,識別符可能還需要修正,不滿意大小可用行為包的minecraft:scale組件調整。



    第二種方法:用obj2mcbe轉換


    ESBE光影作者McbeEringi製作的網頁轉換器,可以選擇輸出的格式版本(format_version),以盔甲架當範本,無法事先指定識別符。

    1. 選擇obj檔案,接著選擇輸出的版本(預設是1.16.0,要做成皮膚包請選1.8.0)


    2. 按下Run,MCBE Geometry預設會建立一個檔案,按下save as "armor_stand.geo.json"



    第三種方法:用Skin Studio轉換

    Mr.Arm的Skin Studio網頁程式適合將obj修改成人形模型,該網站提供玩家模型骨骼,將其與obj結合,輸出成JSON檔案,然後就可以套用玩家的動畫。
    如果你覺得功能不夠,可以去自行下載網站程式碼進行修改(Github上的是舊的)。

    影片教學:




    這個MMD模型為例,我要將它修改作為玩家的模型,因此光轉檔不夠,還要製作骨骼。

    1. 由於MMD材質不只有一張,所以要先匯入pmx到Blender中,然後手動重新UV。

    2. 移植完UV後,開始用選取工具切手手,separate by selection,切出「頭」、「手」、「腳」、「身體」,並用Collection分類。





    3. pivot point不用現在就定位,但可以對模型做漏洞修補。選取多個vertex再按F可以把洞填起來。


    4. 在每個身體部位的Collection,按住shift 選取全部mesh,crtl + J合併每個collection裡面的mesh。


    按照Minecraft原版玩家模型的格式,整理成如下模樣。




    5. 匯入空白玩家的obj模型(可至這部影片下載),用於比對大小。
    通常MMD模型會跟玩家模型180度相反,所以要旋轉,且MMD人物還要縮小比例。



    6. 匯出成.obj檔案,右邊的Path Mode模式記得選Copy。




    7. 開啟Skin Studio,上傳模型和材質。
    整理mesh的用意就在於此,每個身體部位應該都只有一個mesh。



    8. 點選mesh,再按上方的Bone,移動到對應的部位bone裡面。


    9. 調整pivot point,這個編輯器是以玩家的模型為基礎,因此能用畫面上的箭頭直接拉。



    9. 按下Export匯出,會得到一個皮膚包檔案。
    可以參考下文了解皮膚包如何使用,或者把geometry整合到資源包裡面。
    匯出的geometry ID預設是n01,記得要開啟檔案修改( 需要用電腦才能開啟大型json檔案)。

    留言

    此網誌的熱門文章

    Minecraft基岩版多人連線教學: 方法一覽

    【詳細解說】什麼是Minecraft基岩版,跟Java版有什麼差?

    Minecraft基岩版安裝模組(Add-On)&資源包&光影教學