2D material deformation

I’m looking to make a top-down 2D sandbox game with the ability to build things such as buildings and vehicles in game.

Originally I was thinking of going with a modular design where parts and blocks of different shapes connect together, but then when thinking about damage (for example two space-ships crashing into each other) going with the block based approach seems like it would look and act awkward if the blocks just has a damage value and graphic.

Which made me think of having materials that could be “stretched” to size and shape instead and those materials could be deformed when damaged. Different materials could be deformed and damaged in certain ways, for example metal denting, glass shattering, stone cracking, etc.

However, I’m not sure how feasible this is, and how much of a performance hit it will have. Especially if this is multi-player with large creations.

I would like the physics of damage to be relatively realistic, so if a spaceship for example was torn almost in half but not quite, the ship would completely tear apart if turning too fast.

Maybe there’s a middle ground, such as modular parts but each one can be deformed? I also don’t want to loose material, meaning if a metal wall is damaged I want that metal to still be retrievable.

Any help or opinions on how to go about this is appreciated.

Well i guess you get some information about Material Wrong, materials in a simple way gives a mesh the info what it should look like for example a texture or color.

so the only way to tear apart a model in your case* is with a specific shader, which animates/modifies the vertex position. but i’d rather search in the internet for a better solution(destruction sprite or something like that)


/* i mean by that if you’re searching a solution about doing it with the material property