Unity x UniVRM(v0.121.0)でVRMインポートしてFBXモーションで踊らせてみる
本記事では、UnityにVRMを導入する方法について、UniVRM(v0.121.0)を使用した最新の手順をメモとしてまとめる。
UniVRMの最新版(0.121)は、0.10等の旧バージョンと導入方法が異なるため、その違いを明確にし、円滑にVRMモデルを導入できるようにすることを目的とする。
注意:本記事は、最新版UniVRMを用いたUnityへのVRM導入の個人的なメモであり、記事作成者はUnityのプロフェッショナルではない。
1.前提条件
UniVRM - v0.121.0 https://github.com/vrm-c/UniVRM/releases/tag/v0.121.0
Unity - 2021.3.22f1
任意のVRMモデル 本解説では0.x系モデルを利用
2.プロジェクトの準備
Unityバージョンを確認の上、3D Coreにてプロジェクトを作成します。
最新版のUniVRMでは、Universal RPが必要なようなので、プロジェクト起動後、Universal RPをインストールします。
「Window」→「Package Manager」よりパッケージマネージャーを起動し、検索条件に「Packages:Unity Registry」を選択します。
その後検索欄に、「Universal RP」を入力し検索。
上記画面が出てくるので、インストールを選択します。
3.UniVRMの導入
UniVRM Gitページより、v0.121.0をダウンロードします。
ダウンロードしたUnityPackageをダブルクイックして導入します。ダブルクイック後、ImportでUniVRMをプロジェクトにインポートします。
インポート後、「Consloe」にて、エラーが発生していないことを確認してください。
「vrm Shader error in 'VRM10/Universal Render Pipeline/MToon10': Couldn't open include file 」のエラーが発生している場合は、Universal RPがインストールされていません。再度インストールを確認してください。
4.VRMアバターのインポート
今回は、「Mxueru -ミュエル-」のアバターを購入し、アニメーション適応を行いました。(私が開発しているAITuber アイリに用いさせていただいているアバター)
VRMアバターをお持ちでない場合は、ニコニコ立体ちゃんやユニティーちゃんなど、フリーアバーターの利用を推奨いたします。(利用規約要確認)
Unity Assets内に任意の名前のフォルダーを作成し(VRM導入の際ファイルが自動生成されるためキャラ名等でフォルダー作成推奨)、VRMファイルを作成したフォルダーにドラッグアンドドロップします。
VRMドラッグアンドドロップ後、VRMモデルのUnityプレハブデータが生成されます。
(Q: VRMモデルを投げ込んでも何も起きない!
A:そのVRMモデルは0.xモデルではありませんか?(またはその逆)
Assets内のフォルダをすべて削除し、適合するVRMバージョン(0.x or 1.0)のUniVRMを導入してください)
プレハブデータをHierarchyウインドウにペーストすることで、SceneにVRMモデルを表示できます。
基本的なVRMモデル導入の流れはここまでとなります。
参考:
5.モーション付きFBXファイルを使ってVRMを踊らせてみる
VRMモデルをUnity導入だけだと、味気ないので、VRMモデルを踊らせてみることとします。
今回用いるモーションデータは、星街すいせいさんの「ビビデバ」の配布モーションデータを用いさせてもらいました。
5A.モーションファイルの準備
上記Youtubeリンク概要欄にてモーションデータ配布がありますので該当リンクよりvmdデータをダウンロードします。
5B.FBXファイルのインポート
その後、Assetsフォルダーに適当なファイル(今回の例ではMotion)を作成しその中にダウンロードしたFBXファイルをインポートします。
インポートしたFBXデータを選択し、Inspectorウインドウ、Rig→Animation TypeをHumanoidに変更しApplyをクリックしリグ設定をHumanoidモデルに変更します。
5C.モーションの適応
モーションファイルを適応するアニメーションコントローラを作成します。
右クイックCreate→Animation Controllerを選択し、新規コントローラを作成します。
作成したコントローラをダブルクイックして「Animator」ウインドウを表示。
5BでインポートしたFBX内のツリーを表示し、motionファイルをAnimatorウインドウにドラッグアンドドロップします。
ドラッグアンドドロップすると以下のような状態になります。
踊らせたいVRMモデルのプレハブデータをHierarchyにドラッグアンドドロップしたうえで、プレハブモデルを選択し、Inspectorを開きます。
先ほど作成したアニメーションコントローラを、プレハブモデルのAnimator Controllerにドラッグアンドドロップします。
この状態で再生ボタンを押すと、以下のようにモーションが再生されます。