Open6

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 の仕様です。

https://github.com/vrm-c/vrm-specification/tree/master/specification

VRMパブリック・ライセンス文書 1.0

アバターの人格に関する許諾を考慮した、VRM 独自のライセンスです。
VRMパブリック・ライセンス文書 1.0

実装

公式の実装として Unity での実装「UniVRM」が存在します。

UniVRM-1.0β

  • VRM-1.0の変更点
イワケンイワケン

https://vrm.dev/univrm1/index.html

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

変更箇所

https://vrm.dev/vrm1/changed.html