We are trying to use Fast geo for our static mesh following information from the last Unreal Fest, setting up the FastGeoWorldPartitionRuntimeCellTransformer.
We have an issue with our gameplay where we were using the notify from a physics collision to do some work, but it is no longer received.
The issue is in FPhysScene_Chaos::HandleEachCollisionEvent
Because the physics proxy we hit has no owner, it also has no owner component and gets filtered out.
UPrimitiveComponent* const Comp1 = GetOwningComponent<UPrimitiveComponent>(PhysicsProxy1);
if (Comp1 == nullptr)
{continue;}
This does not seem compatible with fast geo, since we no longer have actors/components.
I was able to fix this locally by making sure these physics proxy have the UFastGeoContainer as an owner and detecting this case and letting the notify go through (with empty component and actor inside of the notify Info1)
This seems like a feature that should still work after enabling fast geo. In our case we do not need to know which actor/component was hit.
Is there something I am missing?
[Attachment Removed]
Steps to Reproduce
Using fast geo, push a dynamic object to trigger a collision with a fast geo.
Debugging in the code in
void FPhysScene_Chaos::HandleEachCollisionEvent
(you may need to deoptimize to be able to break)
you should see that the collision is received, but notify is not sent because the fast geo proxy has no owner.
[Attachment Removed]
Hi Julien,
Would you be able to send across a repro from a vanilla version of the engine so that we can check through setup etc please?
Thanks
Geoff Stacey
Developer Relations
EPIC Games
[Attachment Removed]
Hi Julien,
Apologies for the delay in response. We are working on a fix for this at the moment, and as soon as it is submitted I’ll send across a CL for you.
All the best
Geoff Stacey
Developer Relations
EPIC Games
[Attachment Removed]
Hi Julien,
If you look at CL 50491879 that should fix up the issue.
Best
Geoff
[Attachment Removed]
No worries Julien.
I’ll get this closed off in that case, but hopefully this should help moving forward!
Best
Geoff
[Attachment Removed]
It’s a very generic issue but making a setup from scratch would take a long time.
I’ve resolved the issue on my side as described above.
But basically a blueprint like this
[Image Removed]will receive the event when hitting a static mesh without fast geo.
and no event when using fast geo.
In our case breaking the gameplay that is following from that.
[Attachment Removed]
reading the code it looks like the case where we hit something but its not a component/actor is treated as a mistake/fringe case, while fast geo now makes this a legitimate situation.
[Attachment Removed]
Thanks for the reply, we’ll look into it, in the meantime I have resolved most of our issues, but it did impose some adaptation in our gameplay logic.
[Attachment Removed]