バーチャル3Dクリエイター神部まゆみです(*^_^*)
この記事はVRM1.0とVRM0.0のunityでの違いや見分け方などのメモです。
あくまでもVRoid Studioでエクスポートしたモデルの場合のため、それ以外のVRMモデルの場合は分かりません(^_^;)
まぁだいたい同じなのかな?分からないけど。
VRM1.0とVRM0.0の違いは?
私はイマイチよくわかっていないので優秀なChatGPTパイセンに聞いてみます…。


VRM1.0とVRM0.0の違いを分かりやすく教えてください!

VRM1.0とVRM0.0の主な違いを分かりやすくまとめると、以下のようになります。
①仕様の安定性
- VRM0.0:正式な規格ではなく、主にVRoid Studioなどで作られたモデルの事実上の標準仕様として使われていた。
- VRM1.0:正式な規格として確立され、将来的な拡張や互換性が考慮されている。
②Unityの対応
- VRM0.0:
- Built-in RP向けに設計されており、URPやHDRPでの互換性が低い。
VRM/MToon
シェーダーが主流で、URPでは変換が必要。
- VRM1.0:
- URPやHDRPにも対応しやすくなった。
VRM10/MToon10
という新しいシェーダーが登場し、レンダリングの品質が向上。
③モーションと表情
- VRM0.0:
BlendShapeProxy
を使って表情を管理。uLipSync
などのリップシンクとの相性に課題があった。
- VRM1.0:
Expression
システムが導入され、表情の制御が細かくなった。- まばたきや口の動きの優先順位を制御しやすくなった。
④物理シミュレーション(SpringBone)
- VRM0.0:
VRMSpringBone
を使って髪や衣装を揺らすが、設定が少し手間。
- VRM1.0:
VRM10SpringBone
に進化し、物理挙動がよりリアルになった。- 設定がシンプルになり、挙動の調整がしやすい。
⑤ライセンス管理
- VRM0.0:
License
に独自の項目(商用利用の可否など)があった。
- VRM1.0:
- glTFの拡張仕様として標準化され、他の3Dフォーマットとの互換性が向上。
⑥互換性
- VRM0.0 のモデルを VRM1.0 に変換 することは可能だが、
VRM1.0 を VRM0.0 にダウングレード するのは難しい。
🎯 結論 VRM1.0はすごい!みんなもVRM1.0を使おうネ😊
- VRM1.0は、正式な規格になり、拡張性・互換性・物理演算が強化されたバージョン!
- 特にURP対応、表情制御の向上、SpringBoneの進化が大きなポイント!
VRM1.0に移行すると、Unityの最新環境(URP/HDRP)や他のツールとの互換性が上がるので、新しく作るならVRM1.0がおすすめです!
…らしいです。
しかしブレンドシェイプ周りの設定でVRM1.0はちょっと不具合というか癖がある感じっぽいです。
当面はVRM0.0も使いつつ使い分けていくつもりですね…。
VRoid StudioでエクスポートしたVRM0.0とVRM1.0の見分け方など
あくまでVRoid Studioでエクスポートしたモデルの話で、他のVRMモデルについては分からないけど。
まぁVRMモデルだとVRoid Studioでエクスポートしたモデルを使っている人が多いと思うので、まぁ参考程度に。
VRoid Studioだとエクスポートする時にVRM1.0とVRM0.0か選べるので、それをunityにインポートした時の話です。


最近のUniVRMでは、VRM0.0モデルをインポートすると自動でVRM1.0モデルも生成されるっぽい?
最近のというか、VRM1.0が出てからもう2年以上経つから結構前からかな。
VRM0.0のモデルをインポートすると、VRM1.0のモデルも一緒に生成されます。


VRM0.0のモデルは横にあるやつで残ってるんだけど、間違えやすいから注意した方が良いです。
VRM1.0モデルのunityでの見分け方 拡張子が .vrm
VRM1.0のモデルの方は拡張子が .vrm で、コンポーネントにVRM Instanceってのがあります。


VRM0.0モデルのunityでの見分け方 拡張子が .prefab
VRM0.0のほうは拡張子が .prefab で、↓コンポーネントにVRM Blend Shape Proxyってやつがあります。
あとVRM First PersonとかVRM Look At HeadとかもVRM1.0にはなかった。


コンポーネントが違うことでブレンドシェイプ周りの制御方法などが違ってくるため、どちらを使っているかは一応把握しておいたほうが良いです。
コンポーネントで見分ける
VRM1.0はコンポーネントが少なく、VRMと名前がついているのはVRM Instanceしかない。


VRM0.0はVRM Look At Boneやらたくさんコンポーネントがあります。


- VRM Meta
- VRM Humanoid Description
- VRM Blend Shape Proxy
- VRM First Person
- VRM Look At Head
- VRM Look At Bone Applyer
めっちゃありますね(^_^;)
「VRM関係のコンポーネントがたくさんあってゴチャゴチャしてるほうがVRM0.0」と覚えておくと分かりやすいかなw
各コンポーネントの説明はVRMの公式ドキュメントを参照してください。




VRM Look At系は設定してもちゃんと動いてるのかイマイチ分からなかったな…。
有料だけどLook Animatorアセットは設定項目が多めで使いやすかったです。
UniVRMはVRM1.0向けとVRM0.0向けがあるので注意
unityにVRMモデルを読み込む場合、UniVRMを使う人が多いと思うけど、VRM1.0向けとVRM0.0向けがあるので注意が必要です。
例えばVRM1.0用のUniVRMを入れてないプロジェクトにVRM1.0モデルをインポートした場合、マテリアルエラーになる。



まぁとりあえず両方入れておけば大丈夫だけど。
シェーダーもVRM1.0向けとVRM0.0向けは違うため、モデルを配布する場合は注意
↓VRMのMTOONシェーダーもVRM1.0向けとVRM0.0向けは別々になってるので、BOOTHでMTOONシェーダーのモデル配布してる人とかは注意した方がいいです。


しかしシェーダーもunitypackageに同梱してしまうと、既にUniVRMが入っているプロジェクトにインポートした時にファイル重複でエラーになる可能性がある。
↓の記事で書いたけど、その場合はUniVRMのファイルを削除しないといけない。
ダウンロードした人に自分でUniVRMを入れて貰うか、シェーダーも同梱するかは明記しておいたほうが良いです。
おわりに
たまにどちらを使っているのか分からなくなるため記事にして残しておこうと思いました。
将来的にはVRM2.0とかが出てきて、VRM0.0は廃止になっていくのかなぁ。
でもVRM1.0は2022年9月に出た規格で、検索してもVRM0.0のほうがまだ情報が多かったりするから、しばらくは併用していけばいいかな。
また何かあれば追記します(*^_^*)