GS Toolbox for Autodesk Maya Documentation¶
For Maya 2018-2024
Introduction¶
GS Toolbox is a powerful hard-surface and general purpose modeling plug-in for Maya that adds a lot of useful new features, as well as expands and simplifies already existing Maya functions.
This plug-in uses an intuitive and interactive menu that changes depending on the currently used function. For example, going into edge selection mode (angle button) highlights “Select Edge”, “Crease+” and “Bevel+” button to indicate that you can finish the selection with one of those functions.
The main power of GS Toolbox is the speed of its functions and the ability to quickly apply any function from one menu without opening windows and changing options.
One of the main focuses of GS Toolbox is hard-surface modeling and creasing workflow. Using creases as an addition to control loops allows for very powerful and non-destructive workflow for high-poly modeling. Creases can then be easily converted to bevels to decrease the number of subdivision required for the smooth and perfect surface.
Another powerful feature is quick Mirroring and Instancing with Mirror. Maya does not have procedural modifiers, so instancing is heavily used for this purpose. GS Toolbox have thee modes of mirroring that can be used on multiple objects and activated using only one button - mirror, flip and instance. Instance will mirror-instantiate the object..
Procedural Mirroring and Instances with Boolean Support - using new Instance+ option you can now apply procedural Mirroring and use Booleans with Mirroring.
Filling the opening in geometry with quads is another fast and useful feature. Sometimes it is very hard and time-consuming to bridge the opening in the geometry and cut it in even quads. With “Fill” function you can select only one vert from the border and click one button for instant even-quadded fill. Works on flat, curved and other irregular surfaces.
Main Features of GS Toolbox¶
Powerful and interactive menu with high-DPI support.
Quick access to Transform and Selection constraints.
Dot Select Quads, Edges and Verts to quickly select patterns.
20 powerful and easy to use selection sets.
Quickly Select Edges by Angle between faces.
Interactively Crease and Bevel the geometry based on the Angle between faces.
Crease individual edges and faces selection with one click.
Powerful mirroring menu with support for multiple objects, interactive options and six axis buttons for quick mirror:
- Normal mirroring (World, Object and Bounding Box)
- Flip Geometry (World, Object and Bounding Box)
- Instance and Mirror (World, Object and Bounding Box)
- Delete by Axis. Cuts the geometry and deletes based on the selected axis.
Quick Instance with duplication to add multiple instances with one click
New Instance+ function with support for booleans, procedural mirror modifier and solidify modifier (extrude).
Solidify is a better version of Extrude that is compatible with Instance+
Create quick snapshots of the geometry with history to save them it you wish to modify them later and delete the history of the current object.
Snap to Poly to move and orient an object to one or multiple selected faces. Instance and Snap will also instantiate the object and snap those instances on the selected faces.
Randomize Transforms (under the Instance button) to interactively randomize Transformation, Rotation and Scale of multiple selected objects.
Straighten will straighten any edge selection to a straight line. Shift + Straighten will also equalize vertices along this line.
Interpolate will smoothly interpolate selected edges based on the first, middle and last vert in the selected edges.
Smooth will smooth the selected edges based on the smoothing multiplier.
Fill will fill any selected hole quads. Selecting two verts instead of one will result in a different pattern of quads, depending on the combination of selected verts.
Combine and Separate is a clean way to combine and separate geometry without any additional groups in the outliner. The naming of the original object will also be respected.
Duplicate and Extract will duplicate or extract selected faces in a clean way, without unnecessary groups in the outliner. It also keeps the history of the original object intact.
Powerful procedural Booleans with the ability to edit already applied booleans, delete boolean component objects and quickly apply booleans.
Live Plane will place a Live Plane on the selected face. You can switch to the custom camera that follows this Live Plane and also align any object to that plane, using Align. Res. slider will change the subdivision of this live plane.
12 Quick Material Slots are powerful and easy to use material management tool that can store and load presets and apply Global Materials.
Supported Platforms¶
Maya 2018-2024 for Windows -> Fully Tested and Supported.
Maya 2018-2024 for Mac -> In Beta.
Linux -> Not Tested and Not Supported.
Maya LT -> Not Tested and Not Supported.
Maya 2017 -> No longer supported since v1.1.6
Changelog¶
Version 1.1.7¶
New Features:
- Maya 2024 Support
Improvements:
- Added new StandardSurface material in Maya 2024 as default
Bug Fixes:
- Fixed Array having the wrong arrangement on some Maya versions
- Fixed hotkeys for Selection Constraint and Transform Constraint
- Fixed “Save Preset” swatch generation bug in Quick Materials
Version 1.1.6¶
New Features:
- Maya 2023 Support
- Selection Sets Boolean Logic. Middle Mouse Drag or Click with Modifiers:
- Shift + Ctrl to add selection to the layer or (combine layers if dragged)
- Shift + Alt to get a difference between the layer and the selection (or the difference between dragged and target layer)
- Ctrl + Alt to get an intersection between the selection and the layer (or the intersection between the dragged and target layer)
Improvements:
- Major improvement for Duplicate and Extract functions. They will now separate only selected faces and other detached shells will stay combined with the original object.
- Added Hotkeys:
- Create Crease Sets
- Creases to Bevels
- Bake Crease Sets
Bug Fixes:
- Fixed a bug with “Repeat Last” hotkey not working for some functions.
Deprecation:
- Maya 2017 Support is Dropped. It might still work just fine but there will be no bug fixes for this version.
Version 1.1.5¶
Improvements:
- Duplicate Faces and Extract functions will now respect Isolate Select when used.
- Added a warning to the Array functions when it detects that the scene units are different from “cm”. This is due to limitation of MASH system. MASH does not support anything other than centimeters and (since Array functionality heavily relies on MASH) neither Array function in Toolbox.
Bug Fixes:
- Fixed a critical bug with Fill function that caused incorrect positioning of the vertecies when scene units were different from “cm”. Every scene unit is now supported by the Fill function.
Version 1.1.4¶
New Features:
- Added a Shift modifier for “Apply Boolean” button to keep the boolean group hidden after “Apply” button is pressed
- Holding Shift will now result in an old behavior - deletion of the boolean group
- Normal click will now result in a boolean group hidden, but not deleted
- Added an option in the options menu to store applied boolean groups in a separate group called “GS_AppliedBooleans”
Improvements:
- Added additional hotkeys for some Shift modified commands
- Modifier and Marking menu icons visuals were improved
Bug Fixes:
- Fixed position resetting of the main window after Maya is reloaded
- Bevel Plus will now work correctly on instanced objects
- Shift can now be used when setting custom hotkeys
- Some minor typos and code fixes
Version 1.1.3¶
Bug Fixes:
- For Maya 2020.4 Only: Deformed arrays will now be created properly
- Fixed font issue for all versions
- Fixed some of the hotkeys
Version 1.1.2¶
New Features:
- Full Maya 2022 and Python 3 Support! New supported versions are 2017-2022. Maya 2022 is supported in both Python 2 compatibility mode and the default Python 3 mode.
- Added Select Hard Edges command in Select Edges button marking menu (Hold RMB)
Improvements:
Added new hotkeys:
- Flip X,Y,Z
- Instance X,Y,Z
- Flatten Local X,Y,Z
- Flatten World X,Y,Z
Bug Fixes:
- Arrays will no longer throw an error if the default MASH settings were changed by the user.
Version 1.1.1¶
Fixed Bugs:
- Fixed an issue with “presets” folder not being created automatically when deleted
- Fixed an issue where not initialized Maya plug-ins caused errors
- (Maya 2017) Initialization issue was fixed
- (Maya 2017) Some Array bugs fixed
Known Issues:
- (Maya 2017) Fill function will fail if vert selection is near another open border. Fix is to add edge loops to separate this vert from secondary open borders.
Version 1.1¶
New Features:
Reworked User Interface. It will now stretch with the window, expand text to fill the buttons and more.
Arraying System with two types of arrays, each one of them with two different modes. Select axis, add or remove objects to/from the array. Change parameters. Control with a curve. All procedural. All editable:
- Select initial Axis.
- Multiple objects in one array. Create procedural pipes, jewelry, laces and other repeating patterns.
- Add or Remove objects to/from the array. Create Patterns.
- Deformable and Non-Deformable Linear arrays.
- Deform with a curve. Linear arrays will follow the controller curve.
- Deformable and Non-Deformable (Uniform) Radial arrays.
- Radial Mirroring (Radial Arrays)
- Procedural Parameters. Change them on the fly.
- Array randomization.
- Quickly apply arrays to continue modeling.
New Smooth Edge function. Smooth Edges and Edge Groups. Change multiplier to increase or decrease the effect.
New Fill Hole with Quads function. Select one vert to fill the hole. Select two verts for custom patterns of quads. Works on curved and complex surfaces.
New and Reworked Instance+ function. Now it allows to switch between two modes (Mesh and Inst) and apply modifiers to the mesh itself or to the Instance+ if needed. New button highlights.
New Align functions for Live Plane. Align any object to live plane in one click.
New Online Documentation is now available. It will be expanded an updated as the development continues.
Mac OS is now supported (Beta). It should work just fine but may have some bugs. Please Report.
Improvements:
- Every function is fully rewritten and reworked.
- New UI will now stretch with the window and the text will expand based on the with of the buttons.
- Interactive Sliders are now much faster.
- PDF documentation is now replaced with online documentation (can still download as PDF).
- Delete Node function modifier is now inverted. Normal Click will now delete last node and Shift + Click with the node selected will delete the selected node.
- Straighten and Interpolate functions are now much faster when selecting multiple edge groups.
- Snap to Poly now has Pre-Duplication option. When enabled it will always leave behind instanced version of the snapped object(s) to allow for additional editing.
- Create Maya Material window will now open a custom window with available materials and clicking on any material will create it and automatically add it to the appropriate material slot.
- Save Preset material preview creation is now more reliable.
- Numerous small improvements of the code for reliability and stability.
Fixed Bugs:
- Fixed boolean transforms issue when using in conjunction with Instance+.
- Matching names should no longer cause an error on some functions.
- Numerous small bugs were fixed during a full rewrite from MEL to Python.
Version 1.0.3¶
Fixed Bugs:
- Switching scenes and workspaces will no longer cause the menu to be closed
- Switching scenes will now update material swatches correctly
Other:
- Changed version number format for consistency with my other plug-in(s)
Version 1.02 + 1.021¶
Improvements:
- Back to one folder for all versions of Maya
- Minor optimizations
Fixed Bugs:
- No more random “Stack Trace” errors on Maya startup
- Angle Highlight will now respect custom polygon display options
Version 1.015¶
Improvements:
- Added full Maya 2020 Support
Fixed Bugs:
- Fixed some minor bugs for all Maya versions
Version 1.005¶
Improvements:
- Supported Maya versions now have separate plugins for better compatibility. Report bugs with Maya version attached.
Fixed Bugs:
- Fixed huge Shelf icons some users of Maya 2018 and 2017 have experienced
- Fixed a few minor bugs in Maya 2017 version
Version 1.0¶
- Initial Release
Installation, Shelf, Hotkeys and Updates¶
Installation Steps¶
Warning
Only Windows version is fully supported. Mac version is currently in beta test and may have some bugs. Linux was not tested and currently not supported. Maya LT was not tested and currently not supported.
Unpack and copy gs_toolbox folder to:
Run Maya
Copy and Paste this code to Python Command Field at the bottom (switch from MEL by clicking on it) or to the script editor:
import gs_toolbox.init as tb_init;from imp import reload;reload(tb_init);tb_init.Init();
Run the code (Press Enter for the Command Field or press on triangle for script editor). Installation is complete.
Hotkeys¶
After you Initialize the plug-in you can find all the hotkeys in:
Hotkey Editor -> Custom Scripts -> GS -> GS_Toolbox
Updating the Plug-in¶
To update the plug-in to a new version just delete the old gs_toolbox folder and repeat the Installation Steps.
Troubleshooting¶
Installation issues on Windows:
Most of the problems with the installation happen when the user copies the gs_toolbox folder to the wrong folder.
Use only the version specific scripts folder, and NOT the shared scripts folder.
For example - correct folder for me:
C:\Users\George\Documents\maya\2022\scripts
Incorrect folder:
C:\Users\George\Documents\maya\scripts
P.S. If you are using OneDrive, your documents folder might be in the OneDrive folder.
First Steps¶
Intro¶
The main function of GS Toolbox is to speed up the hard surface workflows in Maya. Main functions that you are going to use are:
- Select, Crease and Bevel by Angle
- Mirroring and Instancing
- Booleans
- Utility functions such as Fill, Straighten, Combine etc.
In this chapter we are going to briefly discuss all of those functions. For more in-depth and advanced explanations please refer to the appropriate chapter in table of contents on the left.
Quick Intro to Creasing Workflow¶
Creasing is a powerful and non-destructive workflow in Maya. Creasing an edge applies a crease parameter to that edge and whenever you smooth the mesh, this edge will remain sharp based on that parameter. For example, crease level of 2 will remain sharp on subdivisions 1 and 2, but when you go to subdivision 3 you will notice that creased edges is now smoothed uniformly.
However, the native way of applying and managing creases is very slow and cumbersome. You can’t apply creases based on the angle, you can’t apply fixed values of creases easily and native creasing tool is slow.
GS Toolbox provides with convenient functions to Select, Crease+ or even Bevel+ edges based on the angle between faces. This allows for some very quick creasing, especially since a lot of hard surface models have very sharp corners.
You can also crease individual edges by a fixed amount just by clicking on the Crease button.
Interactive Edge Selection and Crease¶
To start interactive selection, select an object(s), click on the small “Angle” button near the slider that controls the angle parameter and start dragging the slider. You will notice how the highlighted edges change based on the angle you select.
Notice how three buttons are now highlighted - Select Edges, Crease+ and Bevel+. This indicates that you can now finish your angle selection by either simply selecting the edges that were highlighted or by applying Crease or Bevel to those edges.
Crease+ function will be applied based on the parameters of SubD and Crs sliders, where SubD is the subdivision level of the mesh and Crs is the crease level on the creased edges.
Note
You don’t have to use interactive selection every time and even without it pressing any of the aforementioned buttons will result in the same selection or creasing.
Quick Mirroring and Instancing¶
Mirroring is an essential part of any hard surface model. Even if the final model is not completely symmetrical, mirroring is still used to quickly add geometry on the other side of the model and edit it accordingly.
In GS Toolbox you will find all the mirroring tools you might need in one convenient menu. This menu is interactive and changes based on the selected mirror, flip, instance or delete parameters.
X, Y, Z and their negative counterparts represent the axis of mirroring.
Parameters control the type of operation - Normal mirror, Flip, Instance or Deletion.
World, Object and B.Box control the coordinates system, with World being the world coordinates, object is pivot based and B.Box is bounding box based.
Merge, Bridge and Nothing control the boundary options for the Normal Mirror. They determine what happens with the open border of the mesh when the mirror operation is performed.
If the Cut Geo parameter is selected it will cut the geometry based on the mirror plane.
Delete Geo will delete one side of the geometry based on the mirror plane.
Quick Booleans¶
Booleans is a powerful concepting and modeling tool that is severely underrepresented in Maya. You can’t edit already applied booleans, edit original geometry and even simply moving the cutter can be annoying.
With Quick Booleans GS Toolbox aims to fix those problems.
With Quick Booleans you can:
- Addition, Subtraction and Intersection operations
- Edit the original geometry on the fly
- Toggle cutter visibility
- Quickly select cutters
- Delete any selected cutter without loosing other procedural booleans.
- Apply booleans with one button
Utility Functions¶
There are a bunch of utility functions available.
Straighten will straighten any selected edges and edge groups (not connected edges):
Interpolate will interpolate selected edge groups between first, middle and last vert:
Smooth will smooth the selected edges based on the smoothing multiplier:
Combine, Separate, Duplicate and Extract are all similar to Maya native functions but they will not clutter the outliner with an unnecessary groups and will not rename objects.
Note
This is just a small introduction to the main functions of this plug-in. For more info, please refer to the Table of Contents.
Constraints, Selection and Visibility¶
Wireframe and Reference Toggle¶
Wireframe Toggle button is used to quickly change the shading on the selected mesh. This is extremely useful when you need to have only one transparent mesh in the scene. This button is interactive and will change color if it detects that the wireframe mode is enabled.
Reference Toggle is a quick way to disable viewport selectability of the selected mesh. Sometimes you don’t want to constantly select some meshes in the viewport and they are in the way. Or for example you want to quickly disable selectability of an image plane for your reference images. This button is interactive and will change color if it detects that the wireframe mode is enabled.
Transform Constraint¶
Transform Constraint button will toggle the constraints applied when moving geometry components.
This button has a marking menu (hold Right Mouse Button) where you can find two type of constraint available - Edge Constraint and Surface Constraint.
Selection Constraint¶
This constraint will toggle the selection constraint based on the angle, based on the camera angle or both.
Select by Angle option is very useful if you want to select a flat plane that has many polygons. With clicking on that constraint you can quickly select the entire flat plane of polygons. You can also change the angle tolerance for this selection (Default: 1 degree)
Selection based on camera angle (Auto-Camera Based Selection) will disable the selection of components that the current camera can’t see. This is very useful if you want to quickly select some components using marquee tool, but don’t want to accidenatlly select the other side of your model.
Angle + Auto Camera-Based selection will simply enable both of aforementioned options at the same time.
This button will change its color if constraint is currently active.
Dot Select¶
Dot Select button will select the next component in a pattern that you select
Shift + Dot Select will select the entire loop based on the selection.
The pattern is based on the last two selected components.
It works on vertices, edges and faces.
Select Edges¶
This button selects edges on the selected meshes based on the Angle slider value.
Multiple objects can be selected for this function.
It also have a marking menu (Hold RMB on this button):
- Select Border Edges will select the open border edges for the selected objects
- Select N-Gons will select all the N-gon faces on the selected meshes.
- Select Hard Edges will select only hard edges on the mesh, ignoring Border Edges.
Selection Groups¶
Intro¶
Selection groups menu is a powerful and easy to use tool that allows for a quick storing of the user selection, hiding objects and components and disabling selectability of objects in the viewport.
Each of the 20 selection groups have its own marking menu (Hold RMB on one of the selection groups) that allows for various functions.
Adding and Selecting¶
In order to add objects or components to the selection set, all you need to do is to select those objects or components and click on an empty selection set. The set will then change its color to indicate that it has something in it.
Clicking with LMB on a filled selection set will now select the objects or components that were added to that set.
Shift + LMB on multiple filled selection groups will additively select everything in those selection groups.
Quick Actions and Boolean Logic (Drag and Drop)¶
You can use modifier key combinations to add, subtract or intersect either two selection sets or selection set and a viewport selection.
Simply select something in a viewport and hold these keys (or drag and drop one selection set onto another):
- Shift + Ctrl - will add selection to the target non-empty selection set or it will merge two selection sets if dragging and dropping one onto another using Middle Mouse Button.
- Shift + Alt - will subtract selection from the target non-empty selection set or it will subtract two selection sets if dragging and dropping one onto another using Middle Mouse Button.
- Ctrl + Alt - will intersect selection with the target non-empty selection set or it will intersect two selection sets if dragging and dropping one onto another using Middle Mouse Button.
Color coordination¶
Based on the color of the group you can quickly determine the state of the group.
- Transparent - empty group
- Orange - group is filled with something
- Green - group is currently in Reference Mode and not selectable in the viewport
- Light Gray - group is currently hidden in the viewport
Options¶
In the options menu you can quickly update selection Groups (if they are not updated for some reason), clear all selection Groups and set Groups Hidden in Outliner (Default: Enabled)
Creasing and Beveling¶
Intro¶
Creasing and Beveling is a powerful and non-destructive way to create SubD geometry. It works by applying a creasing value (creasing parameter) to the edges and this parameter controls at which subdivision this edge will start to smooth.
For example: If you apply a creasing value of 2 to the edge, then this edge will not be smoothed until you reach a subdivision level of 3 or more. See how the edge is sharp up until the level 3?
By default, Maya has a very convoluted and non-intuitive creasing workflow. You can’t crease by angle and there is a separate hidden menu for the creasing controls. Applying creases is a pain as well, as you need to select the creasing tool first and then drag middle mouse button. There is no way easily set a desired creasing value, you can’t crease faces etc.
GS Toolbox aims to fix all of those issues.
In the Creasing Menu you have six buttons, three sliders and three additional toggles for interactive edge highlight, SubD change and Creasing.
You can crease individual edges, crease by angle, bevel by angle and un-crease selected or all edges.
Creasing Individual Edges¶
In order to crease individual edges all you need to do is to select the edges and click on “Crease” button. Crease button will look at the Crs slider and set the crease level that is selected there.
Crease button also supports face selection. In face selection there are two modes. Normal click will by default crease only the perimeter of the selected faces. Shift + Crease will crease all the edges in the selected faces. This functionality can be adjusted in the Options menu.
Un-Crease button will remove creases on the selected edges. Face selection follows the same pattern as the Crease button.
Interactive Edge Creasing¶
You can enable interactive creasing mode by clicking on Crs button near the Crs slider.
After you enabled this mode, selecting edge or faces and dragging the slider will result in an interactive creasing of the said edges or faces.
The slider will change its value based on the selected edge.
Face selection follows the same rules as the Crease button.
Clicking on SubD button will change the slider to an interactive SubD slider. Dragging this slider will apply different SubD levels to the mesh.
Interactive Edge Highlight¶
Interactive edge highlight will highlight the edges based on the Angle slider angle tolerance.
To activate this mode select the object (or multiple objects) and click on a small “Angle” button on the left from the Angle Slider.
In this mode, dragging the slider will interactively filter the edges based on the selected Angle tolerance.
Note
Angle between faces has a range from 0 to 180, where 0 is basically all edges highlighted and 180 is no edges being selected. The sharper the angle between faces the more angle tolerance is needed to deselect this edge. Border edges will always be highlighted due to limitation of the Angle Selection system of Maya.
Note how some of the edges are now different color (this color can be changed in the Options menu). Those colored edges are the edges that will be affected by the next command you choose.
Note how 3 buttons are now highlighted - Select Edges, Crease+ and Bevel+. This means that you can finish the selection process by selecting one of those functions.
Selecting “Select Edges” will finish the interactive mode and select the edges you have highlighted.
Note
You don’t have to enter the Interactive Angle Highlight mode to use Select Edges, Crease+ and Bevel+. Simply dialing the Angle, SubD and Crs values and clicking on any of those buttons will result in the same selection.
Creasing and Beveling by Angle¶
Creasing and Beveling by Angle can be performed in the same way you’ve Selected Edges in the Interactive Edge Highlight mode. Select objects, click on Angle button, drag the slider and finish the selection with Crease+ or Bevel+.
Crease+ will look at the SubD and Crs slider values and apply them to the mesh and edges based on the Angle Tolerance you’ve selected.
In the Marking Menu for Crease+ button you can also find several crease presets that you can use. They will change the SubD and Crs slider values.
Bevel+ will look at the SubD and Angle Tolerance only, and apply bevel to those edges that are highlighted or fall within the Angle Tolerance numbers.
Un-Crease+ button will remove all the creases on the selected mesh.
Convert Creases to Bevels¶
You can easily convert already creased edges to bevels by using Convert Creases to Bevels command under the Crease+ marking menu (Hold RMB on Crease+ button).
Selecting Convert Creases to Bevels will look at all the creased edges on the object and change them to bevels. Crease value on the edge will have no effect on the final bevel as Maya does not support variable bevels on one Bevel node.
Create Crease Sets and Bake them¶
You can always edit and select already creased edges by simply creating a selection set from them.
This can be done by accessing Crease+ marking menu (Hold RMB on Crease+ button) and selecting “Create Crease Sets from Mesh”. This will create a selection set based on the creases. Different crease values will result in a different selection set, so you can easily distinguish between them.
Crease sets will have format “Mesh Name + _creaseSet#”
To select edges from any of the sets, just right click on the set and click “Select Set Members”. You can now edit selected edges with Crease button and different Crs value.
SubD Button¶
SubD Level button shows you the current Subdivision level of the selected mesh and clicking on this button will apply the SubD level set on the SubD slider.
Mirroring and Instancing¶
Intro¶
Mirroring is a very important tool in any 3D package.
Although Maya has its own mirror algorithm and window, the workflow for it requires way to many clicks for simple mirror. You have to open mirroring window, change parameters, choose axis and if you chose incorrectly and closed the window and undo, you have to repeat the whole process.
GS Toolbox reduces all this work to one button for each axis and some simple switches for all the parameters you need. All in the same window as other tools. All interactive, simple and intuitive.
Mirror and Instance¶
Mirror, Flip and Instance menu has 6 main buttons - one for each axis.
Simply selecting the object (or multiple objects) and clicking on one of those buttons will perform a mirror, flip or instance operation based on the parameters selected below.
Some parameters will add a small triangle to the top-left corner of the button. That means that this button now has modifier support (Shift) for alternative algorithm and functionality. This will be covered in the mirror parameters section later on this page.
Normal Mirror¶
Normal mirror operation mimics the regular Maya mirror operation, but it is streamlined into one click of an axis button.
When using normal mirror you can choose between three mirror axis positions, World, Object and Bounding Box (B.Box), by clicking on the appropriate switch button.
- World will position the mirror plane on the 0,0,0 world coordinates.
- Object will look at the pivot of an object and position the mirror plane there.
- Bounding Box (B.Box) will calculate the bounding box of the object and mirror according to it.
When performing a normal mirror you have four options for how to treat the geometry intersection with the mirror plane.
- Cut Geo will toggle the cutting of the geometry if it is intersecting with the mirror plane. Disabling this option will result in a geometry being mirrored but not cut by the mirror plane.
- Merge will merge the cut geometry based on the merge tolerance. You can select merge tolerance in the marking menu (Hold RMB) or you can choose Auto merge distance that will estimate merge tolerance based on your mesh.
- Bridge will attempt to bridge open borders of your mesh after the mirror operation.
- Nothing will do nothing after the mirror operation. It will not merge or bridge, and if you have Cut Geo selected, the resulting mesh will be cut on the mirror plane but vertices will not be merged.
Flip¶
Flip option will simply flip the geometry to the other side of the mirror plane. If the mirror plane happens to be in the middle of the object, it will just flip the left side of the object to the right and vice-versa.
With Flip you can only select the position of the flip axis. It’s the same as for the normal mirror - World, Object and Bounding Box.
You might notice a small triangle on the top-right corner of the mirror buttons. This indicates that there are actually two algorithms available for the flip.
- Normal Click Flip - when just clicking the mirror button, the flip algorithm will ignore the orientation of the pivot in Object mode and perorm a flip in a world space coordinates but centered on the pivot point.
- Shift + Flip - will perorm a flip in the object mode coordinates, similar to Maya own flip algorithm.
Same algorithm is also available for the Bounding Box mode.
Instance¶
Instancing with mirroring can be an extremely powerful tool to mimic the procedural mirror modifiers in other 3D packages. Since Maya does not have procedural mirror (however, GS Toolbox have this covered, look for Instance+), using instance with mirror can help speed up the process of modeling.
It is multi selection compatible, respects other instances and works in one click.
With Instance you can only select the position of the instance axis. It’s the same as for the normal mirror - World, Object and Bounding Box.
A small triangle that appears in the top-right corner of the axis buttons indicate that there are two algorithms available for this function, similar to the Flip command (read Flip). Just hold Shift to switch to the other algorithm.
Linear and Radial Arrays¶
Intro¶
Arraying is a vital part of any 3D package. It allows for a quick and non-destructive creation of repeating parts and details.
In Maya, arraying is only available through a built-in plug-in package - MASH. Although it is very powerful Motion Graphics tool, MASH is not very friendly to the user when it comes to modeling workflows.
In GS Toolbox there are two types of Arrays with 2 modes each. They utilize MASH in the background, but simplify and streamline the workflow focusing on a modeling side of arraying.
Two types of arrays are:
Linear Array that has 2 modes:
- Uniform Linear array that provides with uniform and non deformable way of copying geometry
- Deformed Linear array that provides with an array that can be deformed using provided controls
Radial Array that has 2 modes:
- Uniform Radial Array that creates a radial pattern without deforming the original geometry
- Deformed Radial Array that creates a radial pattern and deforms the original geometry.
Note
Linear arrays can also be applied to already existing curves and will follow their path. It is done by selecting the object(s) and the curve before clicking on any axis button.
Note
Due to the way MASH and Python interact in Maya, if you wish to undo an array you have to press Ctrl+Z not once, but a few times until you return back you your original object (it should be highlighted)
Linear-Uniform Array¶
Linear array creates repeating copies of the selected object in line based on the selected axis (X,Y,Z).
The created array object is fully procedural and you can quickly change the number of the copies by selecting the arrayed mesh and dragging the “Copies” slider or selecting the arrayed mesh and going to the Channel Box for advanced options.
Original object that you’ve arrayed is still there, can be edited using Maya tools and the changes you make will reflect on the arrayed objects.
Every linear array you create has a control curve that can be modified and the array will follow that path curve.
You can easily control the array using this curve and even change the shape of that curve to change the path of the array accordingly.
Enabling or disabling the Rotation toggle will change the alignment of the mesh to that path curve. Disabled Rotation toggle will ignore the curve orientation and keep the original orientation of the mesh intact.
Linear-Uniform Array Attributes¶
The basic attributes you have for the array are:
- Copies controls the number of copies in the selected array.
- Rotation (Calculate Rotation) enables or disables rotation calculation for the array to follow the control curve.
- Original (Show Original) shows or hides the original geometry of the selected array.
The advanced attributes found in the Channel Box:
Stretch Along Curve will determine how much the array should stretch along the length of the curve, where:
- 0 (zero) is when all the arrayed objects are in the same location at the beginning of the curve.
- 1 (one) is when all of the arrayed objects are uniformly stretched along the curve with equal spacing.
Offset Along Curve will offset the geometry along the path curve based on the amount
Linear-Deformed Array¶
This type of array is very similar to Uniform Linear Array, however it will not try to keep the shape of the original object and will conform to a path curve instead.
As with the linear array, original object can easily be edited and the change will propagate forward to the arrayed objects.
You can easily imagine how this can be used to create a massive selection of different objects - pipes, hoses, cables etc.
And everything is procedural!
Linear-Deformed Array Attributes¶
The basic attributes are the same as the uniform ones - Copies and Original. Rotation is disabled for the deformed array, since it is by default conforming to the curve.
The advanced attributes are:
- Stretch Along Curve will enable or disable uniform stretching of the array along the path curve.
- Offset Along Curve will offset the arrayed geometry along the path curve.
- Orientation allows to rotate the arrayed geometry around the curve.
- Length Scale will change the stretching of the arrayed geometry along the curve.
- Width Scale will change the width of the geometry on the curve.
- Merge Verts will automatically merge verts on the arrayed objects if enabled.
- Merge Distance controls the distance of Merge Verts attribute.
- Uniform Distribution will ignore the overall shape of the object and try to distribute the objects uniformly along the curve
- Sampling Accuracy determines the processing power allocated for the creation of the Deformed Linear Array. If you experience any inconsistencies with the array, or lags, try lowering or raising this number (Default: 1)
Radial-Uniform Array¶
This type of array will create a radial pattern of equally spaced arrayed objects without deformation of their shape.
You can change the initial orientation of the array by selecting appropriate axis plane (XY, YZ, ZX).
After that you can still edit the original object and translate, scale and rotate the arrayed object freely.
You can change the number of copies by selecting the arrayed object and dragging the Copies slider.
Radial-Uniform Array Attributes¶
- Show Original and Calculate Rotation are similar to the Uniform Linear Array and will simply show/hide original object and enable/disable orientation calculation of the copied array objects.
- Axis can be used to change the axis orientation of the arrayed object.
- Radius changes the radius of the arrayed object.
- ZOffset allows for creation of offset array geometry. The offset will work in a spiral pattern.
- Angle will change the curvature amount of the arrayed object (with 360 being the default and full rotation around the curve)
Radial-Deformed Array¶
Deformed Radial Array is a special type of array that will create the radial geometry similar to the Uniform one, but the copies of the original object will now conform and deform to a circle.
The original object can then be modified and the arrayed object will inherit all of those modifications
This mode can be used as a replacement for a radial mirror that is not currently present in Maya.
The resulting geometry can then be freely transformed, rotated or scaled by the user.
Radial-Deformed Array Attributes¶
- Show Original is similar to the Uniform Linear Array and will simply show/hide original object.
- Copies will change the amount of copies you have in your array
- Curvature changes the curvature of the radial array shape where 0 is straight line and negative numbers will flip the shape to the other side (Default: 180)
- Low and High bound controls the curvature of one side of the shape and will “unravel” the shape if both are set to zero.
- Uniform distribution ensures there are no gaps in between array shapes.
- Radius changes the radius of the circular shape.
- Merge and Merge Distance controls the merging of the vertices of the copied array objects.
Arraying Multiple Objects (Multi-Array)¶
Linear-Uniform and Radial-Uniform arrays support multi-arraying - arraying different objects in a repeating pattern.
In order to perform a multi-array operation, simply select multiple objects and click on the array axis button (X,Y,Z).
Multi-Array will create a repeating pattern of selected objects that can be controlled using the same methods as other array types.
Multi-Array has some additional attributes available:
- Pattern will change the pattern of the array. By default this number is equal to the number of unique objects in the multi-array. Raising this number will result in a different pattern.
- Randomize Pattern will randomize the pattern of the multi-array.
You can Add and Subtract objects from the Multi-Array using + and - buttons available in the array menu.
To add any object to the multi-array, first select the array then select the object you want to add and click on “+” button.
To remove an object from an array simply select the original object (not arrayed copies) and click on the “-” button.
Randomize Arrays¶
You can randomize transforms of an array by using Array Randomization parameters available for array objects.
- TX, TY, TZ - Transform X,Y,Z randomization
- RX, RY, RZ - Rotation X,Y,Z randomization
- SX, SY, SZ - Scale X,Y,Z randomization
- Rand Magnitude will change the overall magnitude of randomization.
- Uniform Scale will ensure that the scale is uniform when randomizing SX, SY and SZ scale parameters.
Apply Array¶
In order to apply the selected array, simply select the array in question and click on Apply Array button.
Warning
Due to some issues with MASH in Maya 2017-2020+ applying large arrays rarely causes Maya crash to occur. Please save the project before applying large arrays.
Instance and Instance+¶
Intro¶
Instancing is a process of duplicating the geometry and keeping the reference to the original shape.
Editing any instanced object will result in the same edit across all other instances.
This can be a powerful way to populate a scene with repeating geometry without the need to duplicate them every time you need to make a change.
Note
Do not confuse Instance and Instance+ with Mirroring and Instancing.
In Maya instancing is quite prominent tool since there are almost no procedural modifiers available for the user.
GS Toolbox provide with a fast and easy way to use classic instancing (Instance button) and also there is a brand new instance mode available - Instance+.
Instance¶
Instance button and associated to it input field will create the amount of instances dictated by said input filed.
Simply clicking on Instance button will create the instances in the X+ direction with the center based on the current position of the original object.
There are multiple options available for the Instance. You can access them via Marking Menu (Hold RMB):
- X,Y,Z,-X,-Y,-Z buttons will create the instances aligned to one of those axes.
- Instance, Copy and Copy with History options:
- Instance will create default instances.
- Copy will copy the selected object without Construction History.
- Copy with History will copy the selected object with Construction History.
- No Offset, Offset, Offset + Gap options:
- No Offset will simply instantiate (or copy) selected objects and will not move them.
- Offset will apply an offset to the object equal to the object’s bounding box. You can manually increase/decrease this offset by using offset menu and value (square button on the right of Offset options)
- Offset + Gap will offset the object the same way regular offset does but it will also add a small gap between each object. This can be helpful when selecting multiple objects after instantiation.
- Randomize Transforms will open a window where you can find various controls for Transformation, Rotation and Scale randomization of the selected objects.
Randomize Transform Window¶
You can fine Randomize Transform Window in the Instance Marking Menu (Hold RMB).
This window allows for quick randomization of the selected objects with preview.
Start by selecting the objects you wish to randomize.
Enable the randomization modules you wish to use and relevant axes.
Start dragging the sliders to see the randomization preview in the viewport.
When you are happy with the randomization simply click on Randomize button to apply the randomization parameters to the objects.
Instance+¶
Maya is a powerful 3D editing software, however, it misses one very important tool - procedural modifiers like Mirror. Also, Mayas instancing does not support booleans and breaks every time you try to use them.
GS Toolbox managed to partially solve some of these issues with Instance+.
Instance+ will create an instance of an object, similar to regular instance, but you can actually apply various modifier to it - Mirror, Solidify and Booleans.
Selecting an object and clicking on the Instance+ will initialize Instance+.
Notice how the button changes from Instance+ to Apply Inst+ with two options “Mesh and Inst”.
If you then try to switch from Mesh to Inst option, some of the buttons in GS Toolbox will light up.
Clicking on Apply Inst+ will then apply instance+ and you will have a normal, editable object in the scene.
So lets dive deeper into instance+ capabilities.
First of all let’s talk about Mirror and Solidify.
Mirror and Solidify Modifiers for Instance+¶
You can apply procedural mirror modifier to Instance+.
Editing the geometry will then mirror the edit to the other side procedurally, without then need to reapply the mirror command each time.
In order to apply the mirrors to Instance+, simply select the object, switch to Inst mode in instance+ button and click on one or multiple highlighted axes of the mirror section.
Mirroring supports multiple axes of mirroring at the same time, so you can apply multiple mirrors to one Instance+.
For example, editing one corner of the cube will be mirrored to all the corners of said cube.
You can also add procedural Extrude (Solidify) modifier to Instance+. Using this modifier is similar to normal Extrude, but it will insure the compatibility with Instance+ mesh.
Simply apply Instance+, switch to Inst mode and click on the highlighted Solidify Modifier.
For example, using Instance+ with Solidify modifier on a plane will create a procedural plane with thickness that can be extruded using only one edge for ease of editing.
Booleans and Instance+¶
You can use GS Toolbox Booleans with Instance+ (for more info about Boolean system, visit Booleans section).
This is not possible with regular instanced geometry in Maya.
This method is especially powerful in conjunction with Mirror modifier applied to Instance+ beforehand.
Warning
Very large instance+ meshes and a lot of booleans on them can cause Maya to slow down and in rare cases even crash. This is not related to the plug-in and is a problem with Boolean Node and Maya itself.
Note
Please note that Instance+ with Booleans is not a native Maya way of handling mesh data and can sometimes cause unexpected behavior. Please always backup your scenes before using Instance+ with booleans.
Store Edits and Delete Node¶
Intro¶
The main concept of editing geometry in Maya is by using so called Construction History and Nodes it represents.
Construction history is nothing more than a bunch of nodes connected together in a (mostly) linear fashion.
When you, for example, apply a polySplit command (using Multi-Cut tool) you can notice that in the Channel Box there is a new entry in the INPUTS section - polyCut.
This means that Maya simply added this polyCut node at the top of the node chain of the object.
Almost all of the functions add a new node to the construction history of an object.
Since this node chain is linear, it can be reversed to return the object to its previous state.
Unfortunately it is very inconvenient to do natively in Maya.
GS Toolbox adds Store Edits and Delete Node button exactly for this purpose - storing and reversing edits on the objects in one click.
Store Edits¶
Store Edits button stores vertex transforms of the mesh.
Not all of the changes the user make to the mesh are stored in the nodes by default. Some of them (vertex transformations) are stored in the shape node and can cause unexpected behavior if user then tries to reverse the history of an object without those edits applied as a node.
Store Edits button ensures that the mesh is always initialized to the state that is compatible with the “Delete Node” and it also serves another purpose - staging the vertex edits of the geometry.
Uninitialized Edits
Whenever used sees the white outline around Store Edits button, it means that the selected mesh is not properly initialized for the vert edits to be stored. It is very easy to fix, simply click on the Store Edits button whenever you see uninitialized objects and it will automatically fix everything.
Staging Vert Edits
If you have your mesh initialized, you can then perform any vert edit (move vertices, edges and faces) and then stage those edits by clicking on a Store Edits button. Orange color on the button but without white outline indicates that there are some edits that can be staged/stored on the selected mesh. Simply clicking on the button will store those edits in a node and the button will then return back to neutral state.
Staging your vert edits (poly edits) is very useful if you are experimenting with different shapes of the mesh and you wish to return back to the previous iteration. Simply click on the Store Edits after each significant change and those changes can then be reversed using Delete Node button.
Delete Node¶
Delete Node button is a simple way to reverse the construction history of an object (given that this history was not deleted).
To start reversing the history, simply click on the Delete Node and it will step-by-step reverse the Construction History nodes back to the original shape.
Note
It is not necessary to use “Store Edits” button every time if the mesh is already initialized (no white outline on the button). Simply clicking on the Delete Node will automatically apply latest vert edit and reverse it.
Note
Note that sometimes edits of the geometry are not visible and multiple clicks on the Delete Node are required to reverse the edit.
Selecting a Node in the Channel Box, holding Shift and clicking on the Delete Node will result in the deletion of that exact node.
Warning
Deleting selected history nodes out of order can result in an unexpected behavior.
Snapshots¶
Intro¶
In Maya each edit of the geometry is stored within a node that is added to so called Construction History that you see as a column of entries in the Channel Box or as tabs in Attribute Editor. You can even edit some of the settings on those nodes procedurally, with caution.
The downside of this procedural behavior is that each additional node added to the Construction History will gradually slow down the responsiveness of Maya. Some nodes do this more than others. For example, polyBevel is very “heavy”.
The usual workaround for this is to select an object with Construction History and apply Edit -> Delete by Type -> History. This will remove all the history nodes from the object and apply them to it.
Although this works, sometimes you want to store the previous state of the object to be able to return to it later.
This is where “Snapshot” comes into play.
Snapshot¶
Snapshot button will store a duplicate of an object with the exact state of Construction History it has into a separate group with the name “(object_name)_sn”. You can store multiple snapshots this way, with different history for each snapshot.
Storing a snapshot will not alter the original object by default. Its history will remain intact.
However, you can quickly remove the history after the snapshot was created by simply holding Shift button before you click on the “Snapshot” button.
The snapshot group and the objects in it will follow the original object when you transform, scale or rotate it.
Note
Be aware that by scaling the original object non-uniformly, you will also scale all the snapshots it has.
Extract Snapshot¶
Extract Snapshot button will extract any selected snapshot from the snapshot group and clean it up for further use.
Extract Snapshot will not remove the snapshot from the group by default, it will just duplicate and unparent it.
You can hold Shift when clicking on Snapshot to actually delete the snapshot from the snapshot group. The snapshot group itself will be deleted if the last object in it was deleted.
Snap to Poly¶
Intro¶
Sometimes it is necessary to quickly populate some surface with details and it is very tiresome to use something like “Snap Together” tool from native Maya. Bolts, surface details for booleans, pipe details and much more.
Snap to Poly function was created for this exact purpose and in conjunction with Randomize Transforms (from Instance) it can be a powerful detailing and modeling tool.
You can change the behaviour of Snap to Poly by accessing its marking menu (Hold RMB on the button)
Snap to Poly - Simple Snap¶
Snap to Poly function by default will simply snap any number of objects to any number of selected faces on one object.
This function will snap and orient the objects based on their pivot and the normal component of the polygon selected.
You can select any combination of faces and objects and if, for example, number of faces do not match the number of faces, Snap to Poly will simply snap as many objects as it can.
To ease the selection process select the faces first, and then the objects in question. After that just click on Snap to Poly.
Snap to Poly - Instance and Snap¶
Instance and Snap is option in the marking menu (Hold RMB on the button) is useful when you need to instantiate a single object over a large number of faces (bolts, nuts or other surface details).
Just select the faces that you need and with this option enabled select only one object. After that you can simply click on Snap to Poly.
This will create procedural instances of the object so you can edit the original and see all the edits propagate to the instances.
Snap to Poly - Pre-Duplication¶
Pre-Duplication option (Hold RMB on the button) if enabled will always leave one unique object behind for the edit purposes.
Straighten, Interpolate and Smooth¶
Intro¶
When going deep into the poly modeling and adding hard surface details, it is sometimes important to redirect the flow of vertecies and edges.
Im Maya, the only “automatic” way to do so is to use “Edit Edge Flow” feature. Although powerful in its own way, it is not that useful when you have hard surface object and you just want a straight line between two verts, or smooth rounded transition between 3 vertecies.
This is where Straighten, Interpolate and Smooth functions come in.
Straighten¶
Straightening an edge is a very simple concept, however even this simple function is not available in Maya natively.
Straighten button will straighten the edge selection (or multiple edge groups) between their first and last vertex.
Note
Edge groups are just unconnected edges.
Selection order does not matter for Straighten function. You can select one edge group or multiple edge groups and use Straighten function only once to straighten all of them.
Notice how in the example gif, first straighten click only projects the vertecies on a straight line between the first and the last vert in an edge group. This is the default behavior of Straighten without any modifiers.
If you hold Shift + Straighten, it will equalize the positions of the vertices along this straight line. This is showed in the second click on the GIF.
Interpolate¶
Interpolate will smoothly interpolate the selected edge groups based on three points - first, middle, and last vert.
If there is no middle vert (odd number of edges selected) Interpolate will average between two nearest “middle” edges.
Interpolate will create a natural curve based on the vertices of the selected edges.
If you wish to change the shape of that curve, simply move first, middle or last vert of the edge selection.
Note
Unline Straighten, Interpolate will not project verts and just equalize them instead.
Smooth¶
Smoothing is as simple way to smooth edges in the selected edge groups.
Smooth will average vertices in the selected edge group based on the smoothing multiplier (number on the left of the Smooth button).
Multiplier has a range from 1 to 99 where 1 is the smallest amount of smoothing and 99 is maximum smoothing.
If you repeat smooth command enough times, the edge selection will eventually turn into a straight line.
Fill Function¶
Intro¶
Filling an open border (hole) in the mesh during modeling is one of the most annoying and time consuming tasks out there. If you wish to have a regularly spaced quads for further modeling, this task can take up to several minutes to complete. Filling a hole, cutting it with cut tool or even just bridging - it takes time.
Fill (Fill Hole) function in GS Toolbox tries to solve this issue with one click.
It works on rounded, curved and other complex surfaces.
The only limitation - you need to have an even amount of verts around the border for this to work.
The patch that is being created is welded to the object and is a part of it.
Warning
Due to complexity of the operation, the history on the object you are trying to fill will be deleted.
One Vertex Fill (Automatic)¶
The most basic task that can take too much of your time is creating a quadded cap on the open end of the cylinder. Some modelers even create special cylinders with quadded caps and then just import them when they are needed.
GS Toolbox Fill will solve this task in one click.
Simply select one vert on an open edge of a cylinder and click “Fill”.
The vert you select will determine the corner quad of the cap. By selecting different verts, you can rotate this cap to the orientation you want.
When you are filling irregular patches with quads, you can also select only one vert and Fill algorithm will try to fill the hole with even quads.
Two Vertex Fill (Custom Corners)¶
You can also select two verts on an open border and this way the algorithm will know where to put the first two corners of the quad patch.
Selecting two verts can result in a more predictable quad pattern and usually recommended.
Example 01 - Curved Polygon Strip¶
Here is a more complex example - curved surface with an opening.
In this case we want very specific pattern of quads to complete this shape.
We select two bottom corners of the shape, to show the algorithm where the first two corners should be.
You can select other corners this way as well, just remember that those corners should be next to each other.
Example 02 - Cube with Holes¶
In this example we have a cube that has two holes in it. One of those holes curves around the corner of the cube.
Just like in the previous example, we want to show the algorithm where to put the first two corners and then click Fill.
This will complete the shape and you will have equally spaced quads to continue modeling.
Example 03 - Curved Detail Surface¶
In this example we have simple curved detail that has an opening that we want to fill.
It’s a perfect example where we need to select two corner verts for the algorithm to recognize and fill the pattern correctly.
Custom Patterns Fill¶
Custom patterns is a very powerful feature that allows to have different patterns of quads on the mesh based on the two vert selection.
There are always more than one way to fill an open border. Some of them work, some of them will result in a warning message and some of them will simply not fill the way you like. Experiment.
Example 04 - Cut Cylinder¶
In this example we are selecting two different patterns of verts.
The first pattern will complete the cylinder shape.
The second pattern will create an interesting detail based on the cut part of the cylinder.
There are more patterns you can use in this case.
Example 05 - Sphere with Hole¶
In this example we have a sphere that is incomplete.
We can either fill it with quads in a pattern that will try to mimic the curved surface of the sphere (although, not perfectly) or we can have a more creative approach.
If you select the corners in a normal way you will simply complete the shape and thats it.
If you try other vert combinations, you can discover some very interesting patterns that can be a surface detail on their own.
Combine, Separate, Duplicate and Extract¶
Intro¶
Some functions in Maya are used extremely often and they tend to mess with the outliner grouping and organization.
Mayas Combine, Separate for objects and Extract and Duplicate for Faces leave behind a lot of unnecessary groups in the outliner and also they rename the objects you are using them on.
This can lead to confusion and give user a hard time looking for an object in the outliner.
GS Toolbox added those four functions that mimic Mayas own native ones, but they do not create groups and they try to keep the names of the objects intact.
In the example screenshot, you can see the same amount of Extract Face operations and the resulting outliner.
Combine¶
Combine operation will simply combine two or more selected objects together into one mesh.
It will not create any unnecessary groups and the name of the resulting object will be based on the name of the first selected object.
Separate¶
Separate will separate the mesh into its shells (unconnected geometry).
It will not create any unnecessary groups and the name of the resulting object will be based on the name of the original object.
Duplicate¶
Duplicate will simply duplicate the selected faces leaving the original object intact.
The name of the new object(s) is based on the original object.
Duplicate will always separate objects.
Extract¶
Extract will extract the selected faces from the object.
By default it will only extract the faces, but it will not separate objects.
To automatically separate objects, Hold Shift before clicking on Separate button.
The name of the new object(s) is based on the original object.
Booleans¶
Intro¶
Booleans are an extremely powerful concepting and modeling tool that allows user to quickly iterate through different shapes and make quick cuts, combine objects etc.
In Maya, booleans are extremely limited. After applying boolean operation user can’t change the original shape of the cutter or bypass it or even delete it.
GS Toolbox adds a special boolean menu that allows for editing, bypassing, changing the type of booleans and even deleting the cutters without loosing the original shape.
Boolean Operations¶
When selecting objects for boolean operations it is important to remember the order of selection.
Ths First object is always the Boolean Base object. Base object is the object that you will add to or cut from using booleans.
All the objects selected after the first one will act as boolean “cutters”. They are the objects that will be merged to the base object or that will cut from the base object.
Note
First Selection -> Base Object
Everything Else after that -> Boolean Cutters (Operands)
Operations
- Bool+ - This operation will combine (add) two (or more) objects to the original shape.
- Bool- - This operation will subtract (cut) all the cutters from the base object.
- Bool= - This operation will create a new object that is based from an intersection between Base Object and Cutter objects.
Holding Shift when applying boolean operation will automatically hide the wireframe of the boolean cutter object after the boolean operation.
Boolean Attributes¶
Every boolean cutter has its own attributes (in the Channel Box):
Boolean - changing this attribute will activate or bypass the selected boolean cutter.
Boolean Operation - changing this attribute will change the boolean operation on the selected boolean cutter.
Boolean Classification - changing this attribute will change the boolean operation algorithm for one sided meshes.
- Edge will treat the one sided meshes as if they have thickness. This way you can cut the object with one sided plane and no geometry will pass through this plane.
- Normal will treat the one sided mesh as if it is infinitely thin sheet of paper, slicing the base geometry.
Show/Hide Boolean Objects¶
You can easily show/hide all the boolean objects that are attached to the selected base object.
Toggle Group will show/hide the entire boolean group, leaving only the base object visible.
Show Cutters will show all the cutter object if you happen to hide them manually (or by using Shift modifier during boolean operation)
Clicking on Select Cutters will simply select all the cutters attached to the selected base object.
Delete Boolean Cutter¶
It is possible to delete the selected cutter without any side effects.
Simply select the cutter object (wireframe) and click on Delete Bool Cutter button.
Applying Booleans¶
If you are satisfied with the boolean object you have created, you can simply click on Apply button and it will duplicate the final object and hide the boolean objects. You can then always return to them.
If you don’t want anything left behind, simply select the boolean base object, hold Shift and click on Apply Booleans button. This will clean up the scene and leave you with a new geometry you have created.
Additional options¶
In the options menu you can choose an option to group together applied booleans. This will result in the same behavior as normal Apply, but it will create a single group in the outliner and store the objects there.
Boolean Algorithms¶
When selecting multiple cutters for the boolean operation, it is important to know that there are actually three distinct algorithms available for “multi-boolean” command.
You can find those algorithms in the Options menu, alongside with some other boolean options.
Three boolean algorithms:
- Merged - the fastest and “cheapest” algorithm. It will merge all the cutters together into one object before the boolean operation, resulting in faster boolean and sacrificing individual attributes for each object.
- Optimized (Default) - this algorithm will leave the objects separate, but it will use only one boolean operation on all of them. This results in relatively light boolean operation with the ability to edit/move individual objects, but sacrificing the individual bypass and operation change capabilities of the cutters
- Advanced - this algorithm is the slowest and will apply separate boolean operation for each of the selected boolean cutters. You get the full control and loose some performance this way.
Other options:
Boolean Wireframe Output will determine whether the output base object should be in wireframe or shaded mode. This is useful when using booleans with Instance+. This option will be automatically applied if Instance+ is detected.
Automatic Boolean Instance Conversion will automatically convert all the instanced objects to regular geometry if they are detected. Disabling this option will result in a pop-up each time the instanced object is detected.
Live Plane and Align¶
Live Plane¶
Live Plane function allows to add a live construction plane that is aligned to the selected polygon.
This is extremely useful if you need to align on or multiple objects (for boolean purposes, for example) to the selected object.
Switch to Cam¶
Each time you create a Live Plane you also create a new camera that follows that plane and aligned to it.
Switch to Cam will switch to that camera.
Align¶
Creating geometry on a live plane can cause this geometry to have a wrong rotation and orientation.
Align button will align this new geometry to a Live Plane.
Quick Materials¶
Intro¶
Maya has a powerful node editor for editing materials and shaders - Hypershade.
Although it is extremely flexible and customizable, it is rather slow to use if you only need a few simple materials in your scene.
GS Toolbox adds 12 quick material swatches that you can use to quickly create, apply and store materials.
Materials can be stored as presets that can then be accessed from any other scene.
Options¶
Useful tips¶
Automatic startup of the plug-in¶
In order to automatically start the plug-in during Maya startup you need to modify (or add) userSetup.py file in your scripts folder.
Instructions:
- You need to create userSetup.py file in your Maya scripts folder.
- Use the correct folder for your version of Maya.
- For example, for Maya 2019 this file should be in (\Documents\maya\2019\scripts)
- Just create an empty text file called userSetup.txt, paste the code there and rename the file to userSetup.py.
- If you already have this file in the folder, open it with any text editor and paste the code at the bottom of the file.
Code to paste to userSetup.py file:
import maya.cmds as mc
def startupCommands():
import gs_toolbox.main as tb_main
from imp import reload
reload(tb_main)
tb_main.main()
mc.evalDeferred(startupCommands,lp=1)
You can also download the userSetup.py file here: userSetup.py