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.