Source/Objects/Curves
< Source
Curves Object
The curves object is intended to replace the hair particle system. It is only a prototype at this point.
Data Structures
Object
can be of typeOB_CURVES
, and then uses aCurves
datablock as object data.Curves
is datablock that contains an array of curves and their control points.
Curves
Curves consist of a number of control points defining a Catmull-Rom curve.
Curves reference a subset of the points array with a first point index and number of points. Points have a position and radius.
Arbitrary attributes can be created on both curves and points.
Attachment & Deformation
To be defined.
Rendering
Cycles and Eevee can render hair and their attributes natively as Catmull-Rom curves, for memory efficiency.
Future Work
This object type is still to be developed into an actual hair system, with nodes to procedurally generate hair, and an edit mode for manual editing.
For example we can imagine nodes for the following tasks:
- Create an initial distribution of hair on a mesh, which is then applied for editing.
- Generate child hairs.
- Add curls or any other deformation.
- Physics simulation