■はじめに
VRoid Studioでキャラクターモデルを作成し、撮影機能で画像を作成出来るのですが、背景画像の用意に困ったり、ポーズをもっと細かく調整したい場合があります。
そこでUnityを利用して撮影してみようと思います。なお、Unity自体は無料なのですが、ここで紹介するポージングに使用する「Very Animation」というアセットは46ドルと有料になります。
■プロジェクトの作成
「Unity Hub」を起動し、右上の「新規作成ボタン」の右にある「▼ボタン」をクリックして「2019.2.12f1」をクリックします。
テンプレートが「3D」になっていることを確認し、「プロジェクト名」に適当な名前を設定します。ここでは「VRMShot」とします。最後に右下の「作成」ボタンをクリックします。
Unityが起動し、以下のようなウィンドウが表示されたと思います。
■背景モデルの読み込み
Asset Storeタブをクリックします。もしそのタブが開かれていない場合は、最上部のウィンドウメニューからWindow→Asset Storeをクリックします。「アセットの検索」に「NYC Block #6」と入力して検索します。
「NYC Block #6」をクリックし移った画面で「ダウンロード」ボタンをクリックします。ダウンロードが完了したらそのボタンが「インポート」ボタンに変わっているので、それをクリックします。
「Import Unity Package」ウィンドウが表示されますので、右下の「Import」ボタンをクリックします。
しばらく待つと、ProjectタブのAssetsフォルダの下に「OutPost」フォルダが作成されているかと思います。
それからSceneタブをクリックして元の画面に戻し、先ほどのOutPostフォルダの中のResources→Scenesフォルダをたどっていくと「NYC_block_6.unity」ファイルがありますので、それをダブルクリックします。
Hierarchyタブの「NYC_Block_6」の左側の三角をクリックして開き、その中にある「First Person Controller」をダブルクリックすると、ビルの一部が見えると思います。なおこれ自体は不要なので「First Person Controller」の上で右クリックしてDeleteをクリックして削除します。
もう1つ「Environment」の中の「L_sun」をクリックし、Inspectorタブに表示される「Camera」コンポーネントのチェックマークを外します。
ひとまずここでセーブをしておきましょう。最上部のウィンドウメニューからFile→Saveをクリックして下さい。
■UniVRMのインストール
上記のサイトから最新版のUniVRMをダウンロードします。2019/11/19時点ではv0.53.0が最新版です。少し下にある「UniVRM-0.53.0_6b07.unitypackage」をクリックしてダウンロードします。
ダウンロードが終わったら、先ほどのUnityが起動している状態でダウンロードファイルをダブルクリックします。
「Import Unity Package」の子ウィンドウが表示されますので、右下の「Import」ボタンをクリックします。
しばらく待つと、ProjectタブのAssetsフォルダの下に「VRM」フォルダが作成されているかと思います。インストールはこれで成功です。
■VRMファイルの読み込み
VRoidStudioなどで作成したVRMファイルをUnityに読み込ませます。
ProjectタブのAssetsフォルダの中で右クリックし、Create→Folderをクリックします。
フォルダ名はここではひとまず「Chara」とします。
「Chara」フォルダをダブルクリックして中に入ります。もちろんこの段階では中身は空っぽです。そこに、VRMファイルをドラッグ&ドロップします。ここでは「Mocuko.vrm」ファイルをドラッグ&ドロップします。
少し待つと「Chara」フォルダの中に「Mocuko.prefab」ファイルといくつかのフォルダやファイルが作成されたかと思います。
■VRMモデルの配置
その「Mocuko.prefab」をHierarchyタブの下の空いている辺りにドラッグ&ドロップします。
すると、「NYC_Block_6」の中に「Mocuko」が追加されているのが確認できると思います。ただ、ビル群からだいぶ離れた箇所に配置されているので、良い感じの場所に移動します。頭と足元の2カ所に矢印が表示されていると思いますが、足元の方をドラッグして移動させます。
ひとまずここでセーブをしておきましょう。最上部のウィンドウメニューからFile→Saveをクリックして下さい。
■カメラの配置
次にカメラを設置します。Hierarchyタブのすぐ下にある「Create」ボタンをクリックし、「Camera」をクリックします。
これも移動と回転をおこなって良い感じの場所に移動します。
また、Hierarchyで「Camera」を選択した状態でInspectorタブの中に表示される「Camera」コンポーネントの「Field of View」の数字も小さく調整しています。
ここでGameタブをクリックします。もし表示されていなければウィンドウメニューのWindow→General→Gameをクリックすると表示されます。
それから「Free Aspect」と書かれているボタンをクリックし、一番下の「+」ボタンをクリックし、「Label」に「1920x1080」と書き、「Width&Height」をそれぞれ「1920」「1080」と半角数字で入力し「OK」ボタンを押します。これを最終的なレンダリング解像度とします。なお、より大きな数値を設定しても構いません。
■撮影する
ウィンドウメニューのWindow→Package Managerをクリックします。Packagesウィンドウが表示されるので、画面上部中央にある「Advanced」ボタンをクリックし、「Show preview packages」をクリックします。その右側にあるテキストボックスに「Recorder」と入力します。
「Unity AOV Recorder」と「Unity Recorder」の2つが表示されると思いますが、後者をクリックし、右下の「Install」ボタンをクリックします。インストールが終わったらそのボタンが「Remove」という名前に変わっていると思いますので、右上の「×」ボタンをクリックしてPackagesウィンドウを閉じます。
ウィンドウメニューのWindow→General→Recorder→Recorder Windowをクリックします。Recorderタブが表示されるので、そのタブを画面下のProjectタブがある場所にドッキングさせます。
「+ Add New Recorders」ボタンをクリックし、「Image Sequence」をクリックします。「Format」を「PNG」に変更し、「Output Resolution」を「FHD - 1080p」に変更します。「Record Mode」を「Single Frame」に変更します。
この状態で画面上の再生ボタンをクリックして実行し、Recorderタブの「START RECORDING」ボタンをクリックします。
すると、プロジェクトフォルダの下に「Recordings」フォルダが作成され、その中に「image_0000.png」という画像ファイルが作成されたと思います。
なお、再度「START RECORDING」ボタンをクリックすると画像ファイルが上書きされてしまいますので、次に撮影する場合は「Frame」の右側の「0」と書いているところを「1」に変更します。その後は数値を1つずつ増やしていくといいでしょう。
ひとまず再生ボタンをクリックして元の画面に戻します。
■Very Animationの準備
Asset Storeタブを開き「Very Animation」を検索します。2019/11/19現在では46ドルですが、たまにセールなどがおこなわれていたりします。これを購入し「インポート」ボタンをクリックします。
ウィンドウのレイアウトが標準のままだと少し使いづらいので、ウィンドウメニューのWindow→Layouts→4 Splitに変更します。
この状態から左上と左下のSceneタブを右クリックし「Close Tab」をクリックして削除します。ウィンドウメニューのWindow→General→GameをクリックしGameタブを表示し、左上のSceneの横にドッキングし、元のSceneタブを削除します。
Window→Very Animation→Mainをクリックし、Inspecterタブの右側にドッキングさせます。Window→Animation→Animationをクリックし、Projectタブの右側にドッキングさせます。
最終的にこのようになったかと思いますが、マルチディスプレイ環境など好みで調整してもらっても問題ありません。ただし、Scene,VeryAnimation,Animationタブは同時に表示されるようにしておく必要があります。
Window→Layouts→Save Layoutsをクリックし、「Very Animation」と入力して保存しておきます。
■アニメーションの準備
ProjectタブのAssetsフォルダの中に「Anim」という名前のフォルダを作成し、その中で右クリックしCreate→Animator Controllerをクリックします。
次にHierarchyタブのキャラクターをクリックし、Inspectorタブの「Animator」コンポーネントの「Controller」のところに作成した「New Animator Controller」をドラッグ&ドロップして設定します。
Hierarchyタブでキャラクターが選択されている状態のままVery AnimationタブとAnimationタブをクリックします。
Animationタブの右側の「Create」ボタンをクリックします。先ほど作成した「Anim」フォルダを選択し保存します。
■モーション編集
VeryAnimationタブの「Edit Animation」ボタンをクリックします。
Gameタブでそれまで表示されていたキャラクターがどこかに行ってしまったかと思いますので、VA Editorウィンドウの「Prefab」ボタンをクリックします。これでいわゆるTポーズに戻ったと思います。
次にHierarchyタブに切り替え、キャラクターをダブルクリックすると、Sceneタブの中央にキャラクターが表示されたと思います。VA Controlタブをクリックして元に戻します。
ここからポージングをおこなうのですが、VA Controlタブの例えば首の丸マークをクリックして選択状態にすると、Sceneタブで首を中心に円が3つ表示されるので、そのどれかをドラッグすると回転します。
VA Controlタブの人型以外の箇所をクリックすると選択が解除されます。
両手足のIKと書かれているところのチェックマークをオンにすると、その箇所のみ回転ではなく移動で調整することが出来ます。位置を調整したあとチェックマークを外すことで、各関節の回転調整をおこなえます。
両足のIKのチェックマークをオンにした状態で、足元の楕円を選択状態にして上向き矢印を下に移動させると腰を落としたり出来ます。
また、手のポーズなどは、VA Editorウィンドウの「Muscle Group」内の「Finger Open Colose」の「Left Finger」などや、「Finger In Out」から調整出来ます。
表情は、その下の「Blend Shape」の「Face」の中になります。名前が長くて分かりづらいですが「BRW」が「眉毛」、「EYE」が「目」、「MTH」が「口」を意味しています。
すべて調整を終えたら、VA EditorでIKチェックマークを全て外し、何も選択されていない状態にします。
それからAnimationタブをクリックし、60フレーム目(1:00)の一番上の菱形をクリックして縦列が全選択された状態になったことを確認しDeleteキーを押して削除します。
VA Editorウィンドウの右上の「X」ボタンをクリックして終了します。
ProjectタブのAssets/Anim/New Animationをクリックし、InspectorタブのRoot Transform RotationのBased Upon (at Start)をOriginalに変更し、Root Transform Position (XZ)のBased UponもOriginalに変更します。
この状態で実行してGameタブ内でポージングされていれば成功です。
■ポージング状態で撮影する
Window→Layouts→Defaultをクリックして元のウィンドウレイアウトに戻します。
HierarchyタブのキャラクターをダブルクリックすればSceneタブ内の中央にキャラクターが表示されると思います。
もう一度Recorderタブを表示してから実行して撮影してみます。
■まとめ
ひとまず最低限はこれで完了ですが、ライティング等の設定を調整していくことで、よりイメージに近い絵を作れるかと思います。
なお、上記のキャラクター「妹尾もきゅ子」は僕が作成したモデルですが、着ている服は、Vtuberの星井まゆきさんが作成した、
にて公開されているものを利用させて頂きました。