[maya] froRetopo 3.5 : a fast and easy retopology tool

There is a know issue when using the “edge extrude” from the tool in recent Maya versions. To avoid the problem use the following command in Maya (in the script editor or in the mel command) :

selectPref -selectTypeChangeAffectsActive 0;

I’m releasing today a script that I was working on since a very long time (1 or 2 years). I got a little boost in the development with the help of Chris Cunningham (aka Passerby). I started this script because I was looking for a good retopolgy tool that I never found. The problem when using an external app for the retopology is that you don’t get all the power of your classic 3D software when you need it, and It can become frustrating sometimes.

With this script you get a powerful tool, and ALL the tools of Maya are also working with it. My goal was to make a unique and comfortable tool. Enjoy ! 🙂



Download : froRetopo 3.5

Install :
This script works only with Maya 2011, Maya 2012, Maya 2013 and Maya 2014.
Put the content of the folder “froTools” inside your “My Documents/Maya” folder.
Ex : “My Documents\maya\2011-x64\”

Be sure to extract the python plug-in “froCmds.py” and to enable it in Maya, otherwise the “Quad Tool” will be able to work. If you don’t have a “plug-ins” folder inside your “My documents/Maya/201x-xxx/” folder, simply create it and extract the python file inside it.


How to launch ?
Call the command “source froRetopo3.mel; froRetopo3” in the mel command line for the first time. You can use the “Make Shelf Button” to make a shelf button in your current shelf.

You can also add the froRetopo3 to launch when Maya starts, to do so, open the userSetup.mel file (create it if it doesn’t exist) inside your script folder (where froTools3.mel is) and put the following line inside it :


[version 3.5]
-Added a function to count the number of nGons in the currently selected mesh
-Added a function to count the number of edge borders in the currently selected mesh
-Added insert and delete edge loop in the Quad tool
-Added an option to automatically soften the edges of the low-poly when using the Quad Tool
-Updated the viewport UI of the Quad Tool to display all the mouse shortcuts
-Updated the Quad tool to give an error if the user don’t have a scene in centimeters
-Updated the UI to make it easier to use (+ removing unnecessary tools)
-Updated the Python plugin, now gives better performances on vertices operations
-Updated the edge extrude, now with better performances when projecting on the high poly
-Updated the sculpt tools to improve performances when selecting all the vertices
-Fixed an error about the Edge Loop tool not finding a froTools command
-Fixed an error about the “edgeToVertex” option (when releasing the mouse in the Quad Tool)
-Fixed an error when an object was too big for the Quad Tool (distance limited by 1000 units, now raised to 10000)
-Fixed soft selection problem (now soft selection is disabled when launching the quad tool)
-Fixed a conflict that was affecting the edge extrude under Maya 2014 (“selectTypeChangeAffectsActive” option)
-Fixed the C++ crash of the viewport (use “currentTime” command instead of “refresh”)

[version 3.4]
-Updated the quad-extrude, now available as a tool (thx a lot Passerby !) with new features :
–>Click and drag Quad face extrude
–>Click and drag edge extrude (with snap and welding)
–>Edge fill hole
–>Face deletion
–>Axis Snap and Weld tolerance
-Fixed the sculpt geometry tool not launching when you were not in hilite mode
-Fixed the switch of the live mesh (keep your selection)

[version 3.3]
-Added a new button to quickly switch between vertex and edge selection
-Added full compatibility to call the script as a floating window

[version 3.2]
-Changed the “Magnetism” function to a manual “Project geometry”

[version 3.1]
-Added draggercontext tools : edge extrude and vertex quad extrude

[version 3.0]
-Initial version

Setup a mesh for Retopo


The froRetopo use the live mesh feature of Maya to allow you to draw and manipulate any geometry along a surface. To setup a mesh as a live surface, simply select it and use the “Setup for Retopo” button. Once done, you can perform any task for creating your geometry on your mesh. If you want to remove/unsetup a mesh, simply select it in the list and hit the “UnSetup” button (you can also delete its folder in the Outliner and refresh the mesh list).

To create your low-poly mesh, use the “Create polygon tool” to make the first quad face of your mesh, then use the quad tool to build the rest.

The first slider is used to change the distance view of the high-poly mesh/live mesh and change its display priority.
The second slider is used to change the opacity of the retopo shader.

“Refresh” button
Allow you to refresh the mesh list (useful when you change your scene or delete a high-poly mesh).

“Visibility” button
Allow you to hide/unhide the high-poly mesh currently selected in the list.

“xRay” button
Allow you to toggle the xRay mode of the high-poly mesh currently selected in the list.

“Shader” button
Apply the froRetopo shader to the current geometry selected in the scene.

-“Color” button : allow you to change the froRetopo shade color. Default color is a dark yellow.

Quad tool : move a vertex


To move a vertex while using the Quad tool, use the left mouse click and drag. Once you release, the edge will be snapped and welded to its nearest neighbor (unless you disable this option).

Quad tool : edge extrude


To extrude an edge while using the Quad tool, press CTRL and SHIFT then use the left mouse click and drag. Once you release the button, the edge will be projected and merged to its nearest neighbors (unless you disable these options).

Quad tool : vertex extrude


To extrude a quad from a vertex while using the Quad tool, press CTRL then click and drag. Once you release the button, the vertex will be merged to its nearest neighbor (unless you disable this option).

Quad tool : deleting a face


To delete a face while using the Quad tool, press the middle mouse button over the desired face.

Quad tool : filling a hole


To fill a hole face while using the Quad tool, press CTRL and the middle mouse button over a hole to fill it.

The fill hole will search for the nearest edge border, it will fill it with a single polygon (n-gon) and then will apply a quadrangulation over it. Sometimes it gives incorrect edge orientation, unfortunately there is now way to fix this. The best in this case is to create the geometry manualy with the edge or quad extrude. This tool is also designed to works on filling an edge strip, not big holes.

Sculpt tools : smooth/relax/pinch


The left slider is a shortcut of the the opacity slider of the sculpt geometry tool (going from 0 to 1).

I advise to use the relax tool instead of the smooth tool since the relax tool will preserve the edge border positions. The Relax tool is also much more clean than the smooth tool. The Maya tools doesn’t take care of live meshes, this mean you will have to re-project the geometry once you have done your smoothing. The best is to alternate between smoothing and projecting the geometry to reduce any stretch when re-projecting.

Frame : SETUP


This frame has been explained in details above, see “Setup a mesh for Retopo”.



Project geometry : project all the geometry of the currently selected mesh onto the current high-poly mesh enabled in the list (see the “Setup” frame for the list).
Switch Vertex/Edges : shortcut to switch between the edge and vertex selection mode, if you are in an other component mode it will switch to vertex.
Selection precision : use the slider to change the tolerance of the Maya selection precision (it doesn’t affect the Quad tool).
Tweak select : enabled the tweak select mode, use the slider to change the displayed size of the vertices on the currently selected mesh.

Frame : TOOLS


Create polygon tool : classic polygon tool creation of Maya.
Append polygon tool : classic append polygon tool of Maya.
Insert edge loop : Classic insert edge loop tool of Maya.

Quad Tool : see above to know how to use it.

Quad tool snap : if enabled, the move vertex of the quad tool will snap when near the axis selected (X, Y or Z).
Dist/Slider of snap : use these to setup a custom distance tolerance for the snapping.

Quad tool auto weld : : if enabled, this option will merge the vertex after a translation (edge or vertex).
Dist/Slider of weld : use these to setup a custom distance tolerance for the merging/welding.

Project edge extrude : if enabled, this option will project the edge extruded once the mouse is released. Disabling it can avoid projection problem and increase performances.


Some tools/functions are based/inspired from other scripts, I would like to thanks the following authors which have made a great work :

-Christer Bjørklund – www.christerb.comConnect Tool & Extrude Vertex tool
-Volker Heisterberg (volk@renderwahnsinn.de) – Target weld vertex tool
-Leonardo Covarrubias – blog.leocov.comMesh distance/view offset