お知らせ

次の項目は別ページに分割しました。

関連ページ:

VRM に関する基本的な情報は次のページにまとめています。

UniVRM

Unity で VRM 形式のモデルをインポートあるいはエクスポートするためのパッケージ。各種エディタ拡張や glTF (.glb) 形式のエクスポート機能なども含まれる。

リポジトリ:

vrm-c/UniVRM: Unity Package that can Import and Export VRM Format – GitHub

概要

ドキュメント:

VRM で開発する | VRM [公式]

ダウンロード

サポート
  • v0.100.0 以降は、Unity 2020.3 より新しいバージョンの Unity に対応している。
  • v0.80.0 以降では、Unity 2019 LTS より新しいバージョンの Unity に対応している。
1.0 正式版

2022年9月22日にリリースされた、v0.104.0 から VRM-1.0 が正式版扱いになった。

  • VRM-X.YY.Z_xxxx.unitypackage (VRM-1.0)
1.0 ベータ版

v0.80.0 ~ v0.103.x

  • VRM-X.YY.Z_xxxx.unitypackage (VRM-1.0Beta)
v0.87.0 以降
  • UniVRM-X.YY.Z_xxxx.unitypackage
v0.81.0 以降

2つのパッケージをダウンロードして順にインポートする。

  1. UniGLTF_VRMShaders-X.YY.Z_xxxx.unitypackage
  2. UniVRM-X.YY.Z_xxxx.unitypackage
v0.80.0 以前
  • UniVRM-X.YY.Z_xxxx.unitypackage UniVRM のメインパッケージ
  • UniVRM-samples-X.YY.Z_xxxx.unitypackage UniVRM を使用するサンプル

入手:

Releases – vrm-c/UniVRM – GitHub

参考:

VRMを作成する | VirtualCast wiki

インストール

※パッケージを新しいバージョンに更新する場合は、事前に古いバージョンを削除する。

Git URL

「Add Package from Git URL」から次の4つのパッケージをインストールする。

  • VRM Shaders (com.vrmc.vrmshaders)
  • UniGLTF (com.vrmc.gltf)
  • UniVRM (com.vrmc.univrm)
  • VRM-1.0 (com.vrmc.vrm)

次の URL を使う。必要に応じて # 以降のバージョン番号は省略してもよい。

  • https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.xx.x
  • https://github.com/vrm-c/UniVRM.git?path=/Assets/UniGLTF#v0.xx.x
  • https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM#v0.xx.x
  • https://github.com/vrm-c/UniVRM.git?path=/Assets/VRM10#v0.xx.x

ドキュメント:

UniVRM をインストールする | VRM [公式]

UPM で UniVRM をインストールする | VRM [公式]

UniVRM をアンインストールする | VRM [公式]

導入

ドキュメント:

VRM ファイルを作ってみたい | VRM [公式]

参考:

キャラの作成方法と Unity で操作する方法 | CG メソッド

VRoid Studio で作成したモデルを Unity で動かすまで | YouDoYou BLOG

VRoid でモデル作って踊らせる | キャサリンdesu

VRoid で作ったキャラを Unity のアニメーションを適応してみるよ | すたじお・くろす

Unity で VRM ファイルをインポートして使うときの覚え書き – Qiita

UniVRM を使って Unity で VRM モデルを編集する | MR が楽しい

Unity に VRM 形式の 3D モデルをインポートする | 気ままなシュミログ

使い方

参考:

VRM モデル作成についての手順 – Qiita

自分のアバターを VRM にしてもっと遊ぶ 表情/揺れモノ編 | WhiteAtelier Archives

入門

参考:

パーティクルライブを VRoid Studio と STYLY で作る | STYLY

仕組み

参考:

フォルダ構成 · vrm-c/UniVRM Wiki – GitHub

VRM モデルをインポートする

参考:

VRM 1.0 アバターの Unity プロジェクトへのインポート方法 | だーら

VRM ファイルを Unity で編集できるようにする | 神楽ゆのん

UniVRM を導入して VRM ファイルをインポートする方法 | StarGazer

アセット

設定
  • Meta
  • Expression
  • Look At
  • First Person

ドキュメント:

VrmObject と Extract | VRM [公式]

視線制御 (Look At)

ボーンで動かすタイプは、「Look At Bone Applyer」のプロパティを調整する。

設定
  • Transform 左右の目のトランスフォームを指定する
    • Left Eye 左目
    • Right Eye 右目
  • Degree Mapping 作動範囲を指定する
    • Horizontal Outer 外向き
    • Horizontal Inner 内向き
    • Vertical Down 上向き
    • Vertical Up 下向き
作動範囲の指定
  • Curve 作動の特性を指定する (※ VRM-1.0 では廃止された)
  • Curve X Range Degree
  • Curve Y Range Degree 実際に動く範囲を指定する (デフォルト10)

ドキュメント:

LookAt – VRM-1.0 API | UniVRM Programming ドキュメント [公式]

lookAt.ja.md – vrm-c/vrm-specification – GitHub

参考:

VRM モデルの視線制御/目の可動範囲の設定方法 – Qiita

VRM の目の動作 (Look At) を正しく設定する | クロイニャン

VRM モデルの視線が動かない原因 | Mitchie M のブログ

具体的な可動域の数値は「VRM Look At Bone Applyer」の「Degree Mapping」の項目で調整 (@Yohen_XR) – Twitter

アイトラ実装中…なのはいいんですが、VRoidモデルの目線の上下の可動域が想像より大きかったのでビックリしてる。 (@Yohen_XR) – Twitter

VRM モデルの再インポート/モデルデータの更新

Issue #56 に対応して、VRM モデルを再インポートした際に、既存の Blend Shape Clip / Blend Shape Avatar / Material が存在する場合に、自動的には上書きされない仕様になっている。更新した VRM モデルのデータで置き換えたい場合は、該当するアセットを VRM モデルの再インポート前に削除しておく。

ドキュメント:

Prefab が Import されるタイミングと上書きの注意 | VRM [公式]

参考:

設定した関連コンポーネントのプロパティが失われる · Issue #56 · vrm-c/UniVRM – GitHub

[1.0] Library を削除するなどの初回アセットロード時、 `Migrate to Vrm 1` オプションを有効にした vrm ファイルアセットがエラーでアセット化されない · Issue #1973 · vrm-c/UniVRM – GitHub

エクスポート

VRM モデル (あるいは glTF 形式) のエクスポートに対応しているシェーダーは Standard / Unlit / UniGLTF / VRM 系の以下のシェーダー

glTF レイヤー
  • Standard
  • Unlit/Color
  • Unlit/Texture
  • Unlit/Transparent
  • Unlit/Transparent Cutout
  • UniGLTF/UniUnlit
  • VRM/UnlitTexture
  • VRM/UnlitTransparent
  • VRM/UnlitCutout
VRM レイヤー
  • VRM/UnlitTransparentZWrite
  • VRM/MToon

ドキュメント:

Material | VRM [公式]

MToon シェーダー

Rendering Type
  • Opaque 不透明
  • Cutout カットアウト (閾値で完全透過と不透明を切り替え)
  • Transparent 半透明 (アルファチャンネルで透過度をコントロールする)
  • TransparentWithZWrite 奥行き情報ありの透過
こちらのページを参照

リポジトリ:

Santarh/MToon: Toon Shader with Unity Global Illumination – GitHub

ドキュメント:

MToon | VRM [公式]

参考:

MToon の設定 – Qiita

VRM フォーマットで使われる MToon シェーダーのキャラクターセットアップ – Qiita

テクスチャ

参考:

テクスチャーのインポート | VRM [公式]

コンストレイント

ドキュメント:

Constraint の設定 | VRM [公式]

Node Constraint (VRM-1.0) – GitHub

モデル空間 (VRM-1.0) – GitHub

参考:

[1.0] Constraints: add explainer by 0b5vr · Pull Request #188 · vrm-c/vrm-specification – GitHub

[1.0-draft] Proposal of VRMC_constraints by 0b5vr · Pull Request #144 · vrm-c/vrm-specification – GitHub

コンストレイントをサポートしてほしい · Issue #6 · vrm-c/vrm-specification – GitHub

コントロールリグ (Control Rig)

コントロールリグを用いて、VRM モデルにポーズを付ける。(v0.103 ~)

Animator.getBoneTransform は、コントロールリグにおけるボーンを返す。(v0.104 ~)

参考:

Control Rig – 正規化されていないモデルを操作する | UniVRM Programming ドキュメント [公式]

正規化

※ VRM-1.0 では、モデルを VRM 化する際に正規化を適用しない。

VRM-1.0 は正規化が仕様から除かれました。

—— UniVRM

正規化とは、ヒエラルキーからの 回転、スケールの除去。 その状態での Binding 行列再生成。 です。

すべてのノードの回転が 0 のときが初期姿勢 (T-Pose) であるという仕様で、プログラムから統一的にモデルを操作することが可能でした。

—— UniVRM

参考:

Control Rig – 正規化されていないモデルを操作する | UniVRM Programming ドキュメント [公式]

ユーティリティ (VrmUtility)

ドキュメント:

簡単 API v0.95 | UniVRM Programming ドキュメント [公式]

URP で使いたい

参考:

VRoid のモデルのマテリアルを URP 対応のマテリアルに変更してみた – Qiita

LWRP / URP support · Issue #368 · vrm-c/UniVRM – GitHub

When unity URP will be supported? · Issue #387 · vrm-c/UniVRM – GitHub

glTF (.glb) をエクスポートする

ドキュメント:

glbファイルの作り方 – vrm-c/UniVRM Wiki – GitHub

参考:

VRM1として出力されたデータのGLBとしての互換性について · Issue #1906 · vrm-c/UniVRM – GitHub

ポリゴンを両面描画する

参考:

VRM アバターでテクスチャの裏側が透明になってしまうときの解決法 | ミッコちゃん

モーションキャプチャーデータ (BVH)

参考:

VRM とモーションデータ (BVH) | 120 のブロマガ

VRM-1.0 に移行する

ロードしたモデルに付与される MonoBehaviour の型がすべて変わります

(出典Santarh

UniVRM-1.0 が使い物にならない劣化具合でヤバいという話。しかもドキュメントが一切ない。VRM-1.0 リリースからだいぶ経つけど工事中でページが空っぽ

(2023年1月3日 午後 9:02)

—— @esperecyan

ドキュメント:

VRM-0.x モデルを VRM-1.0 モデルにアップグレードする | VRM [公式]

アップグレードの互換性 | VRM [公式]

Editor でアップグレードする | VRM [公式]

API 更新 | UniVRM Programming ドキュメント [公式]

リンク:

UniVRM 利用アプリケーションの VRM 1.0 への移行について (Santarh) – Speaker Deck

internal is not valid エラー

現象:

internal 修飾子が不正である旨のエラーが発生する。

error CS0106: The modifier 'internal' is not valid for this item

原因:

  • v0.100.0 以降は、Unity 2020.3 より新しいバージョンの Unity に対応している。

対処法:

  • Unity 2020.3 以降を使用する。
  • それ以前の Unity で必要な場合は、UniVRM v0.99.4 を使用する。

参考:

internal modifier isn’t valid? · Issue #2024 · vrm-c/UniVRM – GitHub

サンプル

UPM

パッケージマネージャーで Git URL を指定してインストールした場合、パッケージマネージャーで「In Project」に切り替えて、「VRM-1.0」パッケージを選択して「Samples」から「Import」ボタンを押してプロジェクト内にサンプルコードを複製できる。

パッケージ
  • VRM10_Samples (VRM_Samples-X.YY.Z_xxxx.unitypackage)
    • Model Setup Seed-San (VRM-1.0)
    • First Person Sample (VRM-1.0)
    • Runtime Exporter Sample (VRM-1.0)
    • Viewer (VRM-1.0)
  • VRM_Samples (UniVRM_samples-X.YY.Z_xxxx.unitypackage)
    • Animation Bridge Sample (VRM-0.x)
    • First Person Sample (VRM-0.x)
    • Runtime Exporter Sample (VRM-0.x)
    • Simple Viewer (VRM-0.x)
リポジトリ
  • UniVRMTestVRM ビューワー **DEPRECATED**

リポジトリ:

VRM10_Samples – GitHub

VRM_Samples – GitHub

UniVRMTest – GitHub

サンプルモデル

リポジトリ:

ModelSetup_SeedSan – vrm-c/UniVRM – GitHub

API

VRM-1.0 – API | UniVRM Programming ドキュメント [公式]

Programming ドキュメント | UniVRM [公式]

ドキュメント

UniVRM マニュアル | VRM [公式]

資料

UniVRM 利用アプリケーションの VRM 1.0 への移行について (Santarh) – Speaker Deck

チュートリアル

ワニでもできた!アバターを VRM にして cluster にアップロードしよう (Zen)

VRM のアバターを作って、色んな場所に遊びに行こう! (動く城のフィオ)

10分ちょっとでわかる FBX → VRM 変換 (栗団子)

VRM の揺れ物の設定方法 (けもみみおーこく)

Unity による VRM 化解説 #1 とりあえず VRM 化 (ねたけ)

Unity による VRM 化解説 #2 揺れ物の設定 (ねたけ)

Unity による VRM 化解説 #3 コライダーの設定 (ねたけ)

Unity による VRM 化解説 #4 瞬き/表情の設定 (ねたけ)

VRM Spring Bone

ドキュメント:

VRM Spring Bone | VRM [公式]

コード:

Editor/SpringBone – GitHub

Runtime/SpringBone – GitHub

参考:

VRM モデルの髪をセットアップする | ForgeVision Engineer Blog

Blender で編集したモデルに Unity で物理演算を再設定する方法 (VRoid) | Vtuber の解剖学

バーチャルキャストのアバターの揺れもの設定 | サンフラワーふじ

VRM 変換大作戦! VRM Spring Bone で長めのスカートを制御してみた | 闇魔研究所

VRoid モデルの髪を揺らしてみたい! 後編 Unity 作業 | 蒼空の下で

VRM の揺れ物の設定 | VirtualCast wiki

VRIK / FinalIK を適用すると VRM の揺れもの (VRM Spring Bone) の動きがおかしくなる時の対処 – Qiita

VRM 変換大作戦!VRM Spring Bone で長めのスカートを制御してみた | 闇魔研究所

Fast Spring Bone

「Burst」パッケージをインストールすることで、処理が高速化される。

  • Fast Spring Bone Service Fast Spring Bone のマネージャー
VRM-1.0

Fast Spring Bone が標準で使われる。

VRM-0.x

FastSpringBoneReplacer.ReplaceAsync を実行することで、Spring Bone を Fast Spring Bone に置き換える。

外力
  • instance.Runtime.ExternalForce 外力を加える (v0.106 ~)

ドキュメント:

Spring Bone | UniVRM Programming ドキュメント [公式]

Fast Spring Bone について v0.85 | UniVRM Programming ドキュメント [公式]

Mesh Utility

機能
  • Mesh Separator
  • Mesh Integrator
  • Static Mesh Integrator
  • Bone Mesh Eraser

参考:

Mesh Utility | VRM [公式]

Editor/MeshUtility - GitHub

Runtime/MeshUtility - GitHub

VRM Viewer

**DEPRECATED**

リポジトリ:

vrm-c/UniVRMTest - GitHub

参考:

VRM ファイルのインポート ローカル版 | Sirohood

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA