https://github.com/vrm-c/vrm-specification/tree/master/specification/VRMC_vrm_animation-1.0
VRM Animation
「VRM アニメーション」とは?
VRM アニメーションは、VRM で定義された人型モデルのアニメーションを記述できます。
- 同じ VRM アニメーションファイルがあらゆる VRM ファイルで利用できます。
- フォーマットはglTFで記述され、クロスプラットフォームで取り扱うことができます。
- UniVRM を通じて、Unity で VRM アニメーションを読み書きする標準実装が提供されます。
ファイルの内容
- アニメーションはglTF のアニメーションとして記述されます。
- VRM の各コンポーネントととアニメーション対象の glTF ノードを対応付ける情報が拡張内に定義されています。
VRMC_vrm_animation
という拡張で定義されます。- 拡張子として
.vrma
を利用することが推奨されます。
- 🦴 Humanoid ボーンアニメーションを記述可能です。
- glTF ノードがどの Humanoid ボーンに対応するかを拡張内で記述します。
- アニメーションで定義されたボーン回転を宛先となる VRM に適切に反映するよう、回転の変換を行うことを実装に期待します。
- 😄 表 情アニメーションを記述可能です。
- 表情のウェイトを glTF ノードの座標に変換した状態で保持します。
- VRM で定義されたプリセット表情のほか、宛先 VRM に相当する表情が定義されていればカスタム表情についても反映が可能です。
- 👀 視線制御アニメーションを記述可能です。
- 視線がどの方向に向くべきかを表す glTF ノードを拡張内で指定します。
VRM アニメーションでできること
VRM アニメーションを利用することで、人型モデルに対するアニメーションをアプリケーションやモデルをまたいで利用できます。
例えば、以下のような使い方が想定されます。
- VRM アニメーションに対応したオーサリングツールを利用して、アニメーションを作成する
- モーションキャプチャで記録したアニメーションをさまざまなアプリケーションで利用する
- 作ったアニメーションを配信アプリや撮影アプリで再生する
- 作ったアニメーションをメタバースに持っていって再生するほか、他のユーザとシェアして一緒に使う
- VRM アニメーションファイルをゲームエンジンで読み込み、ゲーム等の開発で利用する
VRM アニメーションが使えるアプリケーション
警告
VRM アニメーションの仕様を検討するにあたり、多くのアプリケーションに draft 仕様への対応にご協力いただきました。VRM アニメーション仕様は正式リリースされたばかりです。draft 版に対応したアプリケーションを利用する場合、正式版の仕様と動作が異なったり、想定通りの動作をしない場合があります。
備考
- UniVRM
- @pixiv/three-vrm
- VRM Add-on for Blender
- bvh2vrma
- VRoid Hub
- AnimationClipToVrmaSample
- VMagicMirror
- VRM Posing Desktop
- VRM スプリングボーン調整ツール
- VRMA, BVH をアップロードして VRM を動かすやつ
VRM アニメーションを利用したアプリケーションを開発する
VRM-1.0 の方に、VRM-Animation サポートが実装されています。
import
export
また、Unity 上に humanoid のアニメーションがある場合に、 コマ送りして VRM-Animation として export することが可能です。
editor 専用です
を参照してださい。