UQ5.3にVroidを適用してみよう

前作業

いつものようにVRM4Uをセットアップします
Vroidのキャラクターデータをインポートします。
(今回の主題でないので割愛します、他の記事を参考にしてください)

やったこと

アンリアルクエスト5のキャラクターはSKM_Mannyの改造したものがベースになっていますがせっかく作られた動きを移植するのは車輪の再生産もいいところなので、ガワだけ変更することにしたのですがなぜかよく使うコンパチブルスケルトンではうまく動きませんでした。
仕方ないのでIKリターゲッターでいこうと思ったのですが今回5.3を使っているのですが通常の方法で作ろうとしたらUE5.32ですとターゲット選ぶだけでエラー出て全然話にならなくてあきらめかけていたのですが
VRM4Uが自動で作ってくれたIKリターゲッターを使うとどうにかうまくいきました。

Compatible Skeletons設定

まずインポートしたVRMフォルダをSKELで検索して開きアセット詳細のCompatible SkeletonsにUQ5のスケルトンをセットします。


動作変換用アニメーションBP作成

次にアニメーションブループリントを選択し、アンリアルクエスト5のSK_Mannequinを選びます。名前をABP_キャラ名みたいな感じでつけます。


作ったブループリントを開いてResultからretaで検索して一番上に出てくるものを選択します

RetargetPoseFromMeshをクリックし、IKRetargeter Assetにガワとして使いたい自動作成されたIKリターゲッターを選択しコンパイルし保存します。
(VRMのデータによってはコンパイルできない場合がありますが信じがたいことにそのまま使えますのでとりあえず放置します)

表示用メッシュの入れ替え

メッシュの下の階層にスケルタルメッシュを追加しSkeletal Mesh Assetに表示したいガワを選択し、Anim Classに先ほど作ったアニメーションBPを選択します。

テストで動かして重なった状態でアニメーションが伝わることを確認します。

確認後本来はUQ5のスケルタルメッシュにHidden in Gameのチェックを付け見えなくするのですが、5.32の特定のバグなのか全く動作しなくなるため、
バージョンが上がった時に改善するのを期待してマテリアルのエレメント0と1に以下のような透明のマテリアルをセットすることで一時しのぎします。

今回の方法でUQ5をVRMのキャラで置き換えると刀のソケットの位置が見た目の位置と全然違うので位置調整が必要です。

階層を表示用のスケルタルメッシュの下になるように移動します。

変更前


階層変更後

表示するVRMの骨構造に移動して右手首にbladesocketという名前をつけます

BladeMeshソケットに先ほど設定した見た目用のキャラの刀用のソケット名を設定します。
階層を変えたことでBladeMeshのトランスフォームがめちゃめちゃになっているのでとりあえずXYZの位置を0にしてから刀を握っているような位置に調整します。



動作するようになりました。

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