fbpx

ziConstraint

Compatible from Maya 2019 through current

Windows, macOS, Linux


SHOWCASE

TUTORIAL

A powerful C++ plug-in for snapping meshes in real-time. Suitable for retopology tasks and much more. A retopo shader is included.


Installation

Put the plugin file in your maya plug-in path. To retrieve the path, just type in the melscript console editor:

getenv MAYA_PLUG_IN_PATH

Under Windows it's usually:

C:/Users/user/Documents/maya/mayaversion/plug-ins

Unzip the python files in one of your maya script paths

To retrieve the paths, just type in the melscript console editor:

getenv MAYA_SCRIPT_PATH

Under Windows it's usually:

C:\Users\stu\Documents\maya\scripts



To launch the tool

Load the plug-in with the plug-in manager then type in the script editor:

Python:

import zi_constraint

zi_constraint.main()

We recommend using a shortcut

NOTE


HOW TO USE

TopBar

  • The first icon from the left will change the theme (dark or light).
  • The second one Remove or display the main window frame .
  • The third one display a window with this current help message.

Local Space: Set the transform to be in local or world space. This works only for Transfer mode.

Verbose: Would provide more data infos in the script editor.

Tolerance: Set the projection accuracy for Transfer. The default may be enough (0.01) for most scenarios.

High Resolution Rabbit: This specify the geo to be snapped on (target) select a mesh in the scene then clik this button. Note that you can click on the name of the geo below to select it. If you select a curve, you will have different snapping options.

Low Resolution Rabbit: This specify the geo which will be deformed (source)select a mesh in the scene then clik this button. Note that you can click on the name of the geo below to select it.

Reference: It will put the target geo as a reference state. This is convenient for selecting another geo components which are overlapping. It's a google button.

Vertexture View: please visit this page

MODE

Face: For snapping source selected component(s) on target surface

Vertex: For snapping source selected component(s) on target closest vertex.

Order: For snapping source selected component(s) on target vertex sharing the same index.

Constant: If a curve is specified as a target, you would be able to snap geo components to this curve.

Even: Not implemented yet.

Transfer: Will snap the selected mesh component(s) to the specified geometry. if no components are selected then the whole mesh will be transformed.

Connect: It will create a custom node (ziMeshConstraint) and will link the source to the target geos so the snap will be permanent in worldSpace. Note that a node attribute called "Threshold" is tweakable. It is the ray distance, if you deal with big scenes increase the value. Do no set it too high, so it doesnt get too slow. It's a toggle button

*LMB = Left Mouse Button

*MMB = Middle Mouse Button