Hair Tube Builder
Last updated
Last updated
The Hair Tube Builder is a tool designed to create detailed hair tube geometries. Unlike current curves-to-proxy tools, it allows for individual strand shaping, offering improved control for generating groom-to-geometry proxies for animation/CFX or creating geometry-based hair for 2D styles.
The tool uses the layer systems from curve-to-proxy tools, giving you full control over how the layers are organized.
Features include options to modify root and tip shapes, adjust curve strands with a comprehensive set of control sliders, and the ability to use Interactive Curve Tools for dynamic control. For 2D hairstyles, the tool also offers crease options to define specific points on the root curve, applying creases on edges before export.
Info
Displays the layer name of current selected curves.
S-M-L
Size of the UI. Small, Medium, or Large.
Refresh Button
Sometimes a layer is deleted or when a new Maya scene is opened, click on this button to refresh the layer list so it can pick up correct layers in current scene.
Toggles on/off the path curve when curve(s) are selected
Isolate selected strands or layers.
Select Geometry - allows you to select geometry on selected curves. This is helpful when you just want to check the UV, or check the attributes on the geometries.
Unlock Geometry - unlocking the geometry will allow you to select the geometry and edit the vertex/UV of the geometry. This is recommended to be done at final stages.
Lock Geometry - locks the geometry from being selected/edited.
Choose between Lambert, Blinn, Phong, Surface, or Ramp shader. Please do not edit the color in the shaders as this will not reflect on the layer color swatches and can cause unwanted behavior.
Create New PFX Outline On Selection - with strand curves selected, applies a new PFX outline node.
Remove Assigned PFX Outlines - with strand curves selected, removes the assigned PFX outline node.
Delete PFX Outlines - opens a UI where we can select existing PFX outline nodes and delete them.
Create:
Creates a layer:
When curve(s) are selected, clicking on this button will create a new layer and a tube will be created
When multiple curve(s) are selected, you will be prompted to choose either create one layer for all curves or, a separate layer for each curve.
When nothing is selected, clicking on this button will create an empty layer.
Strand Editor
This is the main control window for the tube strand.
Copy
Select a curve to copy the curve setting
Paste
After a tube strand is copied, 'Left Click' on the Paste button will display several pasting functions.
Paste All - paste everything (Except for the aim settings).
Paste Only Shape - paste the root curve and the tip curve shape.
Paste Only Attributes - paste only the strand control parameters.
Paste Only Crease - paste the crease CV and runs a crease operation.
Paste Only UV Seam - paste the UV seam and the UV option (Stripe, Grid, or Unfold), and then runs an UV operation based on the UV option.
Select Custom Paste Options - will open a window and you can choose which attribute/parameters to paste.
Duplicate
Select a curve and click on this button to duplicate a strand. Duplicated strand will be put in the same layer as the original selected curve.
Mirror
Left-click on the Duplicate button will give you the option to mirror across x, y, or z
Lattice
The Maya Lattice function enables you to adjust groups of geometries using a 3D grid. To use this tool:
Select the strand curves.
Run the Lattice tool to modify shapes.
Once modifications are complete, select all curves and click 'Bake Lattice.'
If the lattice nodes remain after baking, select them in the outliner and delete them.
Smoothing
Enables the strand subdivision preview on selected strand curves. (This is the same function as hitting the default Maya hot key 3). This function is for previewing the tube strands if you have crease geometry set.
Normalize
Run a smooth operation to selected curves so the CVs on the curves will be more evenly spaced out.
Delete
Cleanly delete selected tubes. Please delete a tube by using this button instead of the 'delete' key on your keyboard.
Like Maya Display Layers, turn on/off tubes in that layer. When multiple layers are selected, all will be toggled.
Like Maya Display Layers, set template/lock on tubes in that layer to keep them from being selected. When multiple layers are selected, all will be toggled
Color Swatches:
Change the color of tubes by clicking on the color swatch.
Layer Name:
Clicking on the layer name button itself will select all strand curves in this layer.
Extract
Extract Selected Strand(s) - Makes a duplicate of strand tubes from selected strands.
Extract Selected Layer(s) - Makes a duplicate of strand tubes from selected layers.
Extract All Layer(s) - Makes a duplicate of strand tubes from all layers.
Delete Layer
Delete Empty Layers - Delete all layers that do not have any members in them.
Delete Selected Layers - Delete all selected layers (highlighted in the layer manager).
Remove All Layers - Delete all layers and the setup.
This is the main control for the corresponding tube geometry of a selected strand curve.
Strand Name Bar
shows the name of current strand curve (default name will be something like "xgt_tube2_group1_masterCrv1". Clicking on this bar will select both the strand geometry and the curve.
Presets
Presets allows you to save a strand's settings, so it can be reused in the current scene or a new scene.
Profile Curve Shaping Window
Modify your profile curves in this window, you can display the profile curves by selecting Root, Tip, or Both. When 'Both' are displayed, chances are you will still see just one shape, that is because the root and the tip curves are right on top of each other.
Shape:
Click the Shape button to view and select from various profile curve shapes. Choosing a shape will apply it to both root and tip curves, overriding any existing shape.
Custom Selected: to apply a custom shape:
The custom curve need to be positioned at the origin [0,0,0]
The custom curve need to be 'closed' curve.
To use a custom curve. Import your curve first, make sure it's a closed curve. Then, make sure the strand editor is displaying the desired hair tube strand. Finally, select the curve you imported, and and then click on 'Custom Selected'
You can also grab a default period curve by going to the Main UI > Menu > Create Default Root/Tip Curve
Add/Remove Point
To add more edge loops to the profile curves, simply click on this button, and click anywhere on either the root or the tip curve.
To delete a point, hold down Control + Left Click and drag, you will see highlighted CVs while dragging, releasing the mouse button will delete the CV.
Path Curve CVs
Changes the CV count on the path curve.
Strand Controls
Subdivision: Controls the length subdivision.
Scale: Controls the size of the strand.
Scale X: Controls the scaling in the X-axis of the strand.
Scale Z: Controls the scaling in the Z-axis the strand.
Lock Curve Length Influence:
When enabled, the strand geometry will align all the way from root to tip of a curve.
When disabled, you can choose a percentage to apply to the strand.
Length %: When Lock Curve Length Influence is disabled, you can enter a percentage for the strand.
Rotation: Rotates the strand based on the ramp.
Twist: Twists strands around the central curve axis. This setting needs to be coupled with the twist ramp.
Offset X: Moves the strand in the X direction from the center axis.
Offset Z: Moves the strand in the Z direction from the center axis.
Offset Rotation: Spins around the tube strand using the center of the tube as the center axis.
Crease Controls:
Crease Geometry Checkbox
When this is on, the tool will automatically apply a crease operation to the tube using the CV index numbers in the Crease CVs box.
Crease CVs: CV index list for creasing.
Set: Sets CV list from selected root curve CVs
Add: Adds selected CVs to existing CV list.
Remove: Removes selected CVs from existing CV list.
Clear: Clears all CV index from the Crease CV list.
UV Controls:
UV Type:
None - default of all hair tube created will be set to None. The UV will be there, but it will most likely to be undesirable until you set the UV type to one of the following.
Stripe - Automatically unwraps the tube strand so the UV is a long rectangle from top to bottom.
Grid - Automatically unwraps the tube strand so the UV covers the entire 1 to 1 UV space.
Unfold - Automatically unwraps the tube strand so the UV is more organic. This is done using Maya's Unfold function.
UV Seam:
UV seam is based on the CV selected from either the root or the tip curve. To change the UV seam, select a vertex on either the root or the tip curve, and click on Set/Refresh UV
Set/Refresh UV:
Clicking on this button will run an auto unwrap function. The result will be based on the current UV type and UV seam option that is set to.
Aim Curve Controls:
Aim Curve Offset: When a strand is created, it automatically calculates the aim position so that the strand is always facing up. This can be a value of 0.5 or -0.5.
Use Given Normal: Default is set to off. For more complicated curves that twist, or curls around, twisting geometry can occur. In this case, you may want to use a custom normal to fix the issue.
Toggle Aim Curve: To further adjust the facing orientation along a strand, you can also display the aim curve and move the vertices.
Reset Aim Curve: resets the aim curve back to its initial state.
Advanced Controls:
Sampling Accuracy: Sometimes if you see a 'twisted', or 'pinched' tip on tube strand, set this parameter lower to fix the issue.
Toggle Curve(s)
Isolate Strand(s)
Geometry Utilities
Preview Shader Toggle
Layer visibility
Layer Lock
The tool comes with Visibility, Lock and Up/Down buttons: Toggle all layer Visibility ON Toggle all layer Visibility OFF Invert current layers Visibility states
Toggle all layer Lock ON Toggle all layer Lock OFF Invert current layers Lock States
Move selected Layer(s) Up Move selected Layer(s) Down Move selected Layer(s) to the top Move selected Layer(s) to the bottom