VRM是日本近年在VR,Vtuber領域大力推薦的3D模型格式,2018年3月左右公開,還非常新穎,日文區以外的使用者還非常少,日文以外的教學,研究在網路上也不多,中文幾乎沒有。
既然我開發的wakaru採用了這個格式,因此有義務寫一些介紹與教學,這個系列只會包含粗淺,對於3D模型略有知識的人都能夠看懂的程度,太過深入的進階內容,還請多研讀VRM官網。
本篇圖文部分引用,翻譯自官方網站以及參考網站
官方:
參考資料:
一 簡介:
因為人形3D模型格式多種多樣的不統一,坐標係不同,尺度不同,初始姿勢不同,表情不同,骨骼導入程序的方法也不同。對於VR開發者來說模型的處理非常麻煩,雖然FBX可以被大多數3D軟件輸出與讀取,但是缺乏許多對於VR應用以及遊戲應用的必要資訊,VRM轉檔程式會自動補足這些缺少的部分,使人形3D模型的應用更加簡單 ,近日
vroid即將發表,應該會有很多人會有修改VRM的需求。
因為經過了VRChat上,MMD模型被濫用的事件,因此VRM特別加入了模型使用授權的設定,雖然實際上並無強制性,但至少比起傳統的readme更容易得到重視。
目前已知採用VRM格式的軟體有:
除了wakaru全是日系軟體
VRChat也有人聯屬,希望能夠支援VRM
二.架構
VRM基於3D標準格式glTF2.0,這是包含處理人形模型的規範和擴展的格式。
實際上~.vrm直接更改副檔名為.glb可以被win10讀取,我想一些支援glTF2.0的軟體應該也可以,不過一些拓展的資訊可能不會被讀取。
主要搭載的模型資訊有
紋理Texture
材質Material
著色器Shaders
網格Mesh (Vertex array、index array)
變形,表情 Blend shapes
蒙皮Skinning (4weight)
骨頭結構 Node 、bones、rig
第一人稱資訊 First-person setting
碰撞與彈簧物理骨骼Secondary (Spring bone、Collision detection)
授權與作者情報 Metadata
三. 工作流程
VRM目前官方只提供Unity的SDK用於讀取和寫入製作VRM,但VRM本身與平臺無關。可以在其他系統引擎和環境中處理。已有第三方的UE4 SDK正在開發中
製作VRM主要有幾個方法
1. 直接從能夠輸出VRM的軟體製作,如VRoid,ブイカツ,目前還很少,導出後可能也免不了進unity修正
2. 由主流3D軟體導出成glTF2.0,再用用官方SDK導入Unity,再轉換成vrm
3. 由主流3D軟體導出成fbx檔案,直接導入Unity,再轉換成vrm
本教學以fbx作為範例,無論來源,導入Unity後流程都相同
要被導入Unity的原始模型必須已經被設定好綁骨rig以及Blend shape
流程:
建議使用Unity2018版本配合最新版UniVRM(v0.40~)
如果使用Unity2017,必須使用UniVRMv0.35,新版本(v0.36~v0.40)會造成轉換後臉部錯位,且可能有其他相容問題
1.3D軟體製作FBX導出,包含blend shapes與Rigged bones
2.FBX導入Unity,第一次轉檔成VRM
3.VRM讀入Unity,各項設定(Metadata,Blend shape,Secondary,Shaders...)
4.第二次轉檔成VRM,完成
巴哈這邊作為我撰寫多語言前的基礎中文版
本系列預計著重於在模型已經完成的前提下的簡易修改的教學 :