BaseModel

VRMの元になる条件
2020-10-15 18:23:26 +0900 +0900
最終更新 2020/10/15: add a section for humanoid component (3a059ea)

以下の条件を満たす GameObject をエクスポートして VRM にできます。

  • Animator がアタッチされている
  • Animator に HumanoidAvatar がセットされている

FBX

fbx で上記の条件を満たすには、 fbx importerrig 設定で humanoid 化してください。 fbx の prefab は、 humanoid 化すると Animator がアタッチされて HumanoidAvatar がセットされた状態になります。

fbx が humanoid 化できるには、

  • 必須のボーンがすべて含まれている
  • ボーンの親子関係が正しい

の2つの条件が必用です。

  • ボーンの名前は自由です

参考

BlenderからUnityのHumanoid互換でfbxをエクスポートする

FBX をシーン上で加工する

問題ない

  • fbx prefab 内の GameObject に子 GameObject を追加する
  • fbx prefab 内の GameObject を disable にする

うまくいかない場合あり

  • fbx prefab 内の GameObject を削除する
  • fbx prefab 内の GameObject を動かす(移動、回転、拡大・縮小、親の付け替え)

何故問題があるかというと

  • HumanoidAvatar が GameObject ヒエラルキーと一致しなくなる

からです。 HumanoidAvatar にはおそらく、

  • 元の姿勢
  • ヒューマンボーン(hipsなど)と GameObjectの対応関係

が記録されています。 これに変更を加えた場合再作成する必用があります。 下記の HumanoidComponent で作成できます。

GameObject から手動で HumanoidAvatar を作成する

fbx importer に頼らずに HumanoidAvatar を作成できます。

HumanoidComponent

これを使うと、

  • 人型の GLTF
  • シーン上でキューブを人型に積み上げる

などのヒエラルキーに対して、後付けで HumanoidAvatar を作成することができます。 HumanoidAvatar を作成した GameObject (シーン上、Prefabの両方) は エクスポートして VRM にすることができます。


VRM - humanoid 3d avatar format for VR