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.
Download modelChecker.zip and uncompress it.
Run the installer for your plattform.
- Windows by double clicking install_win.bat file.
- MacOS by double clicking install_mac file.
- Linux open shell and execute install_linux.sh file.
Note: on MacOS and Linux you may need to set execution permissions the installer file. Ex. chmod +x install_linux.sh
Place the modelChecker.py file in your Maya scripts directory and create a python shell button with the following code:
import modelChecker
try:
md_win.close()
except:
pass
md_win = modelChecker.modelChecker(parent=modelChecker.getMainWindow())
md_win.show()
md_win.raise_()
For the icon, place modelChecker_icon.png file in the same folder as modelChecker.py
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
lamina
Returns lamina faces
zeroAreaFaces
No description
zeroLengthEdges
Returns edges which has a length less than 0.000001 units
noneManifoldEdges
No description
starlike
No description
selfPenetratingUVs
No description
missingUVs
Returns any polygon object that not have UVs
uvRange
No description
crossBorder
No description
layers
Checks if exists display layers
history
Returns any object it have construction history.
shaders
No description
unfrozenTransforms
Returns any object with values for translate and rotate different to 0,0,0 and for scale different to 1,1,1
uncenteredPivots
returns any object with pivot values different to world origin (0,0,0). Fix sets to 0,0,0 all pivots.
parentGeometry
No description
emptyGroups
Return any exsting empty group. Fix will remove all empty groups
selectionSets
Checks if exists user selection sets. Fix will remove all user selection sets.
nodesInTabs
Returns any object with nodes loaded in Node Editor, that produces MayaNodesInTabs output node. Fix will close all tabs in Node Editor
- 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.