VRM の特徴・内容
VR(Virtual Reality)や VTuber などで 「キャラクターや人型のアバター(の 3D モデル)」 を取り扱おうとした場合、従来はアプリケーションごと、3D モデルデータごとに、 独自のシステムを開発したり細かく調整したりする必要がありました。
というのも…
- 3D モデルを作成したクリエイターや使用したモデリングツールによって「作法」が違いデータの状況がひとつひとつ異なっている。
- 座標系 (Y-UP, Z-UP, 右手系, 左手系)
- スケール (メートル単位, cm 単位)
- 初期姿勢 (T-Pose, A-Pose, Z+向き、Z-向き)
- 表情の表現方法(Morph, Bone, TextureUV, 識別(命名)方法, 粒度(喜怒哀楽, 顔の部品単位の変形(左口角上)))
- 骨(ボーン)の入れ方も状況によって異なっていたり(ボーンの識別(命名)方法、親子、リグ)
- 3D モデルデータを取り扱うフォーマットは、仕様が必要以上に複雑であったり、必要な情報が不足している。
- 対応ソフトが多い「FBX ファイル」はアプリケーションごとに読めたり読めなかったりします。どのアプリケーションのどのバージョンで出力した FBX なのか…というのを気にしたかたも多いと思います。
- ゲームエンジンはアセットとして取り込むことはできても、ランタイムロードは想定されていないことが多い。
- テクスチャーやマテリアルが別ファイルになっている。絶対パスが記述されている。zip になっている。文字コード、フォルダ構成。
- 3D モデルデータを「アバターとして使用する」という観点で見ると、必要な情報が整備されていません。
- 一人称視点を実現するためのアバター上のHMDの正確な位置はどこか
- 一人称視点からアバターの頭部を非表示にしたい。具体的にはどこを消すのか
VR でのアバター表現が急速に盛り上がる中でこういった状況が続くと、アプリケーション開発者・3D モデルクリエイターにとって二度手間三度手間になってしまいます。 この状況を改善するために、「人型 のキャラクターやアバター」に対象を絞ってモデルデータの差違を共通化・統一し、 ひとつのファイルでランタイムロードしてすぐに使用できるフォーマットを策定しました。
備考
「VRM」は 「プラットフォーム非依存の 3D アバターファイルフォーマット」 を提案します。
ポータビリティ
- テクスチャやマテリアルを含めたすべてが1ファイルにまとまり 簡単にランタイムロード できます。