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