yui system v0.2.1

.md

yui systemをupdateしました。別名、unique systemともいい、プレイヤーの唯一性を担保するためのもので、キャラクターのモデルもここで管理します。

今回は、blenderでモデルを作り直している話になります。

blenderで作るvrm

モデルをblenderで作り直すことにしました。

vroidからblenderに移行。blenderでmodelを作る作業はとても大変でした。

今回は、素体と衣装を別々に作り組み合わせています。完成度の高いモデルをいくつか参考にしています。

materialも分離したため、ue5で指定しやすくなりました。これによって変身時にue5のmaterialを指定しています。eyeのmaterialを分離して色を付けています。

modelの変遷

Before
After
Before
After

しかし、まだまだ問題があり、細かな調整が必要です。

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を指定すると楽でしょう。

youtube