mameo

Results 3 comments of mameo

本件、(D3D12StateCache.cpp でのエラー)私の方でも発生しております。 `VRMConverter::ConvertModel()`内の処理が起因していると思われます。 この事象が発生する際に、Editor時は発生しませんが、パッケージ化した際に一部のモデルにおいて以下のlessの警告が複数回確認されております。 (VrmConvertModel.cpp内の1794行目) ``` if (f < VRM4U_MaxBoneWeight) { if (f

原因判明しました。 SkinWeidgetのVertexBufferの更新漏れが原因と思われます。 以下の更新処理を追加することで修正が可能です。 (VrmConvertModel.cpp内の1924行目) ``` d.SkinWeightVertexBuffer = InWeights; // 以下のSkinWeidgetVertexBufferの更新処理を追加 if (d.SkinWeightVertexBuffer.GetDataVertexBuffer() != nullptr) { d.SkinWeightVertexBuffer.GetDataVertexBuffer()->UpdateRHI(RHICmdList); } ```

確認いただきありがとうございます! あとはImmediateFlushを実行することで強制的にレンダリングコマンドをフラッシュする等でしょうか・・・ ただし、この処理は重くパフォーマンスに影響が出るのがネックですね。 (VrmConvertModel.cpp内の1945行目に追加) ``` #if UE_VERSION_OLDER_THAN(4,25,0) d.SkinWeightVertexBuffer.UpdateRHI(); #else #endif // 以下を追加してリソースの初期化/更新を即時反映 RHICmdList.ImmediateFlush(EImmediateFlushType::FlushRHIThread); }); } ``` こちらの環境の記載がなく申し訳ございません。 UE5.3 / VRM4U_5_3_20241007を使用して確認を行っておりました。 UE5.4以降はレンダリングの並列化とバインドレスレンダリングが導入された影響で、また挙動が異なる可能性が高いです。 https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5.4-release-notes#rhi-renderparallelization https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-engine-5.4-release-notes#rhi-bindlessrendering(experimental)