Cluster Union makes fracturing Geometry Collections more difficult.

I am using a Cluster Union Actor which can connect pieces of Geometry Collections, but when I register a Geometry Collection using Add Component To Cluster, its durability increases unnaturally.

What previously took two or three hits to destroy, now requires more than ten hits due to Cluster Union.

Damage thresholds remain unchanged, and the actor does not appear to be blocking the Force.

Why does this happen?

Short, add to cluster = 1 more step in hierarcy → 1 more thing to break.

When you add GC to cluster, actually damage thresholds of individuals stay same however damage propagation (the route of damage to children) changes. So they tend to follow a different path.

Of course this depends on multiple aspects like damage propagation setting. If you have default settings (damage propagation true) it would slightly become harder to break since now they will go through the cluster first. Also clusters add more constraint strengths as well, which makes it more stable and you probably apply the same value of strain. Simply it’s stronger and applying a bigger strain would break it.

You can apply impulses directly to children, disable damage propagation, or change knobs there. Additionally you can lower children damage thresholds so it’s still stable with clusters but breaking children is easier.

Damage propagation was disabled on the component. Also changing this value will not make any noticeable difference.Although i’m using fields and functions to directly influence it, the effect of the hardening is still there.This is the first time I’ve heard of knobs.

Changing the strain magnitude will also affect the destruction of other Geometry Collections.so this is not a good idea.

Changing the damage thresholds is just a nightmare…Especially if it needs to be changed in a specific case.I will need to store my Geometry Collection in a Blueprint and create logic for it.

It seems like such a waste of time to me…such a terrible specification should not be the default.Who wants to combine their collections and unwittingly increase their durability?

Think you are more frustrated with the feature overall and its ok :slight_smile: . Yeah it’s not the easiest thing. Generally in any engine this is not a very easy problem to solve or design at the same time. It’s generally custom tailored per game or tweaked. Not having killer documentations, breakdowns can add to it.

Clustering is clustering, you combine smaller parts to become bigger parts and even combine them also to become bigger parts.
When you combine multiple destructible bodies into a cluster you are basically changing the constraint graph and hierarchy, so the structure becomes mechanically more stable. Even if thresholds stay the same, the strain distribution changes, so the same hit may no longer produce the same effective strain on the children.

Afaik Epic is maybe working on sometype of graphs around topic which kind of is the same idea. Having abstract connection rather than actual hierarcy links and I remember we talked you about it and think you are right about it, this is a bit UX gameplay problem than actual physics behaviour but Clusters can exist logical or structural in my point of view too. For now solver simply built on it and considers that however there can be exceptions. If you are not making a building but some simple connections between gc maybe physics constraints can behave better than clustering them.

Just one more if/else :slight_smile:

I didn’t mean to criticize the entire feature, sorry…

However, there is no explanation or information available for these behaviors, so I am always confused.

I try to understand as much as possible, but just when I think I understand something, exceptional behavior turns it all upside down…

I can find the logic behind why it behaves that way, but no solution on how to fix it.Every time this happens, development stalls.

I’d be happy if worked fine with the default settings.But personally, I think the default setting for Chaos destruction to be too unfriendly…

1 Like

Hi

The cluster union only adds an level of hierarchy as mentioned by @RedGrimnir

This should not change the damage thresholds
You can debug the thresholds and internal connectivity by using those console variables

p.Chaos.DebugDraw.Enabled 1
p.Chaos.Solver.DebugDraw.Cluster.Constraints 1
p.Chaos.DebugDraw.ConnectionGraph.ShowInternalStrains 1

Note that the values of damage will only show if you play a character ( they won’t show text if you are using the “Simulate” option in the editor )

Another thing to be aware if you are using fields is that the field may be sensitive to the size of the clusters because the field only affect clusters and parts if their center for mass is within the field boundaries

Also I do not recommend disabling the Damage Propagation settings, as this will result in an old behavior that can work against you
if you do not want to propagate energy simply set the break and shock factors to 0 while leaving the “enabled” value to true

I hope this helps

1 Like

I understood the logic behind what was happening.

The question is how to solve this.

I don’t really understand what “adds an level of hierarchy” means.

I have fractured twice in the dataflow and flattened it.At this point there are one levels.The damage threshold has three tiers by default, and has not been changed.The Level 1 threshold is 500,000, and I’ve added enough Strain to destroy it in one hit.

So, even if the Cluster Union adds another layer, it should still be possible to fracture it in one hit.There are three damage threshold levels, so no level has an unassigned value.

We can also specify a Bone ID in the Add Component To Cluster function, but it seems to be simply ignored.When I debugged, I could only see that the centers of all the added geometry collections were connected.