diff --git a/my-blog/content/posts/2025-06-30-ue.md b/my-blog/content/posts/2025-06-30-ue.md index eaabd24..b1ed754 100644 --- a/my-blog/content/posts/2025-06-30-ue.md +++ b/my-blog/content/posts/2025-06-30-ue.md @@ -1,5 +1,5 @@ --- -title: "world systemのupdateとmodelの改良" +title: "world system v0.2" slug: "ue" date: 2025-06-30 tags: ["ue", "blender"] @@ -33,36 +33,7 @@ draft: false 5. 横から惑星に突入できるようになった ``` -## blender -まず、昔のmodelはクオリティの関係もあり、一時的にnahidaのmodelを参考にしていました。今回はオリジナリティを強化したため、クオリティは下がりましたが、素体と衣装を別々に作り組み合わせました。また、materialも分離したため、装飾がピカピカ光るようになりました。 - -blenderの使い方が少しわかってきたのでやってよかったです。 - -> vroid(vrm) -> blender(nahida) -> blender(original) - -[img-compare before="/img/ue_blender_model_ai_v0401.png" after="/img/ue_blender_model_ai_v0501.png" width="800" height="300"] - -[img-compare before="/img/ue_blender_model_ai_v0402.png" after="/img/ue_blender_model_ai_v0502.png" width="800" height="300"] - -特に難しかったのは、指のウェイトペイントです。これは指全体をまんべんなく塗ることで解決しました。 - -また、昔からあった衣装のガビガビは重複する面を削除することで解消できました。 - -```md -全選択(A キー) -Mesh → Clean Up → Merge by Distance -距離を0.000にして実行 -``` - -しかし、まだまだ問題があり、細かな調整が必要です。 - -```sh -[issue] -1. 衣装同士、あるいは体が多少すり抜ける事がある -2. 指先、足先がちょっと気になる。ボーンの調整が完璧ではない -3. 後ろの装飾衣装を考えている。ひらひらのマントぽいものがあるといい -``` 面白い動画ではありませんが、現状を記録しておきます。 diff --git a/my-blog/content/posts/2025-07-11-blender.md b/my-blog/content/posts/2025-07-11-blender.md new file mode 100644 index 0000000..7bfa428 --- /dev/null +++ b/my-blog/content/posts/2025-07-11-blender.md @@ -0,0 +1,114 @@ +--- +title: "yui system v0.2.1" +slug: "blender" +date: 2025-07-11 +tags: ["blender", "ue", "vmc"] +draft: false +--- + +`yui system`をupdateしました。別名、`unique system`ともいい、プレイヤーの唯一性を担保するためのもので、キャラクターのモデルもここで管理します。 + +今回は、blenderでモデルを作り直している話になります。 + +## blenderで作るvrm + +モデルをblenderで作り直すことにしました。 + +vroidからblenderに移行。blenderでmodelを作る作業はとても大変でした。 + +今回は、素体と衣装を別々に作り組み合わせています。完成度の高いモデルをいくつか参考にしています。 + +materialも分離したため、ue5で指定しやすくなりました。これによって変身時にue5のmaterialを指定しています。eyeのmaterialを分離して色を付けています。 + +![](/img/ue_blender_model_ai_v0604.png) + +## modelの変遷 + +[img-compare before="/img/ue_blender_model_ai_v0601.png" after="/img/ue_blender_model_ai_v0602.png" width="800" height="300"] + +[msg type="info" content="v0.1: vroidからblenderへ移行。blenderは初めてなので簡単なことだけ実行。"] + +[img-compare before="/img/ue_blender_model_ai_v0602.png" after="/img/ue_blender_model_ai_v0603.png" width="800" height="300"] + +[msg type="info" content="v0.2: blenderの使い方を次の段階へシフト。最初から作り直す。様々な問題が発生したが、大部分を解消した。"] + +しかし、まだまだ問題があり、細かな調整が必要です。 + +[msg type="error" content="衣装同士、あるいは体が多少すり抜ける事がある。ウェイトペイントやボーンの調整が完璧ではない。"] + +## eyeが動かない問題を解決 + +`vmc`で目玉であるeyeだけ動かないことに気づいて修正しました。 + +`eye`の部分だけvroid(vrm)のboneを使うことで解決できました。しかし、新たにblenderかvrm-addonのbugに遭遇しました。具体的にはboneがxyz軸で動かせなくなるbugです。これは不定期で発生していました。boneを動かせるときと動かせなくなるときがあり、ファイルは同じものを使用。また、スクリプト画面ではboneを動かせます。 + +## 指先がうまく動かない問題を解決 + +vmcで指先の動きがおかしくなるので、ウェイトペイントを塗り直すと治りました。 + +## worldscapeで足が浮いてしまう問題を解決 + +worldscapeでは陸地に降り立つとプレイヤーが浮いてしまいます。 + +gaspのabpでfoot placementを外す必要がありました。これは、モデルの問題ではなく、gaspのキャラクターすべてで発生します。 + +ここの処理を削除します。 + + + +## 衣装のガビガビを解決 + +昔からあった衣装のガビガビは重複する面を削除することで解消できました。 + +```md +全選択(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`をみてください。 + + + +![](https://git.syui.ai/attachments/019d2079-1450-4271-8816-ded92f60b3c9) + +キャラクターが動く場合は、`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](https://ue-book.syui.ai/gasp/11_run.html) + +## vrm4uのvmcに対応 + +まず、clientはwabcam motion captureが最も自然に動作しています。 + +[msg type="warning" content="これは1年くらい前の検証結果です。現在はもっとよいvmc clientの選択肢があるかもしれません。"] + +次に、`ABP_Pose_$NAME`が作られますが、vrmはよく更新しますので、`SK_Mesh`でcustom ABPを指定すると楽でしょう。 + +![](https://git.syui.ai/attachments/758407eb-5e77-4876-830b-ba4a78884e8d) + +## youtube + + + diff --git a/my-blog/static/img/ue_blender_model_ai_v0601.png b/my-blog/static/img/ue_blender_model_ai_v0601.png new file mode 100644 index 0000000..cbf7d93 Binary files /dev/null and b/my-blog/static/img/ue_blender_model_ai_v0601.png differ diff --git a/my-blog/static/img/ue_blender_model_ai_v0602.png b/my-blog/static/img/ue_blender_model_ai_v0602.png new file mode 100644 index 0000000..5cc26ce Binary files /dev/null and b/my-blog/static/img/ue_blender_model_ai_v0602.png differ diff --git a/my-blog/static/img/ue_blender_model_ai_v0603.png b/my-blog/static/img/ue_blender_model_ai_v0603.png new file mode 100644 index 0000000..2e0f98e Binary files /dev/null and b/my-blog/static/img/ue_blender_model_ai_v0603.png differ diff --git a/my-blog/static/img/ue_blender_model_ai_v0604.png b/my-blog/static/img/ue_blender_model_ai_v0604.png new file mode 100644 index 0000000..0dafe8f Binary files /dev/null and b/my-blog/static/img/ue_blender_model_ai_v0604.png differ