What's New in V3 

  • Grooms
    • Graft grooms tool
    • Switched to new Yaml groom format with much wider capability and support
    • Import groom as baked hair and baked guides option
  • New Groom modifier
    • "Boxing" modifiers into a single groom node
    • "Unboxing" a groom node back into its constituent modifiers
    • Create preset grooms as "full stack", groom modifier, or baked hair/guides
    • Preset grooms have adjustable parameters
  • General
    • Support for figure objects for collision detection
    • Cinema 4D 2024+ support
    • Dynamic baking of modifiers
    • Vertex color channels in modifiers that require it
    • Modifier baking now supports baking strand widths
    • Vertex tangents use Texture Coordinate generation method by default
    • Geodesic distance by default to calculate strand group blending effect
    • Default hair display to viewport is optimized mesh
    • Modifier render vs. viewport visibility support for Ornatrix modifiers
  • Performance
    • Up to 100x speed improvements in various parts
    • Circular brush mirroring performance is improved by ~90% (tested on 100K strands)
    • Significant speed increase in Push Away from Surface modifier
    • Significant performance improvements in multiple other areas (Embree 3)
    • Faster loading of "Add Hair" dialog
  • Rendering
    • Arnold translator for C4DtoA 4.3 and later
  • Mesh from Strands modifier
    • Conform to Surface option smoothly blends the roots to surface
  • Edit Guides
    • Option to set default strand channel values
    • Added "Rotate Strands" tool
    • Create brush can add strands per-vertex and per-polygon face
    • (Plant Guides Tool) Option to enable or disable automatic new strand selection
    • Interpolating planted guide between all selected strands instead of only the closest one
    • Ability to move only the roots of strands
    • Painting RGB colors with the Paint brush tool
  • Guides from Guide Mesh modifier
    • Modifier preserves strand rotations
  • Clump modifier
    • Dynamic clumping option (automatically update clumps when clump count is adjusted)
    • Option to set strand groups based on clump ownership
    • "Ground Displaced Roots" option
  • Strand Animation Cache modifier
    • Option to only load specific Alembic curves
    • "Force Consistent Root Positions" parameter
  • Surface Comb modifier
    • Per-sink rotation adjustments
  • Ground modifier
    • Using Embree, significantly speeding it up
    • Mesh evaluation at specified time
  • Filter modifier
    • Option to remove strands evenly
  • Noise modifier
    • Range values for Scale parameter
  • Mesh from Strands modifier
    • Negative axis options to the 'Proxy Reference Up Axis' parameter
  • Generate Strand Data modifier
    Allow applying Generate Strand Data values by strand groups (instead of individually per strand)
 

Fixes 

  • Crash with proxy meshes when input hair doesn't have a distribution mesh
  • Crash when importing some MetaHuman Alembic grooms
  • Guides close to UV edges will flicker on animation when texture islands are present
  • Crash trying to access dynamic parameter set descriptor owner
  • Groom dialog imports grooms given last selected "import as" setting, while always displaying "full stack" as default
  • Guide's orientation change when moving the its root
  • The selection brush stops working correctly if 'Affect Selected Only' is enabled
  • Incorrect mesh parameter handling when generating yaml grooms
  • Push Away from Surface: Crash when using very dense meshes
  • Strand Scatter: Scattered objects should inherit the rotations of the target strands
  • Crash when merging two Hair From Mesh Strips objects with Merge operator
  • Clumper: Undoing "Root Blending Positions" changes will reset the clumps
  • Clumper: Clumps reset when enabling Viewport Mesh Strands
  • Scatter Strands: Crash when enabling 'Display in Viewport'
  • Push Away From Surface: Incorrect collisions in Hair from Mesh Strips
  • Delete brush selects wrong strands when ignore backfacing option is off
  • Crash when a channel is assigned in Clumper
  • Re-fitting graft grooms containing Surface Comb changes hair scaling and orientations
  • Crash when using a dense mesh in Push Away from Surface
  • Polygon mesh set as blend shape is removed when enabling a hair object
  • Smooth Surface operator changes strand rotations when First Edge is used for tangent calculation
  • Hair doesn't clear all surface dependencies leading to rare crashes
  • Crash when deletions and creations are used together on a deforming mesh
  • Crash when a channel is assigned in various operators
  • Push Away From Surface: Hair object disappears when adding PAFS modifier
  • Warning when brushing hair from baked hair, in some cases
  • Curl: Random Seed not working correctly
  • Edit Guides: Soft Selection Distance parameter value is too sensitive
  • Crash when deleting Hair from Mesh Strips meshes
  • Frizz Operator: Incorrect hair deformations with non-identity scene transforms
  • Crash when removing distribution mesh in Hair from Guides
  • Hair from Guides: Multiplier maps not working when using 'Guides as Hair'
  • Curl modifier changes strands even if they are filtered out via groups
  • Hair From Guides: Assertion failure when setting Guide Count to `Do not Interpolate` when guide point counts differ
  • Assertion/crash when Generate Strand Data SeExpr encounters an error
  • Error when setting Filter value to 0
  • Moov crash when Use Group Holder is disabled
  • Change Width map does not affect hairs generated by Plant Guides tool
  • Don't disable widths when they were not edited in Edit Guides
  • Selection rectangle size is not correct, resulting in wrong strands being selected
  • "Invalid Alembic archive type" gets printed continuously
  • Surface Comb triangulation non-smooth transition between polygons
  • Surface Comb Triangulation sinks don't factor in sink length
  • Incorrect sink length is returned for mirrored sinks
  • Clump twist is still applied even for non-clumped strands
  • Cannot select strands in Edit Guides when strand groups were previously assigned to ungrounded hair
  • GroundStrands: Grounded HFMS strands get straightened when attaching the roots
  • Incorrect strand direction in Surface Comb with Mesh Vertex algorithm and coinciding strand/sink position
  • BrushShape: Square shape does not work with the Delete brush
  • Incorrect Blend Distance in operators when switching value below/above zero
  • Crash when attaching roots in Ground modifier
  • GenerateStrandsData doesn't update when referenced object moves in the scene
  • Incorrect strand direction in Surface Comb with Mesh Vertex algorithm and coinciding strand/sink position
  • Strands rotating randomly during animation
  • Evaluating an Edit Guides node on top of a mesh multiple time produces incorrect output
  • Baking Guides From Mesh into Edit Guides produces no output
  • Error when evaluating Edit Guides above a mesh
  • Add range values for Noise Scale parameter
  • Add dependency on Python
  • Detail does not filter Stand Groups
  • Hair From Mesh Strips: Adding a mesh strips to the list will cause a crash in some cases
  • Ignore backfacing strands doesn't work with CP selection
  • Error: Ornatrix: Assert failed when removing a Strip Mesh
  • Unable to change strand channel name
  • Incorrect direction used for Mesh from Strands conform to surface option with proxy meshes. The results are also smoothed, like they are with flat/cylindrical hair.
  • Error/crash when loading Alembic files with unexpected property data types (e.g. when exported from Houdini)
  • Assertion/crash when Symmetry plane normal is not of unit length
  • 'Assert failed' error when baking the Propagation node
  • Animation Cache: Strand channel data is not recorded
  • GPU hair crash, reverted to older hair display method
  • Edit Guides channel renaming is not saved with the scene
  • Exception when loading Alembic files with unexpected property data types
  • Groom modifier incorrectly evaluates during graph parameter editing
  • Alembic Export crash when Separate Strands and Velocities options are enabled
  • EditGuides: Error when using the 'Create' brush with four or more collinear roots
  • Surface Comb modifier doesn't preserve sinks when (un)boxing
  • Fixed unboxing imported groom modifier creating a duplicate distribution mesh. Simplified distribution object instantiation.
  • Make sure propagated strands on a hair generated from a curve are correctly positioned on target mesh
  • Propagated strands should not be grounded
  • Incorrect twists and rotations when using multiple Rotate operators together
  • Conform to Surface uses incorrect "up" axis in Mesh from Strands
  • Cannot select groups with index larger than 31 with a pattern in Edit Guides
  • Update guide dependencies in Hair From Guides when input guides surface dependencies change
  • Edit Guides containing deletions and shape changes produce incorrect results on animated deforming meshes
  • Crash when using "Even" option in Filter without a distribution mesh
  • Error reloading a scene containing a groom graft
  • GroundStrands: Missing text label on the Attach Roots button
  • Guides created on V2 look different on V3
  • EditGuides: Push Away From Surface Distance value behaves the same below 1.0
  • GroomGraft: The hair is pushed behind the distribution mesh when enabling mirroring
  • GroomGraft: The groom graft parameters missing from the UI
  • Control point rectangle selection in EG doesn't respect object transform
  • Roots don't move along surface in strand editing mode
  • GroundStrands: Grounding position changes when reloading the scene
  • Crash when enabling "Use Face Include" when Surface Comb is above Guides from Mesh
Missing Something? Let us know if this page needs more information about the topic.