見出し画像

Unityにインポートした複数のVRMモデルを使って集合写真を撮ろう

※オンラインショップでは、オリジナル3Dモデル(VRM・MMD)の販売・無料配布とVRoid Studio用のテクスチャ素材の無料配布を行っています。

https://vsrx.booth.pm/


VRoid Studioで出力したVRMファイルは、対応しているVRMアプリで使えます。また、UnityのアドオンであるUniVRMを使う事で、UnityにVRMをインポート・エクスポートしたり、Unity上で編集が出来たりします。

複数のVRMモデルを使ってUnity上で集合写真を撮る事も可能です。

画像1

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モデルのファイルを展開させるようにしておくと、他のファイルが混ざらずに済みます。

スクリーンショット_2021-05-01_21-03-43

Sceneビューでカメラを動かして、Gameビューでキャラクターが真正面に映るように設定します。右上のコントローラーを活用すると設定し易くなります。

3.3Dモデルにポージング用のAnimator Controllerを設定する

編集中のVRMモデルのProjectビューの「+」ボタンをクリックすると、様々なメニューが表示されるので、「Animator Controller」を選んで、animファイルを作成します。このanimファイルを3Dモデルに割り当てるには、キャラクターのPrefabファイルをクリックすると、Inspecterビューに設定項目が表示されるので、「Animator」のControllerの項目にanimファイルをドラッグ&ドロップするか、丸いボタンを押して選択すると紐付けられます。

スクリーンショット_2021-05-01_21-32-03

Animatorビューに、用意しておいたポーズ集のAnimation Clipファイルをドラッグ&ドロップします。

スクリーンショット_2021-05-01_21-18-58

これで3Dモデルがポーズを取る事が出来るようになりました。ポーズの変更は、各Animation Clipを右クリックして、「Set as Layer Default State」を選択するだけです。

スクリーンショット_2021-05-01_21-24-50

同じように、複数の3Dモデルを設定していきます。別々のポーズを取る際には、それぞれのモデルにanimファイルを用意していく事になりますが、同じポーズで撮影するなら、同じanimファイルを選択すると良いです。

4.スクリーンショットを撮影する為の環境を作ろう

スクリーンショットを撮影するには、「ScreenShotGenerator.cs」というスクリプトをインストールします。Assetsフォルダの下であれば、どこに設置しても構いません。


https://blog.yumineko.com/unity-editor-screenshot/#:~:text=Unity%E4%B8%8A%E9%83%A8%E3%81%AE%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%90%E3%83%BC,%E3%81%97%E3%81%A6%E4%BF%9D%E5%AD%98%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

これで、レンダリングをすると、Unityのツールバーの「Tools」上にある「Caputure Screenshot」で撮影が出来るようになっています。

スクリーンショット_2021-05-01_21-52-12

5.集合写真の撮影を行う

撮影したいキャラクターを全てHierackyビューに設置していきます。位置は、Hierackyビューに設置したキャラをクリックすると、Inspecterビューの「Transform」という項目で設定していく事が出来ます。Sceneビュー上でドラッグしながら設置していく事も出来ますが、横一線に並べたい時は、Transformの項目から設置するとやり易いです。

Unityのツールアイコン「▶」をクリックすると、レンダリングが始まり、Gameビュー上で自動的に結果が表示されます。この時に、Unityのメニューバーの「Tools」からScreenShotGenerator.csによるスクリーンショットを使えます。

スクリーンショット_2021-05-01_21-40-30

画像8


この記事が気に入ったらサポートをしてみませんか?