fbpx

ziRail

Compatible from Maya 2019 through current

Windows, Linux, MacOS


Tutorial Part.1

Tutorial Part.2

Tutorial Part.3

SHOWCASE

ziRail creates patch polygons along your strokes. These strokes are drawn directly on a mesh. By doing so, creating polygons become intuitive. This can be used as a companion tool for retopology tasks. ziWireframe is shipped with it.

We've been inspired by Blender's BSurface


Installation

Automatic installation

For windows, please install the file zi_rail-win64.msi. Restart Maya, then a new shelf should be created.

Manual installation

There is a VIDEO showing the installation process.

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

getenv MAYA_PLUG_IN_PATH

Unzip the python files in one of your maya script paths to retrieve the paths, just type in the melscript console editor:

getenv PYTHONPATH

Under Windows it's usually:

C:/Users/username/Documents/maya/


To launch the tool

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

Python:

import zi_rail

zi_rail.main()

The first time you launch ziRail, you will be asked to enter your license.

It stands for the 32 digits number gave by Gumroad during the purchase.

The license mechansim makes some requests online to check its validity. In rare case it could fail because of a firewall or an anti-virus. (ziRail is safe, we do not use any personnal datas or violate any privacy).

NOTE

Feel free to share ideas and feedbacks to improve the tool.

Advanced :

ziRail creates a custom Maya node; the core node is of type "ziRail," and it contains data to generate the polygons during the process. It may remain in the scene to avoid any issues unless you delete the history of the mesh.


This node is generated when pressing the "pick source" button in the UI. If, for some reason, this node is no longer in the scene, simply regenerate it by clicking that button.


The "outMesh" attribute of the source mesh's shape should be connected to the "ziRailMesh" input attribute of the "ziRail" node for evaluation. The interface takes care of this connection.


Whenever a polygon creation occurs, a "ziPatchNode" node is created in the mesh network to support the undo/redo mechanism.


The Tweak Mode creates a custom node of type "ziTweakNode." The UI handles connections with the meshes, ensuring evaluation happens at any time.



HOW TO USE
  • Source - Specify a base mesh. The newly created polygons will be snap on it.
  • As Reference - Will set the Source mesh as reference. That is convenient if you need to select the components of a mesh ontop of it

  • Uspans - Specify the amount of subdivisions along the U direction of the patch. This can be done before and after the patch creation. It will have no effect if you have created the last patch from existing polygon.
  • Vspans - Specify the amount of subdivisions along the V direction of the patch. This can be done before and after the patch creation.
  • Pinch - Determines how close are the last subdivisions.\ Drag SHIFT-MMB up/down to interactive modification.

  • Projection distance - Rails are generated then snapped onto the source mesh. Vertices will got snaped if the ray distance reach the surface. Click the display button next to it have a visual guide
  • Bridge Subdivs - When creating a bridge surface, this will set the amount of subdvision.
  • Reverse - Reverse the Bridge or Merge direction before validation.

  • Close Strokes - While creating grid you may need to have closed strokes (ie. eyelids).

  • Display HUD - Show/hide the headup display message at the top of the viewport.
  • SHADER VIEWPORT UI - Advanced parameters for the mesh display
  • Toggle - activate/deactivate the custom viewport wich display the wireframe

  • Relax Brush - The brush manipulators does a basic relax task while snapping on the source mesh. You can also use Interactive relax brush with CTRL+SHIFT LMB.
  • Move Brush - You can either press this buttonor drag MMB to tweak the vertices interactively.
  • Backface Culling - Toggle the back facing vertices While brushing.
  • Freeze Borders - So you can relax while preserving the boundary vertices positions.


  • Relax Intensity - The relax brush strength.
  • Relax Radius - The relax brush diameter.
  • Move Radius - The tweak brush diameter.

  • Rail Mode - Start drawing the strokes.

  • LazyMode - Activate the lazy mode. Suitable for drawing smooth.
  • Strength- Makes the lazy mode more or less stronger.
  • Distance - The amount of points in the queue affected in the stroke.


*LMB = Left Mouse Button

*MMB = Middle Mouse Button

HOW TO USE

DRAW STROKE(S)

On source mesh will draw a stroke. You can repeat the process as much as need to have several strokes. by pressing ENTER, you will create patches along the strokes. The direction of the strokes has to be consistent so you have a expected result. The strokes are the guides for the resulting patches the polygons in between are interpolated. You may have a better result by reducing the distance between these strokes. You can append polygons from an existing mesh (select it) or from scratch (with an empty selection)

+CTRL

REDRAW RAIL

Will modify the last created patch so its fits this stroke. After pressing ENTER, you can still modify the last line of a patch. For doing so, select a boundary line (explain bellow).

+CTRL +SHIFT

BORDER RESHAPE


On a boundary vertex to have an anchor point. Reproduce the same step another boundary vertex to have a boundary line. Selecting twice the same point will select a closed edge loop. This boundary line is basically like a stroke. Drawing another stroke will create a patch.

PATCH CREATION FROM PROFILE

With a boundary line selected will create a patch to this stroke ( considered as a profile).

+SHIFT

PATCH CREATION FROM PATH

With a boundary line selected will create a patch along this stroke (considered as a path).

+SHIFT

PATCH CREATION FROM SLICE

With no line or anchor selected, drag from outside the mesh to draw slices. When ENTER pressed, this will create rails.

+SHIFT

MERGE LOOPS

With a boundary line selected, SHIFT+MMB on a boundary vertex prepare a loop merge. Then press Enter

+CTRL

POLYBRIDGE LOOPS

With a boundary line selected, CTRL+MMB on a boundary vertex to prepare a polyBridge creation. Then press Enter

+CTRL

MERGE BOUNDARY VERTICES

Click on a boundary vertex then another one to merge them


+CTRL

+SHIFT

RELAX BRUSH INTERACTIVE

Same function as the Relax brush but got activated until you release the key combinaison


TWEAK BRUSH INTERACTIVE

Same function as the Tweak mode but got activated until you release the key combinaison


+SHIFT

(drag left or right)

VSPAN CHANGE

INTERACTIVE

Change interactively the V amount of span of the last created patch.

With the MMB and SHIFT hold move left to decrease the value or right to increase.

*LMB = Left Mouse Button

*MMB = Middle Mouse Button

Custom Shortcuts commands

If you need to set hotkeys, you can find bellow the commands for the Hotkey editor (the ziRail UI has to remain opened):


zi_rail.VspanUp()

Increment by +1 the spans in V direction.


zi_rail.VspanDn()

Increment by -1 the spans in V direction.


zi_rail.UspanUp()

Increment by +1 the spans in U direction.


zi_rail.UspanDn()

Increment by -1 the spans in U direction.


zi_rail.closeStrokes()

Close the stroke(s).


zi_rail.relax()

Relax Brush.


zi_rail.freezeBorder()

Freeze the boundary vertices during the relax process.


zi_rail.railMode()

Start the rail mode.


zi_rail.toogleShader()

Activate/deactivate the shader .

zi_rail.complete()

Apply the patch or the current operation.

*LMB = Left Mouse Button

*MMB = Middle Mouse Button