GoB
GoB copied to clipboard
mesh validity checks
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
And loose faces are totally fine and common
Interior Faces
This will make sculpting and other tools a nightmare. Vanilla blender can find these Select>Select by trait>Interior faces.
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.
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
What this means is that you can't immediately assume that faces with flipped normals beside each other is bad.
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
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
THINGS TO MAYBE CONSIDER ADDING
Name me
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:
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
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