I am making a 3d, 3rd person shooter game where I want everything to be destructible. UE4 makes this possible by making meshes destructible, but the problem is that when the mesh is damaged, it destroys completely. This is not what I want, I would like to keep the destruction limited to some volume of the mesh proportional to the bullet's size. Also, the ground must be vulnerable to explosives and must crater as a result. I was just wondering if there was a way to limit the effect of the destruction to some part of a mesh only.
Disclaimer: I do not know unreal.
But a general solution to this can be implemented using voxels. This should be easy to implement for the terrain. Contrary to popular belief, voxels mustn't be cubes. Nvidia has great documentation about this: https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch01.html.
For characters you can position the voxels relative to the skeleton bones if you want to really shoot holes through bodies.