VRM1.0のドキュメント読んでみた
VRM 1.0 とは
2018 年に発表した 3D アバターファイルフォーマット「VRM」において、 利用が進むにつれて判明した課題やエラーを修正し、 今後必要になると考えられる機能を追加した規格となります。
従来のVRMは今後 VRM 0.x と分類され非推奨となり、今後は VRM 1.0 が正式な規格となる予定です。
VRM 1.0β とは
VRM 1.0 は複数の部品にわかれて策定が進んでいます。 各々の部品は 3 つの策定段階のうちいずれかの状態を取ります。 1 つ目はまだ大きく変更される可能性のある「ドラフト段階」です。 2 つ目は確定したとはいえないものの充分利用できる「β段階」です。 3 つ目は規格として確定している「正式版」です。
2021年11月時点で、ドラフト段階にある部品(VRM_node_constraint)も残されています。 しかし全体を通して利用できる段階にあるため、Constraint 機能を除いたものを VRM 1.0β と呼称しています。
公開文書
VRM 1.0 仕様
文書 および JSON Schema を用いて定義された VRM 1.0 の仕様です。
VRMパブリック・ライセンス文書 1.0
アバターの人格に関する許諾を考慮した、VRM 独自のライセンスです。
VRMパブリック・ライセンス文書 1.0
実装
公式の実装として Unity での実装「UniVRM」が存在します。
UniVRM-1.0β
- VRM-1.0の変更点
UniVRM-1.0β
UniVRM は VRM 規格を実装した Unity のライブラリアセットです。 UniVRM を利用して、Unity から VRM ファイルを生成したり、読み込むことができます。
ここでは UniVRM を利用して VRM-1.0β 規格の VRM ファイルを扱うことを説明します。
アセット構成
vrm-1.0 ファイルを Editor インポートした場合
- XXX.vrm (vrm-1.0 ファイル)
- XXX.vrm_assets/vrm1 (extract された VrmObject アセット)
- XXX.vrm_assets/preset(extract された VrmExpression アセット)
コンポーネント構成
RunTime の VRM ヒエラルキーにアタッチされるコンポーネント
- RuntimeInstance(UniGLTF)
- VrmController
- VrmSpringBone
- VrmConstraint
変更箇所
VRM-1.0β モデルを作成する
動作確認環境
- Unity 2019.4.30f1
- UniVRM 0.80.0
ということでUnityを準備