UE5 Chaos - Can you interact with broken chunks of a geometry Collection?

I am trying to interact with individual chunks of a broken geometry collection. For example, to pickup up individual chunks and throw it (similar to telekinesis).

But when I do a sphere trace, near the chunks, each individual chunk is referred as the base geometry collection component. Using the hit result, I can get the location, mass, velocities etc. of the chunk. But the hit actor/component is referencing the base geometry collection, not the individual chunk. I cannot get a reference to the individual chunks.

If there is a way to get the reference of a chunk instance, let me know. And thanks.

Same here, I try to detect collision with chunks, the idea is to be able to spawn a sound at the location of the chunk when it moves or collides, but without reference to it, impossible.
Have you got some more information?

I did not find a solution. Hopefully they will implement it in later versions. The chaos system is still new. They already have the nodes (in hit result) but they just return the parent geometry collection.

HitResult should return the location of the hit , the actor will always be the owner of the geometry component as even broken the pieces still belong to it
(in 5.1, hitResult also return an ItemIndex that you can use for specific blueprint function on the GeometryCollection component )
In 5.0, you could use the ApplyPhysicsField function and use it for the telekinesis effect
In 5.1, we have introduce new blueprint functions and one of them should allow you to apply forces at location

Hope this helps

Thanks a lot for the reply! I will check and ask if i have any further questions.

I’m currently trying to do the same thing, but even with the 5.1 update being helpful I’m still running into some limitations.

For clarity I’m going to refer to the lowest level individual chunks as pieces, and refer to chunks as the groupings of pieces.

Applying velocity to a specific index works, but I haven’t found a reliable way to get the current location of a specific piece or chunk. There’s no node that returns the location given an index, but each piece does have a specific socket that you can get the location of. When the geometrycollectionactor has no chunks, the name of every socket is just “ActorName_(index - 1)” per piece.

-First issue is that when there are chunks in the geometrycollectionactor, the naming becomes something like “ActorName_Chunk#_Piece#” numerically from 0 to n number of pieces/chunks at that level, which completely defies the given index number.
-Second issue is that any chunk with pieces that have already broken off returns an index with a number around -2147481680, counting up by 1 for every piece lost. It still works for nodes that take an index, but I haven’t deciphered how to get a location from it.

Hope this helps move the issue forward.

You can reference the geometrycollectionactor from a BP and bind a custom event to the chaos physics collision event. This way you’ll have an event that fires whenever a collision happens for any part of the whole collection and get info about that collision. Make sure to turn on “Notify collisions” on the geometrycollectionactor.

1 Like

Bumping this, anyone from Epic able to advise? This kind of functionality seems like a requirement for doing any real detailed work with Chaos.

check out SetRestCollection inside UGeometryCollectionComponent, has the array you would need to access the chunks.

Can you explain further? How do you select a single piece? If this is a plugin, what’s the URL to marketplace?

I think it is this one:

2 Likes

HI Draem, this plugin works by converting geometry collections into static mesh. in the process some features of the geometry collection are lost but i am currently working to re-enable them. When you create a IGC(interactive Geometry Collection) you have the ability to select any piece within the collection after conversion to static mesh. this allows you to manipulate them in any way specific to your needs. IGC can be animated rotated, scaled, spawned and DE-spawned all at any location rotation and scale. The documentation in the project and along with the marketplace link show step by step instructions in creating IGC. Marketplace Link: Interactive Geometry Collection in Blueprints - UE Marketplace (unrealengine.com)

1 Like

Very nice job! Thank you!

1 Like

So basically the solution to this Geometry Collection question is to not use Geometry Collections.

Just use the Fracture Tools to fracture the mesh and then export it as Static Meshes and do the setup yourself, got it.

3 Likes