How to configure cluster collision to be representative of sub node / bone collision

Hi there,

This is an explorative question that blocks the planning stage of a current project.

I have a Blueprint composed of 4 Cube Static Meshes (Engine Content Cube)

[Image Removed]

I drag this Blueprint into a Level - Enter Fracture Mode - And use the “New” button under “Generate”

[Image Removed]

The result is, as expected, a Geometry Collection with a Bone for each Cube Static Mesh

[Image Removed]

I want to Cluster them so that, upon experiencing a relatively “lower” amount of Strain, the Geometry Collection “Fractures” into 2 “larger” pieces. I use the “Cluster” button under the “Cluster” section to do this.

[Image Removed]

Next, for the demonstration of my issue, I:

  • Disable “Damage Propagation”, “Enable Damage from Collision”, “Allow Removal on Sleep”, and “Allow Removal on Break” on the Geometry Collection
  • Add a simple Master Field, the information of which is visible in the picture
  • Run the p.Chaos.Solver.DebugDrawShapes 1 and p.Chaos.DebugDraw.Enabled 1 Console Commands
  • Simulate the Level

[Image Removed]

The Issue

Each Cluster has an automatically generated Convex collision that is not representative of its Sub-Bones

My Question

How would I, throughout the process I followed, configure the Cluster Collision shape to be 1-to-1, so to speak, with the Collision of the Bones I created the Cluster from?

Cheers,

Josh.

Hi Josh, and thank you for your question.

I’ll take a look into this over the next week or so and get back to you.

Best

Geoff Stacey

Developer Relations

EPIC Games

Hi Josh, can you ping me this example project please so that I have the same setup as you, thanks!

Heya [mention removed]​ ,

I can’t use our actual project due to confidentiality (and I wouldn’t want to prevent this being mirrored to the forums).

I’ve created a new example project using a branch of the UnrealEngine Github repository, up to date with “5.6.0 release - 803688920e030c9a86c3659ac986030fba963833

I have followed the same steps that I detailed in the original post.

I’m not sure why the Geometry Collection only spawns in after the Field System acts upon it but, regardless, it exhibits the same situation/behaviour.

Cheers,

Josh.

Hi Josh, that is fine - happens a lot :slight_smile:

I’ve repro’d the situation on my end, and there are 2 things.

1) In the GC under Collisions subheading/Size Specific Data there is an option for collision shapes and implicit types. This can be altered to get a different primitive shape.

2) If you are on a recent version, I’d strongly recommend you use data flow for this process as it will give you far more control over what you’d want to do - especially as these setups get more complicated.

https://dev.epicgames.com/documentation/en\-us/unreal\-engine/dataflow\-overview

Best

Geoff

My pleasure Josh, nothing specific to add from my end!

I’ll get this closed off.

All the best

Geoff

Heya Geoff,

Thank you so much for taking a look!

To be completely honest, I was about to mention that the size specific data for the geometry collection’s collision setup doesn’t seem to allow for multiple convex hulls for a single cluster node.

However: I did my due diligence and had a look at data flow, as per your suggestion, and it appears to achieve exactly what I need.

This is the Dataflow Graph I’ve used.

[Image Removed]

And following the same test steps as in the original post:

[Image Removed]

I now have two clusters whose collisions are 1-to-1 representations of their sub-bones/leaf-nodes!

This is perfect for my requirements, and I know to look at the Dataflow code in C++ if I’d like to extend or use this functionality outside of Dataflow!

So! Unless there’s any parting comments you’d like to make on this topic, it seems my question is resolved!

Thank you again for your excellent help as always!

Cheers,

Josh.