GS CurveTools v1.2.4 Minor Update - Orient to Normals and Mass Bind

News / 09 August 2021

GS CurveTools v1.2.4 Minor Update

Orient to Normals, Mass Bind and Mirror Improvements

This update for CurveTools is focused on improving workflow with bound cards (hair clumps) and also improving the overall usability of the Mirror Function.

The main new feature in this update is Orient to Normals function.

Orient to Normals

When creating hair (especially the shorter variations), it can be tricky to place all the cards and orient them correctly to the scalp. This manual process can take hours, and even days.

While Orient to Normal is not a "one button click" solution to making amazing looking hair style, it can definitely improve your workflow and save some time.

Orient to Normals main function is to orient all the selected cards to the normal direction of the base mesh. What that means, is that it will try to align all the selected cards so they are facing away from the mesh, just how they are supposed to be.

Orient to Normal consists of a Menu that can be found in a Curve Control Window. This menu will be active when either polygon mesh or nurbs curve is selected.

In this menu you can find a target mesh field as well as "Select Target" button.

To select a mesh as a target you can simply type the name of the mesh in the field, or select the mesh in the viewport (or outliner) and click on "Select Target".

Now that you have your target polygon mesh selected, you can simply select all the curves you wish to orient and click on "Orient".

You also have some options available for Orient to Normals function.

  • Refresh VP checkbox will Enable/Disable viewport updates during the orientation process. Disabling the updates can save some computation time and speed up the process, especially if you are orienting hundreds of cards.
  • Iterations control the maximum amount of iterations per card that is allowed to happen. Increasing the iteration count can result in a more precise orientation, but with longer computation times. It is not recommended to blindly crank up the iteration count as this can lead to very long computation times and the final result can be marginally better.
  • Min.Angle this slider controls the minimum angle tolerance that the Orient to Normals is targeting. The smaller the angle, the closer the orientation will be to the "ideal" alignment with the mesh. Please note that very small numbers can cause incorrect orientation calculation, depending on the position of the card. Recommended value is 3-5 degrees.

Hotkey for Orient to Normals function is also available in the Hotkey Editor

Notable limitations: Orientation works best with single sided cards. Tubular shapes, complex hair clumps and braids can have less accuracy during the orientation process.

Mass Bind

In this update there is a new option in the options menu called "Bind to All Available Curves". This option enables so called "Mass Bind" algorithm for the "Bind" function.

Enabling this option will result in two things:

First, it will automatically enable Duplicate Curves Before Bind option.

Second, it will automatically bind the selected hair clump (or geometry) to all available "Empty" curves.

"Empty Curves" simply means that there is no geo or clumps attached to this curve at this moment.

Important to note that this Mass Bind function acts exactly like the normal Bind, but simply applied to multiple curves in one click.

If the empty curves already have parameters on them (for example, you used Unbind to remove geometry from them before) those parameters will be automatically restored. This allows to use this workflow to change the bound cards "en masse" during your work.

Mirror Improvements

With this update the Mirror Function introduced in 1.2 update received a major improvement.

Before, mirroring cards sometimes resulted in an incorrect orientation of their mirrored copies.

After this update, orientation of single cards should be much closer to the original cards (but mirrored, obviously).

This works perfectly for single cards (Warp or Extrude). However, for complex shapes like hair clumps (Bound Cards) with a lot of components and different shapes and orientations (tubular shapes etc), this mirror function can have problems orienting the final mirrored result correctly.


May Mega Sale 30% OFF

News / 20 May 2021

May Mega Sale 30% OFF

Get 30% off on my store during the May Mega Sale on the ArtStation Marketplace from May 20 - May 26! DISCOUNT LINK

GS CurveTools v1.2 Major Update Released!

News / 07 May 2021

GS CurveTools v1.2 Major Update Released

In case you missed it - the major free update for GS CurveTools plug-in for Maya is finally here!

Update Video

Main new features

New UV Editor:

Move, Rotate and Scale multiple UV maps for your cards!

Draw UVs

and more.

Supported texture formats are PNG, JPEG and TGA

Unbind already Bound (Warp) cards:

New Profile Curve Graph:

Control the profile of the curve along its length

New Regroup by Layer function:

Organize your outliner in one click!

Compatible with Layer colors

New Color Editor with global Preset:

Change layer colors for better visibility.

Sync path curve and Layer colors

Save Preset

Generate Gradients or Randomize


Full changelog is here

Maya 2020-2022 UV Bug

Unfortunately, Autodesk did not fix the polyMoveUV node and Maya Binary format bug since 2020. It is still present in 2022.

Here is a workaround and fix: LINK

Works on 2020 and 2022 without any issues. No functionality loss because of it.

Regarding Maya 2022 update and GS CurveTools and GS Toolbox

News / 26 March 2021

Regarding Maya 2022 update

Since Autodesk changed the version of Python for Maya 2022 from 2.7 to 3.7 (quite the leap), the GS Toolbox and GS CurveTools must be updated before they will work in the new version.

The update process from python 2.7 to 3.7 is fairly simple and no major issues with the compatibility so far, so the plug-ins will work just fine on 2022 after the update.

Maya 2022 in compatibility mode

Another piece of good news is that you can actually run Maya 2022 in Python 2 compatible mode and the plug-ins work just fine! It's not a final fix or anything, and the update to the plug-ins will ensure that no such workarounds are necessary, but if you wish you can work in Maya 2022 already.

Here are some instructions from Autodesk: LINK 

You simply need to add a command to the Maya link path -pythonver 2 and that's it:

Maya 2020 UV Bug is still there in 2022 (Thanks Autodesk, very cool)

On the other hand, UV bug that was present in Maya 2020 is still there in 2022. Autodesk, as always, refuses to fix "minor" bugs and their polyMoveUV node is still broken. 

Workaround/fix for CurveTools works just fine in 2022 as well, and saving your project as Maya ASCII (.ma) file fixes the issue.
Here is more information regarding the Maya 2020 (and 2022) UV bug and how to fix it:  LINK 

All in all this update seems to be fairly non-intrusive and did not break GS CurveTools and Toolbox too much.

Thank you all for your continued support and have a great day!


News / 24 November 2020


You can now get 50% off on GS CurveTools or GS Toolbox plug-ins.

Applies to studio licenses as well!

ArtStation Marketplace

Follow the links to get the discount (November 26 - December 02):

GS CurveTools:

GS Toolbox:

FlippedNormals Store

Follow the link to get the discount:

Sale is active until December 02

GS CurveTools and GS Toolbox ArtStation Badges

News / 13 October 2020

GS CurveTools and GS Toolbox ArtStation Badges are now available!

Great news!

You can now add GS Toolbox and GS CurveTools plug-ins to your list of used software when creating a portfolio project on ArtStation!

Simply start typing "GS" and you will find them in the list:

They will now appear in your project details:

You can also add them to the already existing projects.

Adding the plug-ins to your amazing artworks will help me immensely!

Thank you for your continued support! :)

GS Toolbox v1.1 - Major Update is Here! - Procedural Arrays, Fill with Quads and more!

News / 01 October 2020

GS Toolbox v1.1 - Major Update

After long wait the new update for GS Toolbox v1.1 is finally here!

In this update big focus is on the Procedural Arrays workflow, Mac OS (OSX) support as well as adding much needed Quad Fill function!

Plug-in available here: LINK


Linear and Radial Arrays are now available with Uniform and Deformed modes.

Uniform will simply copy the objects along the axis and add a control curve.

Deformed will copy the objects and deform them to match the control curve curvature.

Change number of copies procedurally.

Create instant jewelry from different objects all controlled by one curve.

Combine Uniform and Deformed arrays for added effect.

Arrays Tutorial

Fill with Quads

Filling holes in objects with quads that follow the curvature and spacing? Yes!

One simple button with a lot of control. Select one vert for simple fill and two verts for advanced patterns.

Fill with Quads Tutorial


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.


  • 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.

Update on Maya 2020 UV bug

News / 29 May 2020

Update on Maya 2020 UV bug

Regarding GS CurveTools.

Maya 2020.2 was released and the UV bug is still not fixed by Autodesk.

I will report it for 2020.2 as well.

If you are forced to use 2020, just stick to Maya ASCII scene files (.ma) for now. 

More info here: MAYA 2020 UV BUG

A quick update on "Maya 2020 and 2020.1" UV Bug

News / 08 April 2020

A quick update on "Maya 2020 and 2020.1" UV Bug and CurveTools

Only for Maya 2020 users!

It seems that this issue only affects Maya Binary file type (.mb) and not Maya ASCII file type (.ma

Until Autodesk fixes this issue, please try to use only Maya ASCII project files for your hair projects.


1. Open your Maya Binary file 

2. Apply the "Fix Old UVs" fix in the Options Menu of GS CurveTools 

3. Save the scene as Maya ASCII using "Save Scene As" 

4. It should now work perfectly fine 

Maya ASCII opens kind of slow, at least for me, but it should at least work properly. 

P.S. And that’s why you never update to a latest version … 

Forum topic : 

Bug report number: BSPR-35061

Maya 2020 UV Bug and Temporary Fix

News / 07 April 2020

Maya 2020 and 2020.1 UV Bug

Just a quick announcement that there is a bug in Maya 2020 (and 2020.1 as well) that breaks the UVs on any mesh that uses polyMoveUV node when you reload the project.

This is an internal Maya issue and I can't fix it on my side. It has nothing to do with GS CurveTools plug-in. I've tested this on a simple plane with the plug-in disabled and got the same bug.

I strongly recommend avoiding Maya 2020 for now.

However, if you still want to use 2020 there is a temporary fix button "Fix Old UVs" in the options menu of GS CurveTools v1.1 and higher. The naming is a bit wrong here because it is not an issue with "Old UVs" as I first thought. But it works regardless:

This will only work before you reload the project. You need to apply the fix each time you open/reload a project.

P.S. For those of you who are interested, the issue here is polyMoveUV node and its inputComponents attribute.

inputComponents attribute shows the wrong value after reload:

Where it should say map[*] it says nmm[*] each time the scene is reloaded.