今更ながらVRM4Uでコントロールリグ使ってみる
VRM4Uの導入
キャラアニメーションとなるとコントロールRig避けて通れないためまとめてみます。
VRM4Uの導入の仕方は他の記事もあるので今回は割愛します。
今回はUE5.3でvrm4uはVRM4U_5_3_20231126で検証しています。
プログインフォルダをCR_で検索します。
ん?CR_VRoidSimpleUE5Body以外に説明にないCR_VRoidSimpleUE5Allがある。多分フェイシャルまで入れた完全版に違いないと勝手に想像してこちらをコピーし名前を「CR_VRMC01」にします。
VRMキャラのインポート
とりあえず動かしたいVRMファイルを任意の位置のドラッグしてキャラをインポートします。
VRMファイルはとてもごちゃごちゃするのでキャラごとにフォルダ作ってそのフォルダにVRMファイルをドラッグした方が無難かと思います。
今回は映像作品用ということでライトの影響を受けたいのでMaterial TypeでSubsurfaceProfileを選択してインポートします
(非ライトの時に真っ白になるのが嫌な場合は別のにしといた方がいいと思います)
今回テストで使ったのはboothでまねきねこまんさんが販売している鎧兜武者娘セットをVRM出力したものです。
リネームしたコントロールリグを開いてプレビューシーンタブを押し
Preview Meshの欄で使いたいスケルタルメッシュを選択し保存します。
同様のことをCR_VRoidSimpleMorphをコピーしたものに行います
Vroid版コントロールリグの設定
プラグインフォルダでwbp_cで検索して出てきたものをマウス右クリックし、エディタユーティリティウィジェットを実行を選びます。
出てきた画面にDst Control Rig BPで先ほそ作成したBody用のコントロールリグを選択します。下の2つは自動的に選択されます。
GenerateAllRig/BodyRIgをクリックします。
なんかプレビューにコントロールリグっぽいものが出てきたら成功なのだと思います。
今回のキャラは足が消えてますが重ね着系の問題だと思うので、後でマテリアル調整したりVRM出力時にメテリアル減らして出力してみたりして原因を探ろうと思いますし最悪ソケットに表示用の足つければいいのでそれほど気にしないですすめます
使いたいキャラのVRMの入ったフォルダを「SK_」で検索し出てきたスケルタルメッシュを開きます。
開いたところでdefで検索しDefault Animating Rigに先ほど作ったアニメーションリグをセットし保存して閉じます。
そのままだと全部自前でモーションをつけなければならない為、スケルトンに移動してアセット詳細を開いてCompatible Skeletonsにサードパーソンキャラクターやモーション等を買ったキャラクターを追加して保存します。
シーケンサーの作成
では、キャラを動かしたいマップに移動してカメラ位置を調整してから、
カチンコマークのレベルシーケンスを追加を選び、シーケンサーファイルを保存します。例ではcut001とかつけます。
保存すると次回からは詳細やファイルから選ばなくても一覧から選べるようになります。
今回使用した背景アセットはJapanese Townという平安から江戸時代の町を作るのにピッタリなアセットです。普通なら1,3000円くらいするのですが70%OFFだったので奮発して買ってみましたがとても良い出来だと思います。
コントロールリグ付きのキャラのインポート
シーケンサーを表示している状態でVRMキャラクターをマップにドラッグします。
詳細からシーケンサーにキャラクターをドラッグします。
今回は布団に寝ているところから撮影したいのでまずは全体的に体を傾けるためにお腹のあたりの赤いリグを選びます。
コントロールリグの動かし方
Eを押して回転モードにして赤い半円をクリック後
上にドラッグして90度になるまで曲げます。
Wを押して移動モードにして青で下、緑で後ろにドラッグしします。
足首を回転して上に向けます。
足元の土台をクリック後、Eで回転、Wで移動駆使して布団に寝せます。
とりあえず布団に入れてみました。
フェイシャルモーションのつけ方
目を開けてるのはおかしいのでeyeで検索してみます。
Fcl_EYE_Close_cというモーションが見つかるので。値を0→1にしてみます。
目を閉じました。
この状態で始めたいのでカメラマークを押して
とりあえず映像初心者なので30fpsと書いてあるところを秒表示に切り替えます。
目を閉じている状態で◇を押してキーを打ちます。
30FPSと書いてあるところの横の磁石マークが青色になっていることを確認します。
ヘッドを1秒の位置に持っていき値に0を入れENTERを押します。
自動的にキーが打たれます
再生してみると1秒かけて目を開けるアニメーションになっています。
コントロールリグなしのキャラのインポート
沢山キャラクターが出てくる映像の場合正直出てくるキャラ全部にコントロールリグを設定するのは手間なのでリグなしのものも扱っていきます。
今回は刺客としてくノ一出したいと思うのでVRMをインポートし、スケルタツメッシュを開きボーンに移動し、クナイを持つためのソケットをWeaPonという名前で作り保存します。
スケルタルメッシュからブループリントを作成します。
武器のクナイのスケルタルメッシュを追加後先ほど追加したWeaponのソケットに追加します。
ビューポートのタブを開き、位置を調整します。
今回使用したクナイはBoothのByNEETさんのショップで購入しました
オールインワン・テクスチャセット+サンプル小物集60個
オールインワンテクスチャ武器版+サンプル武器80個!入
マテリアルがまとまっているので今回のような日用品とか武器がいっぱい出てくる場合にピッタリです。
作ったBPをシーケンサーを開いている状態でマップにドラッグ後マップの詳細からシーケンサーにドラッグします。
VMCを使ったポーズの転送
プラグインフォルダをVMCで検索し、ABP_VRoidVMC_Boneをレベルのタブの隣あたりに開いておきます。
VRM4UのプラグインフォルダからVMCのコントロール2つをマップ内ドラッグしセットしておきます。
(この作業はシーケンサー開く前にしていてください)
VMCプロトコルでポーズを送信するアプリからポーズを送信
BP_VMCReceiverのIPアドレスを送信するVMCのプログラムを設定し、
Server Listenボタンを押します。
(再設定の場合はServer Stop押してから)
ABP_VRoidVMC_Boneのタブを開くとポーズが転送されているので録画ボタンを押してファイルに保存します。
停止ボタンを押すとファイルが書き出されます。
このファイルはシーケンサー上で即利用可能です
ポーズはいいですが今回のように天井から落下するような位置が変わる場合はトラックにトランスフォームを追加し、全体の位置を調整してください。
(なぜかすぐにポーズが壊れるので位置を変更する場合はできる限りピボットは使わず数値で修正してください)
ピントを合わせてみる。
こういうことをするとカメラから外れてしまいます。
なので現在衆力しているつもりのカメラのコントロールを選択し、
詳細のカメラで右クリックしCine Camera Actorをパイロットを選びましょう
またはシーケンサーのカメラカットの薄くなっているカメラのアイコンをクリックします。
シーケンサーが撮影したい状態になったとして多分ピントが合っていないと思います。
フォーカス設定のマニュアル焦点距離み右側のプラスアイコンを押して①コントロールリグに追加し、②スポイトをクリック後フォーカスを合わせたいアクターをクリックするとなんとなくピントが合います。
シークしてみると最初がピント合わなくなっているのでシーケンサーの磁石のマークを押してピントをポイントごとに合わせます。
書き出し用のプラグインの追加
そのままのレンダリングではできないことがあるのでとりあえず以下の2つのプラグインを有効にします。
Aeで合成のためにキャラだけApple Pro resで書き出したいという場合もあると思うのでその場合はこちらのプラグインを有効にしてください
ます。