Unityにインポートした複数のVRMモデルを使って集合写真を撮ろう
※オンラインショップでは、オリジナル3Dモデル(VRM・MMD)の販売・無料配布とVRoid Studio用のテクスチャ素材の無料配布を行っています。
VRoid Studioで出力したVRMファイルは、対応しているVRMアプリで使えます。また、UnityのアドオンであるUniVRMを使う事で、UnityにVRMをインポート・エクスポートしたり、Unity上で編集が出来たりします。
複数のVRMモデルを使ってUnity上で集合写真を撮る事も可能です。
1.Unity上でVRMモデルの集合写真を撮影するのに必要な物
1.Unity
https://store.unity.com/ja/#plans-individual
2.UniVRM
UnityへのVRMインポート・エクスポートをする機能、VRMを編集する機能を追加する事が出来るUnityアドオン。
3.Unity用のスクリーンショットスクリプト「ScreenShotGenerator.cs」
https://gist.github.com/YuminekoGame/1c04b65c7f5e097cb9c7d6496422f3ef
3.VRoid Studioなどで作ったVRMモデル
4.Unity用のポーズ集
一からポーズを作っても良いですが、手間に感じる場合はUnity用のポーズ集を活用すると便利です。
https://booth.pm/ja/items/1634088
2.UniVRMを使ってVRMモデルをUnityにインポートする
VRMモデルをUniVRMを使ってインポートします。UniVRMのインストールは、UnityのProjectビューにあるAssetsフォルダを右クリックしてメニューを出し、「Import Package」 →「Custom Package」からダウンロードしたUniVRMを選択し、表示されたウィンドウの「import」ボタンを押すとインポートされます。
UnityのSceneビューやGameビューにVRMモデルを表示させるには、Assets上にVRMモデルをインポートさせて、そのPrefabファイル(Unityのアイコンが表示されているファイル)をHierachyビューにドラッグ&ドロップさせます。VRMモデル別に新規フォルダを作成して、その中でVRMモデルのファイルを展開させるようにしておくと、他のファイルが混ざらずに済みます。
Sceneビューでカメラを動かして、Gameビューでキャラクターが真正面に映るように設定します。右上のコントローラーを活用すると設定し易くなります。
3.3Dモデルにポージング用のAnimator Controllerを設定する
編集中のVRMモデルのProjectビューの「+」ボタンをクリックすると、様々なメニューが表示されるので、「Animator Controller」を選んで、animファイルを作成します。このanimファイルを3Dモデルに割り当てるには、キャラクターのPrefabファイルをクリックすると、Inspecterビューに設定項目が表示されるので、「Animator」のControllerの項目にanimファイルをドラッグ&ドロップするか、丸いボタンを押して選択すると紐付けられます。
Animatorビューに、用意しておいたポーズ集のAnimation Clipファイルをドラッグ&ドロップします。
これで3Dモデルがポーズを取る事が出来るようになりました。ポーズの変更は、各Animation Clipを右クリックして、「Set as Layer Default State」を選択するだけです。
同じように、複数の3Dモデルを設定していきます。別々のポーズを取る際には、それぞれのモデルにanimファイルを用意していく事になりますが、同じポーズで撮影するなら、同じanimファイルを選択すると良いです。
4.スクリーンショットを撮影する為の環境を作ろう
スクリーンショットを撮影するには、「ScreenShotGenerator.cs」というスクリプトをインストールします。Assetsフォルダの下であれば、どこに設置しても構いません。
これで、レンダリングをすると、Unityのツールバーの「Tools」上にある「Caputure Screenshot」で撮影が出来るようになっています。
5.集合写真の撮影を行う
撮影したいキャラクターを全てHierackyビューに設置していきます。位置は、Hierackyビューに設置したキャラをクリックすると、Inspecterビューの「Transform」という項目で設定していく事が出来ます。Sceneビュー上でドラッグしながら設置していく事も出来ますが、横一線に並べたい時は、Transformの項目から設置するとやり易いです。
Unityのツールアイコン「▶」をクリックすると、レンダリングが始まり、Gameビュー上で自動的に結果が表示されます。この時に、Unityのメニューバーの「Tools」からScreenShotGenerator.csによるスクリーンショットを使えます。