GoB icon indicating copy to clipboard operation
GoB copied to clipboard

mesh validity checks

Open kromar opened this issue 1 year ago • 0 comments

ESSENTIAL

These things are a must for the model to properly export to ZBrush.

Ngons

ZBrush can't work with faces that aren't either a tris or quad

GOOD TO HAVE

These things won't break the export but should never be in the model, so one can might as well help the user by informing them about this and maybe even fixing it.

Loose Geometry

There is basically no reason ever to have loose vertices in a model when one is about to sculpt on it. Blender only considers(select menu) 1 vertex as loose geometry so you have to decide if this should remove only single verts or connected ones as well image

And loose faces are totally fine and common image

Interior Faces

This will make sculpting and other tools a nightmare. Vanilla blender can find these Select>Select by trait>Interior faces. image

Note that this doesn't just have to be faces totally enclosed in the model. Things like this(below) would also not be desired, though there could be rare situation where one could actually use something like this in game ready assets.

image

An example of where this could be fine is the image below(Don't quote me on this I'm not sure maybe it is best to always avoid this). One could simply split the vertices so the face inside is not connected to the rest, making it not an interior face anymore. And leaving it connected could maybe also result in baking issues, so probably this is never desired.

Edit: Because this topology is not meant to be game ready but sculpting friendly, this definitely is a no no image

What this means is that you can't immediately assume that faces with flipped normals beside each other is bad. image

Bad Contiguous Edges

This plays right into that from above, faces beside each other with different normal directions. If you do implement this maybe give it a more user friendly name, the header name is the correct name but somethings like Bad Contiguous Normals or somethings else might be better.

Intersecting faces

image

Overlapping geometry

Definitely worth warning but can often be wanted.

Zero Edges/ Faces

This happens when an extrusion isn't pulled out, making edges and faces that have 0 volume image

THINGS TO MAYBE CONSIDER ADDING

Name me

image

Non Flat faces

This is an iffy one, I would rather not implement it but maybe you think it's good. The reason why it's iffy is where would one set the value of un flatness to be considered bad. An extreme example of un flat faces: image

Conclusion

I'll edit this comment when I come up with more.

So you can easily implement these checks, look into the 3d print addon, allot of the code for the checks is already done there.

Another thing is that all these messages should be toggleable in the addon pref tab, I for example would disable the overlapping verts message but it should be on per default (Edit: This is probably not needed when you go with a export window that shows it all at once)

The export window

Why auto fixing is not good: With auto fix one has to decide to toggle it in the pref or not with a window like this one is always in the loop with the issues but can chose to ignore them.

I noticed that having many messages wouldn't be very user friendly so here is a design that shows all issues in one window image

The no fix button is for issues that can only be fixed by hand. For these issues if possible one can the let the user select the geo so they immediately know where the issue is.

Originally posted by @Epicrex in https://github.com/JoseConseco/GoB/discussions/258#discussioncomment-3119370

kromar avatar Jul 11 '22 18:07 kromar