Geometry collection - Buildings

Hi!

I’m trying to get a proper destroyable building with Geometry collections and I’m wondering how to make it break nicely. If you could already achieve something like this please tell me your experiences.

  • is it better to make a house like the one on the picture from 1 GC or more (separate GCs for base, walls, ceiling, 1st floor walls, roof)?



    So far I’ve tried to do it with separate GCs for the parts but depending on the damage threshold I either got a building that collapses on its own weight (even if the pieces don’t overlap) or one that stands still until the first impact/shot which usually causes it to explode like a nuclear bomb.
    Turning off “start awake” seems to help somewhat, but I’m not sure if that should be the solution. Its still not perfect and I guess floating roof or first floor could happen at some cases then.
    I’m already using anchor field for the base
    Note: windows have no collision currently and I have almost identical setup for all GC objects

  • can I use anchor field to hold, lets say the wall and the ceiling together at the corners but let them fall to the ground when the support is broken? How? So far It seems they levitate then. I just followed a simple tutorial on a basic anchor field. I’d prefer not to make a complex blueprint for this if its not necessary.



    The breaking looks better with anchors around the corners until there’s nothing under those pieces and start levitating.

  • I’d also like to know how can i set more performant collision shape for small pieces/lower level pieces (eg. sphere or box). I know theres a setting in the master GC asset, but I was looking for the same levels I’ve set in Fracture mode, but it dosn’t seem to be there by default, only “index (0)”. If I set that to sphere, all pieces become sphere, but if I add “Index (1)” or “(2)” and only set sphere for that than it dosn’t seem to work. I don’t understand how to set shape per fracture level.

  • I’d also like to know why my mesh is invisible when Nanite is ON. To my knowledge, GC should be compatible with nanite.

I’m working on a top-down view game, where the camera is 20-30meters above ground (you control a large character). So the breaking don’t have to be perfect like in a FPS but should be good enough.

Thanks in advance!

  • it also seems like if I put the GC pieces and the BP_Anchor in a BP_House I can’t select the Anchor as initialization field for the GC. If I drop the BP_Anchor in the level I can select it but it wont save and use it.

Custom made everything.

Start with a GeometryCollection c++ class that accepts the damage. You use this as the base class.

The collection class houses the whole logic - a static mesh, and the parts mesh.

After that it’s fairly simple and unlike using the engine trash you can fix and customize however you think.

Personally, I ended up using a custom niagara spawner for the broken up mesh.

It has basic collisions provided by niagara and performs about a billion times better than anything epic ever made in terms of “destruction”.

The downside is you have to section off and import the parts of the object as a whole separate thing/asset from a DCC.

Among the endless upsides is the fact you can jump to just about any other engine with minimal tweaking of the c++ code - that doesn’t include the niagara entanglement ofc, but other engines don’t usually use a sub-par physics system like Epic decided to with chaos…