こんにちは!ジェイです。
大晦日から開始したTPSオンラインゲーム開発ですが、1/4日現在ようやくVRMモデルでの物理演算で髪やスカートを揺らすのに成功したので、そこまでの経過を書いておきます。
以前までの問題点
前回の記事で、KawaiiPhysicsかChaosRBANを使って物理演算に対処しようというところまで決まりました。
happynetwork2019.hatenablog.com
この時は、物理演算とABPの設計という2つの問題を抱えてました。
最初はVRM以外のモデルの物理演算に挑戦
まずは、マーケットプレイスで買ったお気に入りのネコメイドちゃんをKawaiiPhysicsで動かしてみました。
一応物理演算できました!
— ジェイ@ゲーム制作Unity UnrealEngine (@JY20160816) 2024年1月4日
髪はこれでいいかもだけど、やっぱりスカートは自力でアニメーションした方が良いかもしれない pic.twitter.com/jlLZ4TXSk1
色々と試行錯誤してみたものの、まだ納得のいく調整ができるようになるまでは時間がかかりそうな感じでした。
物理演算を使わずにボーンごとにアニメーションをすれば、確実にできそうではあったけど、正直こういう作業は好きではないので、以前チャレンジしてできなかったVRMの物理演算の実装を試してみることにしました。
UE5でVRMを使う時の問題点
1.リターゲット時にルートモーションが反映されなくてしゃがめない
これの解決方法は以下の記事を参考にしました。
一番重要なところだけを以下に引用
7.ルートチェーンのトランスレーションモードを変更する
チェーンマッピングタブでルートチェーンを選択し、詳細タブでFKアドジャストメントのトランスレーションモードに"Globally Scaled"または"Absolute"を選択する。
この選択をすることで、ルートボーンの移動量がリターゲットされるようになる。
ちなみにUE5に最初から入っているサードパーソンのテンプレートの中にあるIK_UE4_Mannequinを使えば設定しなくても大丈夫です。
自分の場合は、最初からIKRigを作成してしまったので、この作業をやらないとルートボーンの移動量が反映されなかったみたいです。
さっきなんとなく試してみて気づいたけど、なかなかに余計な作業をしてしまいました💦
2.エディタ上では動作するがパッケージ化の時にエラーが出てしまう
これが一番大変な作業でVRM4Uのマニュアルを読んでもなかなか理解できませんでした。
というのも、パッケージ化して配布する時に普通に、プラグインを導入した後に更にプラグインを落としてから、上書きする作業が発生するからです。
更にマニュアルには書いてないエラーが発生する時もあって、Visual Studioでコンパイルする場合もあります。
以下の動画を参考にして、ようやくパッケージ化に成功しました。
3.髪やスカートを動かす時の物理演算が反映されない
この問題は1/4時点でようやく解決しました!
いや、ほんとうれしかったです。
ついにVRMモデルで物理演算の実装に成功した! pic.twitter.com/79d7Z9UXOn
— ジェイ@ゲーム制作Unity UnrealEngine (@JY20160816) 2024年1月4日
KawaiiPhycisやPhyicsAssetでなくVRMSpringBornを使ったらできました。
UE5の物理アセットばかり調べていたので完全に盲点でした(;´Д`)
まとめ
今までこのモデルのアニメーションや物理演算の問題のせいで、今のTPSオンラインゲーム制作は何度か止まっていました💦
今回やっと解決できたので本当に一安心といった感じです(^^♪
正直、マーケットプレイスにおいてあるモデルは、どれも外人が作ったモデルって感じがしてあまり好きになれなかったんですよね。
その点、VRMだと日本の萌えが100%詰まっている感じがするので大好きです(^^♪
これでBoothでモデルを選び放題だ!って思いきや今度はお金の問題が発生するので、そっちの問題も考えつつもゲーム制作を続けていこうと思います。