I wonder if it wouldn't be advantageous to remove the voxel system entirely and switch to just using the fracture system for performance/flexibility. Tweaking the size of the fractures would probably have an identical effect to what the voxels are doing.
Recapping so I understand the issue, the goal is that the size of plates shouldn't change projectile effects (damage/destruction). Hitting a 12x12 grid of 12x12x24 plates should function nearly identically as two stacked 144x144 plates creating the same damage pattern. If a hole is formed it should look more or less the same and/or happen at the same time.
I'm going from the premise that the current voronoi regions are precomputed per part and this design probably won't change. This could be an issue if the 12x12x24 don't fracture in half as they'd be completely destroyed forming a hole where the stacked 144x144 didn't.
Naively one would say "why not make 12x12x12 sized voxels? Then when a projectile hits it destroys the 12x12x12 voxels identical in both plating configurations. That would make the fracture system more complex as each part would have a ton of fracture parts. (It would just be the voxel problem, but with 12x12x12 voxels, and probably have the same performance issues).
I don't really see a system using fractures that is perfect, but that's probably not a deal breaker. This could probably be remedied by transferring some damage to adjacent plates. So if a projectile impacts a fracture region doing 10 damage it attempts to transfer some of that damage to adjacent regions - regions within a sphere). It queries for all the fracture regions adjacent (including behind) and say it finds 7 regions then the fracture region that was hit has a weight of 3. So with 10 damage it would take 3 and all the adjacent ones would take 1 damage. In the original setup two stacked 144x144 would have the top plate taking all the damage. In this change the top 144x144 plate still breaks first, but a hole forms at more or less the same rate as the 12x12 grid setup. Changing how the damage propagation functions by analyzing some examples should create a system where the plating sizes don't affect the outcome. (Not sure if this would handle the edge cases people have talked about, so I might be missing issues).
some closed alpha testers might remember the early day "floor mat meta" where tiny plates made out of Oninum and Charodium were the king of armor
Can someone explain the exact scenario that caused this? Was it that their armor value was too high for their volume? Was the penetration check limited so it couldn't damage multiple stacked ones? Trying to understand if what I described above would handle that.
Off-topic, but a question to the devs would be if removing the voxel system would allow more plates/beams to be added or is the inherent memory issue still there?