How to remove small & thin triangles from a marching cubes voxel engine?

Is there a method for customizing marching cubes cases or another processing approach to remove small & thin triangles?

See example of problem here; Unity voxel engine - YouTube

This question doesn’t make much sense, even with an example. Marching cubes works with exactly 256 predefined triangle configurations (actually only 15 in you remove all symmetrical duplicates) if you “remove” any of the triangles you no longer get a closed mesh.

So either you actually do not talk about marching cubes or you do something really strange.

OK since you now posted the video it seams you don’t really talk about thin triangles (triangles are two dimensional shapes) but simply about small voxel clusters.

This “problem” should not be solved by changing the marching cubes algorithm. It’s a pure rendering algorithm. You should try solving this when editing your voxel data. However there’s not really an easy, straight forward solution. When removing a spherical section of your data you should check the surrounding data for integrity. So you might want to remove such small left over clusters automatically.

So marching cubes will have those triangles but you can use an alternative method like Naive Surface Nets.

Mikola Lysenko discusses in detail the different methods on his blog:

and if you’re looking for a C#/Unity solution I have the code available on GitHub with detailed comments. Maybe it’ll help: