modelChecker is a tool written for Autodesk Maya to sanity check digital polygon models for production. It aims to be as unopinionated as possible, It gives you concise feedback, and let's you select your error nodes easily.
Place the modelChecker files in your maya scripts directory and create a python shell button with the following code:
from modelChecker_UI import modelCheckerUI
modelCheckerUI.show_UI()
There are three ways to run the checks.
- If you have objects selected the checks will run on the current selection.
- A hierachy by declaring a top node in the UI.
- If you have an empty selection and no top node is declared the checks will run on the entire scene.
The documentation will refer to the nodes you are running checks on as your "declared nodes", to not be confused with your active selection.
Important! Your current selection will have prioirtiy over the top node defined in the UI. The reason is to be able to quickly debug errror nodes.
Here is an extensive lists of all of the checks the modelChecker can make on your 3d models. Passing all checks does not inherently make for a good model. Understand what is required for your production will.
duplicatedNames
Returns any node within the hierachy that is not uniquely named
shapeNames
Returns shape nodes which does not follow the naming convention of transformNode+"Shape"
namespaces
Returns nodes that are not in the global name space
triangles
Will return a list of traingles
ngons
Will return a list of Ngons
openEdges
Will return any Edge that is connected to onyl one face
hardEdges
Will return any edges that does not have softened normals
lamina
Returns lamina faces
zeroAreaFaces
Returns
zeroLengthEdges
Returns edges which has a length less than 0.000001 units
noneManifoldEdges
starlike
selfPenetratingUVs
missingUVs
Returns any polygon object that does have UVs
uvRange
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2crossBorder
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2layers
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2history
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2shaders
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2unfrozenTransforms
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2uncenteredPivots
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2parentGeometry
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2emptyGroups
+ markdown list 1 + nested list 1 + nested list 2 + markdown list 2- Jakob Kousholt - Software Engineer / Freelance Creature Modeler
- Niels Peter Kaagaard - Modeler at Weta Digital
For any bugs, errors, and requests feel free to reach out to Jake
If you want to support us, feel free to "buy" the modelChecker from Gumroad.
modelChecker is licensed under the MIT License.