I have a question about the Physics Constraint Component.
I want to set a physics constraint by specifying a bone name, but no matter how I specify the bone name, the connection destination is always the root.
I’ve tried numbers only, Index_number, and the results obtained using the index from GetAllSocketNames.
I would also like to know how to get the bone names using the volume and overlap.
It will always resolve to the root since it’s designed that way. Physics Constraint works much better with StaticMesh or SkeletalMesh components, however GC internals are different. The “bones” in a Geometry Collection are not bones like in a Skeletal Mesh.
It is technically possible to connect between bodies of different GCs, so as a workaround you can split meshes into separate Geometry Collections and constrain them together. However, the internal constraints of a GC are authored and managed by the Chaos solver. So if your GC contains multiple fracture levels and starts breaking, it may impact your external constraint behavior, since all internal bodies are still governed by the root hierarchy. Until the root cluster breaks, the underlying pieces remain structurally connected.
There are more workarounds. For example, in a GC you can create a cluster and set it static or anchored and connect to that, however it will affect how your GC behaves, since all bones are ultimately connected to the root, which governs everything in a GC hierarchy.
So if there is a street lamp, with body and a lantern sererate GC, If the body breaks the lantern will fall with it, so yes.
Not really, you can do many things, first you can wait for body to break then you can enable damage on the lantern so it doesn’t breaks till body broken.
Or more commonly you can keep body high damage threshold and lantern relatively lower damage threshold. It’s like that in real life give or take also in some terms. Additionally you can propagate hits to both objects and the lantern would break before body.
Additionaly if you really want order its better to seperate GC since something won’t break before its root breaks.
Placed them as I wanted added constraints and configure basicalyl. Body->Post Locked Angular and Linear Lock and on the Post->Lantern Limited Angular and Linear Lock
Since this object body is not contrined to the ground because of the linear torque of lantern its subject to fall by default. So in order not to fall I go inside the GC of body and set it anchored.
You can see in demo they break in order. Actually if you observe closely the lantern breaks first but not the child the root breaks and the childs are still glued. This is the problem you having and this is the nature of the tool.
In order to change that we have to change a bit approach to it.. You can make a base lantern mesh and a shell that can be broken 1st and make another contraint. Basically this is layered destruction modelling mindset.
So you have to try use the tool and on the way you will already find many ways to achieve a certain setup, however its also important to understand the tools current design and limits with respect to actual laws of physics.
Yes you can use Cluster Union Component to glue multiple actors together, simply they act together as an union. However what you describe felt diffent to me since you talked about a lantern on a pillar.
Additionally you can use constraint or more likely gameplay graph to connect geometry collections together too. Like I show a state anchored but actually you can use a Physics Constraint to attach object to ground or via graph.