New in Version 2
New Operators
- Normalize
- Clumping
- Braids
- Push Away From Surface
- Moov Hair Physics
- Oscillator
- Resolve Collisions
- Change Width
- Importing Alembic hair
- Adopt External Guides
- Weaver and Weaver Pattern
- Scatter
- Ornatrix V-Ray Primitive
Improvements
- Strand group patterns
- Generate Strand Data node:
- Generate XYZ object and world-space strand data values
- Store/freeze data
- SeExpr expressions to generate data
- Generate data into strand groups, widths, strand ids, and other channels
- Texture maps can be used as source data and in SeExpr
- Edit Guides Operator
- Planted Guides inherit the strand groups and channels of the source strand
- Selected control points are highlighted in a different color
- Option to allow user to turn off using tablet when brushing
- Edit Guides operator can be used on top of hair (as well as guides), paving the way to direct render hair manipulation
- Plant Guides tool uses Tools settings Window
- Improved behavior and new options for Comb, Drag, and Smooth brushes
- Improved behavior for Control Point editing
- Per-vertex channel support including painting and displaying the per-vertex channel values
- Guides from Mesh
- Evenly spaced roots distribution
- Root generation is multi-threaded providing a significant speed boost
- Hair from Guides
- Evenly spaced roots distribution
- Root generation is multi-threaded providing a significant speed boost
- "Interpolate guides in object space" option
- Temporary hair isolation, allowing final hair preview in chunks
- Ability to control whether per-vertex and per-strand data is generated or not
- New ability to add root displacement inside the surface as well as outside
- Animation Cache Operator
- Buttons to save and load .abc files
- Ground Strands
- Uses "Attach/Detach" option instead of a single "Ground" button
- Curve to control how much original strand positions are offset towards the distribution mesh
- Surface Comb Operator
- Minimum and maximum bend angle values
- Sink curves
- Vector map and color channel can be used as object-space directions
- Baked Hair
- Allows referencing multiple external Alembic files, merging them as needed
- Hair width and texture coordinates are loaded from Alembic files
- Viewport previews a (controllable) sub-set of final render hairs
- Mesh from Strands
- Polygons can be modified using Maya's mesh editing tools
- Hair from Mesh Strips
- Selection modifiers keys (Shift and Ctrl)
- Ability to create strip id strand channel
- Exporting Hair to Alembic
- Hair channel data and strand ids are exported to Alembic files
- Rotating Strands
- Specify which point on a strand to use to define strand direction vector
- Hair Shape
- Export N-dimensional strand channel data to various Redshift render attributes
- Frizz
- Frizz can now be strand length dependent
- Option to add outlier per-strand channel
- General
- Support for picking manipulators with DirectX core profile
- Integrated Ornatrix with the 3D Paint Tool (Artisan) for painting various attributes
- Hair stack panel docking is persistent with Maya scenes
- API
- Brand new set of
IHair
interfaces - Each guide and hair strand has a unique unchanging id propagated through the evaluation pipeline
- Strand groups storage is separate from strand channel
- Brand new set of
Removed Operators
- Hair Clustering
This operator is replaced by the new Clumping operator - Guide Clustering
This operator is replaced by the new Clumping operator - Render Settings
This operator is replaced by the new Change Width operator
See Adding Legacy Operators section below to learn how to add these operators in V2.
Loading V1 scenes in V2
Scenes saved in Ornatrix Maya V1 should generally load without problems in Ornatrix Maya V2. However, there have a been a number of changes and you should not expect the scenes to render out identical in V2 to their counterpart render in V1. This is due to many changes in operators, hair generation, and interpolation. Therefore, if you are in a middle of a project which uses scenes saved with Ornatrix Maya V1 you are advised to finish the project in V1 before starting new scenes and assets in V2.
- There are a few known messages which will be printed into the script window. These are benign and can be ignored. If you encounter them simply continue working and re-save the scene. These messages are:
// Error: line 0: The GuidesFromMeshNode 'GuidesFromMeshNodeX' has no 'crf[0:XXX]' attribute. //
// Error: line 0: Node "GuidesFromMeshNodeX" has no attribute "crf[0:XXX]". //
// Error: line 0: The XXXNode 'XXXNodeX' has no 'ihg' attribute. //
// Warning: Ornatrix: Could not cleanly apply strand channel creation and moficiation //
HairFromGuidesNode
now uses multi-threaded root evaluation, which means that roots can be generated in different order at each recalculation. As such, any operators which rely on the root order will be affected. This should not affect any current Ornatrix V2 operators. The algorithm for root generation has also been tweaked so the placing of roots can be different from V1 and thus the scenes won't render identically.GuidesFromMeshNode
also uses multi-threaded root evaluation. We have also introduced unique strand ids which are used by most operators to apply changes to strands, most notably byEditGuidesShape
. To allow loading older scenes, a new "Force Sequential Strand Ids" option has been added and will be turned on automatically for all scenes saved in V1 and loaded in V2. This option turns off multi-threaded root generation and creates sequential strand ids compatible with previousEditGuidesShape
change format. Alternative to this option you can also turn on "Remember Root Positions" option before saving the scene in V1.
Loading scenes with Remember Root Positions option on
Due to an unexpected change, if you used the Remember Root Positions option of Guides from Mesh operator in Ornatrix V1 scene you will need to perform the following steps to open it in V2:- Save your scene using Ornatrix V1 into an ASCII .ma file
- Use a tool like Notepad++ to open the .ma scene
- Use the Replace option (Ctrl+H) to replace the following text:
- .crf to .crfv1
- .crc to .crcv1
- .crr to .crrv1
- Open the modified .ma scene in Ornatrix V2
Adding Legacy Operators
As of V2 the Render Settings, Hair Clustering, and Guide Clustering nodes are no longer used to specify the strand thickness, and perform clumping. Instead Change Width and Clumping nodes are used for the same purpose, while providing more options and flexibility. However, Render Settings and other legacy nodes are still left in for backwards compatibility. It is not available through the operator shelf or the main menu, but you can still add them to your operator stack by selecting the hair shape and typing this in Maya's MEL scripting prompt:
To add Render Settings:
OxAddStrandOperator( "", "RenderSettingsNode" );
To add Hair Clustering:
OxAddStrandOperator( "", "HairClusterNode" );
To add Guide Clustering:
OxAddStrandOperator( "", "GuideClusteringNode" );