公式サイト にあるように Unity に UniVRM を入れて出力する。VRM は以下の 厳密な定義 があるため、 最終出力 は Unity + UniVRM を使うことになる。
- モデルは原点に位置する
- モデルは-Z向き
- モデルのヒエラルキーは Y-UP
- モデルのメッシュは Y-UP
- モデルのヒエラルキーは T-Pose
- モデルのメッシュは T-Pose
- ボーンに回転を入れない
- ボーンにスケールを入れない
- ヘッドボーンは真正面を向いている
glTF (glb) ファイルの拡張子を VRM にリネームして読み込むことも一応可能だが、上記の定義を全て満たす必要があるため正しく表示されなくなる可能性が高い。
VRM そのものに対応したモデリングソフトは 2018/7/15 時点で存在しない。
中身は glTF のバイナリ形式である glb に VRM の拡張情報を付加したものなので glTF に対応するモデリングソフトであれば読み込み自体はそれで可能。ただし、VRM の拡張情報は失われる。
- Blender
- Metasequoia
- Xismo
- glTF 読み込みに対応していないため、未対応
VRM を再編集する際は VRM を glb に拡張子を変更し一回 FBX で出力し、それを Unity + UniVRM に流し込むフローが基本となる。MeshSync 使ってやる方法が効率的かもしれない。
要約すると glTF/VRM は PMD/PMX と比較してかなり制約が多く、MMD 特有の機能はほとんど使えないとみてよい。
- 頂点、法線、テクスチャ座標はある
- ボーンマッピングはBDEF1/2/4 のみ
- SDEF や QDEF は利用不可
- エッジは MToon シェーダを利用すれば利用可能
- 頂点単位のエッジ幅の設定は不可能
- 追加 UV は利用不可
- VRM の仕様として事前に用意されたシェーダで調整する
- 三角形で扱う
- ポリゴン数制約は VRM に対応するアプリケーションに依存する
- 表記が明記されてなければ基本的には制限なしとみてよい
- 純粋な変形のみ
- PMD/PMX にあるボーンの機能は IK を含めて利用不可
- 全て自前で相当する機能を実装しなければならない
- glTF ではジョイントと呼ばれる
- ブレンドシェイプという名前で存在するが、頂点モーフのみ
- グループ、ボーン、材質、追加UV のモーフは利用不可
- モーフの種類及びパネルは存在しない
- 以下の事前定義されたブレンドシェイプがある
- A
- あ
- I
- い
- U
- う
- E
- え
- O
- お
- Blink
- まばたき
- Blink_L
- ウィンク
- Blink_R
- ウィンク右
- Fun
- 笑い
- Angry
- 怒り
- Sorrow
- 困る
- Joy
- にこり
- A
- glTF/VRM では存在しない
- 揺れモノとして存在するが、全く別物
- Bullet Physics ではなく VRM 独自の実装のため
- 詳細は 揺れモノ設定 参照
- 衝突判定基準となる物体は球体のみ
- ボックスやカプセルは利用不可
- 衝突グループは存在しない
- glTF/VRM では存在しない
- glTF では PMD/PMX でいうボーンにあたるため、混乱を引き起こしやすい