VRM の特徴・内容
VR(Virtual Reality)や VTuber な どで 「キャラクターや人型のアバター(の 3D モデル)」 を取り扱おうとした場合、従来はアプリケーションごと、3D モデルデータごとに、 独自のシステムを開発したり細かく調整したりする必要がありました。
- 3D モデルデータを取り扱うフォーマットは、仕様が必要以上に複雑であったり、必要な情報が不足している。
- 何でも格納できるので、ファイル每にどのように入っているかを調べる必要がある。
- 「アバターとして使用する」という観点で見ると、必要な情報が不足している。
- ゲームエンジンはアセットとしてビルドする時に取り込むことが想定されていて、ランタイムにロードすることは想定されていないことが多い。
注記
対応ソフトが多い「FBX ファイル」はファイル毎に読めたり読めなかったりします。そのファイルがどのアプリケーションのどのバージョンで出力した FBX なのか…というのを気にしたかたも多いと思います。
VR で のアバター表現が急速に盛り上がる中でこういった状況が続くと、アプリケーション開発者・3D モデルクリエイターにとって二度手間三度手間になってしまいます。 この状況を改善するために、「人型 のキャラクターやアバター」に対象を絞ってモデルデータの差違を共通化・統一し、 ひとつのファイルでランタイムロードしてすぐに使用できるフォーマットを策定しました。
「VRM」は 「プラットフォーム非依存の 3D アバターファイルフォーマット」 を提案します。
ポータビリティ
- ❗ テクスチャーやマテリアルが別ファイルになっている。絶対パスが記述されている。
- ❗ zip になっている。文字コード、フォルダ構成。
- ✅ テクスチャやマテリアルを含めたすべてが1ファイルにまとまり 簡単にランタイムロード できます。➡️ glb ベースです。
モデル情報を共通化する
- ✅ タイトル・作者名だけでなく、サムネイルや VR 時代に即した、アバターに特化したライセンス情報 を内包できます。 ➡️ Meta
座標系を共通化する
3D モデルを作成したクリエイターや使用したモデリングツールによって「作法」が違いデータの状況がひとつひとつ異なっている。
- ❗ 座標系 (右手系, 左手系, Z-UP, Y-UP etc)
- ❗ スケール (m, mm, cm, inch etc)
- ✅ 右手系 Y-UP
- ✅ メートル単位
glTF の仕様に準拠しています。