yui system v0.2.1
yui system
をupdateしました。別名、unique system
ともいい、プレイヤーの唯一性を担保するためのもので、キャラクターのモデルもここで管理します。
今回は、blenderでモデルを作り直している話になります。
blenderで作るvrm
モデルをblenderで作り直すことにしました。
vroidからblenderに移行。blenderでmodelを作る作業はとても大変でした。
今回は、素体と衣装を別々に作り組み合わせています。完成度の高いモデルをいくつか参考にしています。
materialも分離したため、ue5で指定しやすくなりました。これによって変身時にue5のmaterialを指定しています。eyeのmaterialを分離して色を付けています。
modelの変遷
しかし、まだまだ問題があり、細かな調整が必要です。
eyeが動かない問題を解決
vmc
で目玉であるeyeだけ動かないことに気づいて修正しました。
eye
の部分だけvroid(vrm)のboneを使うことで解決できました。しかし、新たにblenderかvrm-addonのbugに遭遇しました。具体的にはboneがxyz軸で動かせなくなるbugです。これは不定期で発生していました。boneを動かせるときと動かせなくなるときがあり、ファイルは同じものを使用。また、スクリプト画面ではboneを動かせます。
指先がうまく動かない問題を解決
vmcで指先の動きがおかしくなるので、ウェイトペイントを塗り直すと治りました。
worldscapeで足が浮いてしまう問題を解決
worldscapeでは陸地に降り立つとプレイヤーが浮いてしまいます。
gaspのabpでfoot placementを外す必要がありました。これは、モデルの問題ではなく、gaspのキャラクターすべてで発生します。
ここの処理を削除します。
衣装のガビガビを解決
昔からあった衣装のガビガビは重複する面を削除することで解消できました。
全選択(A キー)
Mesh → Clean Up → Merge by Distance
距離を0.000にして実行
materialの裏表を解決
これはue5で解消したほうがいいでしょう。編集していると、面の裏表の管理が面倒なことがあります。
materialでTwo Sided
を有効にします。
キャラクターのエフェクトを改良
これらの処理を簡略化できました。最初は雑に書いていましたが、vrmは何度も修正し、上書きされますから、例えば、SK_Mesh
でmaterialを設定する方法はよくありません。
gameplay camera pluginをue5.6に対応
ue5.5と5.6では関数も他の処理も変わっていて、rotationをBP_Player
でsetすると、crashするbugがあります。
基本的には、Blueprints/Cameras/CameraRigPrefab_BasicThiredPersonBehavior
をみてください。
キャラクターが動く場合は、Update Rotation Pre CMC
にあるUse Controller Desired Rotation
, Orient Rotation To Movement
の処理です。両方をtrue
にしましょう。
vmc
時もこれで対処します。
gaspでidle, sprintをオリジナルに変更
これはabpで設定します。設定方法はue5.5と変わりません。
https://ue-book.syui.ai/gasp/11_run.html
vrm4uのvmcに対応
まず、clientはwabcam motion captureが最も自然に動作しています。
次に、ABP_Pose_$NAME
が作られますが、vrmはよく更新しますので、SK_Mesh
でcustom ABPを指定すると楽でしょう。