はじめに
前回記事 [UnityのVR SamplesのMazeでカメラの位置をキャラクターに追従する]
(https://qiita.com/Satoshi_Takahama/items/e0f4e0e07543c0d60f84) の続きです。
今回は、キャラクターを変更してみたいと思います。
変更するキャラクターとしては、VRM形式の「ニコニ立体ちゃん」を使用します。
開発環境
Unity 2019.2.0f1
VR Samples - 1.4
Oculus Integration for Unity - 1.39
UniVRM v0.53.0
「ニコニ立体ちゃん」(VRM版)
ビルド手順
前回記事で作成したプロジェクトで引き続き作業します。
- 今回もThe Mazeを改造するので、サンプルのシーンMazeを開きます。
- まずはVRM形式のモデルのファイルを読み込むためのアセットUniVRMをvrm-c/UniVRM からダウンロードします。自分がダウンロードしたファイルは"UniVRM-0.53.0_6b07.unitypackage"ですが、数字の部分はバージョンにより変わります。
- Assets -> Import Package -> Custom Packageからファイル"UniVRM-0.53.0_6b07.unitypackage"を指定してインポートします。
- 次に、キャラクターのファイルをニコニ立体ちゃん (VRM) からダウンロードします。
- Projectウインドウで、Assetsフォルダの下にキャラクターを配置するフォルダ(今回はModelsとします)を作成し、ダウンロードしたファイル"AliciaSolid.vrm"エクスプローラーからドラッグアンドドロップすると、プレファブができます。
- できたプレファブをHierarchyウインドウのCharactersの下にドラッグアンドドロップします。
- CharactersのMazeCharacterからAliciaSolidに赤枠で囲んだコンポーネントをコピーします。Inspectorウインドウ上で1個ずつ右クリックで"Copy Component"して"Paste Component As New"でコピーします。TransformとAnimatorの設定も合わせます。
- Third Person Charactorコンポーネントの設定も元の値と変わっていた場合、元の値にあわせておきます(AI Charactor ControlでRequireComponentされているため、コピーする順番によりデフォルトの値になるようです)。Ground Check Distanceの値が0.1になっていると、キャラクターの動作が不自然になります。
- MazeCharacter側のチェックを外して無効にします。
- あとは、あちこちで設定されているMazeCharacterへの参照をAliciaSolidに直していきます。
- すべて変更したら、ビルド設定からビルドします。
さいごに
今回キャラクターを変更することができたのですが、変更する箇所が多く、結構手間がかかりました。
VRMのファイルを配置するだけで簡単に変更できるようにする方法がないか、引き続き検討してみたいと思います。
=>記事を追加しました [UnityのVR SamplesのMazeでキャラクターの変更を自動化する]
(https://qiita.com/Satoshi_Takahama/items/d3010d26495e69a3bc56)