From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Hair Rendering

Experimental feature
This feature is still under development, settings might change causing .blend files to render differently in future versions


Getting Started

Change the Feature Set to 'Experimental' inside the render settings of the properties editor and use your CPU device.

Introduction to hair

See the manual's hair documentation for details on controlling hair in Blender. The resolution of the strands is controlled by the step values in particle settings. Each hair system uses the material identified in the particle settings in the same way as Blender Internal.

Cycles Hair Rendering

The main settings for the strands can be found inside the Cycles Hair Rendering panel under the particle tab. There are a series of presets for strand rendering. The detailed options are available when custom is selected. This allows access to the following parameters:

Primitive

  • Triangles uses a triangle mesh. There are three triangle options: Planes, Ribbons and Tessellated. Planes are triangles facing the camera. Ribbons are triangles following the strand direction. Tessellated generates a polygonal mesh, with the number of sides configurable.
  • Line Segments uses a curve primitive. These are currently straight and create a perfect cylindrical segment between two points. A gap can appear between the cylinders. Tangent normals can be generated using the incoming ray and tangent vector. This tangent normal is the normal of a plane containing the tangent and inclined towards the incoming ray. Using tangent normals for shading can speed up convergence and reduce noise.
  • Curve Segments uses a smooth Cardinal curve primitive. These interpolate a path through the curve keys. However, it renders slower than line segments. The interpolated path is subdivided to give points to connect. The parameter subdivisions sets the number of divisions used.
  • Curve Ribbons uses a smooth Cardinal curve primitive. They are similar to curve segments but give a flat appearance.
Primitive types
Blender3D FreeTip.gif
Instancing
All primitive forms of hair are attached to a mesh that can be instanced to reduce memory consumption.


When line segments are used as the primitive further options include:

  • Method - that sets the point in the intersection test at which corrections for the segment width are made.
  • Exclude encasing - causes segments, that when scaled by a factor, encase the rays initial location, to be ignored.
  • Use tangent normal as default - uses the tangent normal for shading.
  • Use tangent normal geometry - uses the tangent normal for the geometry normal.
  • Correct tangent normal for slope - corrects the tangent normal for changes in thickness along the segment.
  • Ray Mix - allows you to mix the tangent normal with the incoming ray to give a new tangent normal (0 gives normals equal to the incoming ray).

With curve and line primitives there are also options including:

  • Check back-faces - sets whether the back face needs including.
  • Segments - sets the number of segments inserted between those exported from blender internal.
  • Interpolation method - sets the interpolation used to generate the segments.
  • Include parents - includes the child strand parents.

Other modes define preset settings for these and are:

  • Smooth Curves - uses smooth cardinal curves. This gives the best results but is the slowest.
  • Accurate - uses line segments and is suitable for glass shaders.
  • True Normal - uses line segments and produces accurate results for opaque shaders.
  • Tangent Normal - uses line segments and gives fast results that converge quickly.
  • Fast Planes - uses triangles to render planes facing the camera. This uses the most memory but is the fastest to render.

Cycles Hair Settings

The Cycles Hair Settings, under the particle tab, are used to control each hair particle system's strand properties.

Strand shapes for various settings

These settings include:

  • Tip and root multipliers that multiply the particle size to give the Strands thickness. The strand dimensions are also influenced by the object scale.
  • A shape parameter that controls the transition in thickness between the root and tip. -1 gives a constant thickness equal to the root, 0 gives a linear transition and 1 gives an instantaneous transition to the tip radius.
  • Activating Close tip sets the thickness to zero at the tip, even when using a non-zero tip multiplier.


Hair Info Node

The hair info node provides information on the strand for materials.

Example usage of the Hair Info node's intercept output

Limitations

Cycles hair rendering is still being developed and many features are missing. These limitations currently include:

  • No GPU support.
  • No motion blur support.
  • Only renders in Object mode.
  • Scaling along one axis does not always produce the same effect on the hair thickness in the preview and final renders. This can be fixed by applying scale to the mesh.

Tutorials