Internal damage tracing

Hi folks,

i would like to ask a question about complex damage of internal components of my ship. I making a space “simulator” and i would like to make a more complex damage model based on impact of projectile and than i want to trace that damage trough internal components of my ship (corridors and components like generators, storages etc…). It is similar to war thunder damage model. I made tracing algorythm and it working fine but now i would like to add some additional parameters to that internal components. For example hardness (will determine how much energy will be dumped), crispness (will determine ho much or if some debries will be spray into another directions) and so on.

But i dont know how i can add those information to static mesh. It is possible to make actor for each component but that is not possible for production process. I need to have system for my 3d artist which made model, create some xml/csv document with setting and just import that into UE4. So i need it automatically. Secondly this is not possible because of count of that components (there can be 100 or more individual components). Each components will have separate damage which will connected to behaviour of ship.

Can anybody give me a advise how to do this and i will be glad for blueprint advise for now :slight_smile:

Thanks a lot!

PS: here is visualisation of that tracing…

The only reasonable options I can think of…

You will either need to have a static mesh for each component inside your ship actor blueprint. So you start with the outside shellof the ship and all your interior bits that need separate collision inside the blueprint editor by adding static mesh components. And then having your traces do different things based on the object they’re hitting or the material of the object they are hitting.

Or you can have a complete static mesh with only the outside collision shell and then you have to add box/sphere/capsule components for each different area that needs separate collision characteristics. (You can set the trace responses of the boxes to block visibility to make sure the traces react to them, unless you’re using a different channel) and then you can use the component tags you’ve set of the collision primitives to determine what type of material it is and what sort of collision response it should produce.