Skip to content

Latest commit

 

History

History
216 lines (156 loc) · 6.66 KB

README.md

File metadata and controls

216 lines (156 loc) · 6.66 KB

modelChecker

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.

modelChecker

Setup

Download modelChecker.zip and uncompress it.

Automatic installation

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

Manual installation

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

Usage

There are three ways to run the checks.

  1. If you have objects selected the checks will run on the current selection.
  2. A hierachy by declaring a top node in the UI.
  3. 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.

Checks

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.

Naming

trailingNumbers

Returns any node with name ends in any number from 0 to 9.

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

Topology

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

No description

zeroLengthEdges

Returns edges which has a length less than 0.000001 units

noneManifoldEdges

No description

starlike

No description

UVs

selfPenetratingUVs

No description

missingUVs

Returns any polygon object that not have UVs

uvRange

No description

crossBorder

No description

General

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

Authors

Support & Feedback

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.

License

modelChecker is licensed under the MIT License.