Curves operations:¶
Here I will describe all operators that are available in the bottom part of Hair Tool pie menu (Ctrl+Shift+H - by default). Or from right Sidebar in Hair Operations tab.
Note1: All these tools will work with selections made with Hair Modeling tools Note2: Quite often all hair curves are generated procedurally. This mean tools below wont work, since there are no real curves to operate on. There is option in Hair System to Bake generated Curves to real geometry
Radius Section¶
Radius Multiply multiply radius of selected curves by given value Set Multiply set radius of selected curves to given value Taper Curve use curve mapping to change radius of selected curves
Tilt Section¶
Tilt Add adds titl to existing curve tilt value Set Tilt set tilt of selected curves to given value Align Tilt Align Tilt (to Target - if set, or to curves Surface object) Randomize Tilt Randomize tilt of selected curves (between 'Max Tilt Angle', and 'Min Tilt')
Utils Section¶
Smooth Attribute smooth: radius, tilt or position of selected curves
Hair Straighten straighten selected curves (with adjustable transition)
Adjust Length set length of selected curves to given value (they can be extended above 100% too)
Curve Simplify Allows to reduce point count. Good for reducing polycount on hairs
Resample Curve. Allows to increase/decrease number of points each curve is made of
Parameters (F9):
- Points per strand - How many points each spline will have after resampling
- Offset to tip - Move spline points more toward tip
- Offset to root - Move spline points more toward root
- Equal point count - When disabled, shorter splines will have less points
- Uniform Spacing - Equalize distance between points when resampling
Straighten Curve old demo from HTool 2.46 (works same way in HT 3.0 - except on new hair curves)
Interpolate Strands Generate extra strands in between selected curves
Other Section¶
Separate / Join Curves¶
Separate / Join Curves - This works in Object Mode, Curve Edit mode and Sculpt Mode
Slice Using Mesh¶
Slice Using Mesh - you can cut curves using mesh (same as in HTool 2.46)
Generate Ambient Occlusion¶
It will add, geometry-nodes based, Ambient Occlusion vertex color attribute, called AO
, to your object.
By default, AO
attribute node is connected into 'Vert Color AO' input in HairShader. To see the effect set 'AO Mix Factor' to 1
Note: AO modifier is heavy on performance, so use it only when needed.
Parameters:
- Samples - how many samples to use for AO calculation (more samples = better quality, but slower)
- Base Color Value - bounced light color (default is black - full occlusion)
- Spread Angle - how much to spread AO rays around vert normal (default 60 degrees)
- Blur Steps - smooth out the generated vertex color AO attribute (default 1)
- First Bounce Factor -- how much to mix first bounce AO with second bounce AO (default 0.6)
- Second Bounce Factor - how much to mix second bounce AO with first bounce AO (default 0.4)
- Use Additional Mesh - if enabled, you can select additional mesh object to use for AO calculation (useful when you want to bake shadows from character body onto hair)
- Inflate External Object - helps avoid dark shadows on hair cast by 'Additional Mesh' by slightly shrinking that mesh (default -0.005 - shrinks character by 0.5 cm)
- AO Attribute Name - name of the vertex color attribute to create (default is
AO
) - Write AO to Alpha - if enabled, it will write AO value to alpha channel of the vertex color attribute (default is disabled)
For more details see this YT Video (3 min length, starting at 2:30)
Project Roots¶
This will add a modifier that projects hair profile (mesh) roots along the strand tangent direction onto the target mesh surface
Parameters:
- Target Object - object to project hair profile roots onto
- Factor - how far to project roots (0.0 = no projection, 1.0 = full projection)
- Push Out - helps to lift hair profile roots slightly above target mesh surface, to avoid clipping
- Ray Length - how far to cast rays from hair profile roots to target mesh surface (along strand tangent direction)
Note: This modifier works on mesh (hair profile). Its good idea to use Embed Roots deformer first, to move strand roots closer to target mesh surface, before applying this modifier.
Sample Normals¶
Use to sample normal's from mesh object and save them as a color attribute called SAMPLED_NORM
. It support 'Blend Distance' parameter, which allows you to define the range of the effect
When hair is converted to mesh, this attribute will be automatically converted into custom mesh normal.
To use SAMPLED_NORM
attribute in shader, you have to set 'Mix Sampled Normals' to 1 in 'HTool_Normal' node, in your hair material
Parameters:
- Object - object to sample normals from
- Blend Distance - distance within which we should use sampled normals (default 0.1 - 10 cm)
- Blend Fade - controls the transition between sampled normals and hair normals (default 1.0 - smooth transition)
Select Tips/Roots¶
Available in Curve Edit mode at the bottom of Select menu
Select Tips/Roots - lets you select first/last points on curves. You have option to randomize selection, or limit it by strand length.
Shape Keys¶
Curves Shape Keys¶
Hair Tool comes with feature that resembles mesh Shape Keys, but for hair curves. It is targeted for new hair curves, and it creates snapshots of curve points positions. These snapshots can be loaded at any time using checkbox icon.
Location: curve 'Data' tab > 'Curves Shape Keys' panel.
Track To Curve deformer, is automatically creating bind position shapshot. With it you can bring your curve back to original (bind) shape at any time. Similar workflow is possible with built-in mesh shapekeys and Track to Mesh
Transfer Shape Keys to Mesh¶
Location: curve 'Data' tab > 'Curves Shape Keys' panel.
Select Mesh hair
, then Curve Hair
object (they have to have same topology - vert, edge, face count) and then click 'Transfer Shape Keys' to bake hair deformation into mesh shape-key