Skip to content

Fur#

The Fur geometry is an abstract class that defines a geometry that is made of a collection of curves optimized to render small fine hair and fur. Each curve is define by a a number of knots and root and tip size.

They can be rendered as ribbons or as tubes and are is adaptively tessellated during rendering. Fur geometries share quite a few common attributes that are used to control the shape of the curves.

Louise model courtesy of Eisko

Louise model courtesy of Eisko

Common Attributes#

Attribute Description
Radius Values Use internal radius defined in the geometry or use custom ones.
Base Radius The size of the curve at its root.
Tip Radius The size of the curve at its tip.
Radius Multiplier Multiplies all radius.
Shape Set how the way curve geometries are rendered. It can be either as flat ribbons or actual tubes.
Flatness Control the flatness of the segment. 0% is considered as a cylinder while 100% as a flat ribbon.
Use Normal Map Set if ribbons should be oriented according to the first available normal map. When disabled ribbons are facing the camera. This attribute is useful to render grass blades.

Note

Some Fur geometries provides a Decimate attribute which allows you to decimate the number of input curves.

Shape#

The Shape attribute controls the way curve geometries are rendered. By default, curves are rendered as Ribbons. The Flatness attribute controls the normal of the ribbons so it can be rendered either be flat such as a blade of grass when Flatness set to 100% or mimic a hair fiber when Flatness is set to 0%.

Non-flat ribbons are designed to be rendered as fine geometries. They can exhibit some rendering artifacts when rendered up close. In that case, it is better to use the Tube mode.

Flatness to 0%

Flatness to 100%

When Shape is set to Tube, curves are actually rendered as if they were real tubes following the shape of the curve. Tubes are more accurate than ribbons in that aspect. However while you may think that tubes better approximate real hair geometry, most hair/fur materials are actually designed to work with ribbons. Indeed, they usually define special BSDFs simulating the behavior of real hair geometry where underlying maths only work when the curve geometry is rendered as ribbons.

Ribbon

Tube

Fur File#

Fur files are curve meshes imported from a file. Currently the Fur File only supports ZBrush Fibermesh® guides files (.fmg). To import a fur from a file, go to Create > Geometry > Fur > File and set the Filename attribute to the file you wish to import using the Attribute Editor.

Fur Generator#

The fur generator is a very basic fur generator that allows to grow fur on any kind of geometries. You can control hair length, variation, frizziness etc...

Fur generated on an implicit sphere

Frizziness set to 50%

Attribute Description
Length Set the length of each curve.
Length Variation Set the length variation across each curve.
Frizziness Set how frizzy curves are.
Frizziness Variation Set the frizziness variation across each curve.
Knot Count Set the number of knots of each curve. The more knots your curve has the more complex its shape can be.
Gravity Set the direction of the gravity (3D Vector)
Geometry Support Set the particles on which each fur will grow on.

The fur generator use input particles (point clouds etc...) geometry to generate fur on. Final fur density is based on the number of input particles. If you have 100 particles in your point cloud, the fur generator will end up generating 100 curves.

If your geometry has a transformation, you should parent the fur generator to the geometry you are growing fur on.

Note

It is possible to use the Fur Support Color texture to drive materials using the properties of the underlying geometry.

Fur Interpolate#

It is possible to generate hair and fur by interpolation using a support geometry and guide curves as input. Guide hair size, motion blur data and vertex color maps are also interpolated.

Fur interpolate can also control the shape of the interpolation and alter the resulting interpolated hair. Please note the fur interpolate does not perform any dynamics. Using the Fur Support Color texture, you can access to the properties of the underlying geometry to drive the materials attached to the Fur Interpolate.

Fur Interpolate Example

Attribute Description
Density Sets the number of generated hair.
Geometry Support Sets the geometry on which the fur will grow on (typically a point cloud).
Guides Sets the fur used as guides.
Guide Influence Radius Sets the maximum distance for a guide to have an influence on a sample.
Guide Interpolation Sets the interpolation function.
Guide Clump Sets the shape of the clump.
Max Guide Count Sets the number of guides used for each sample.
Knot Count Sets the number of control points on the generated curve.
Frizziness Control the frizziness of the curve.
Frizziness Variation Control the frizziness variation of the curve.
World Coordinates Sets if the generation should use world coordinates.

Overview#

The fur interpolate needs a particles geometry or vertices as input. This particles are used as roots for the interpolated hair. In order to generate interpolated curves, the Fur Interpolate also needs input Guides. These guides can be any fur object so that nothing prevents you to use a fur interpolate as guides.

Using the input guides, the fur interpolate will spatially look up for a certain number of guides. You can control this number using Max Guide Count attribute. You can also control the look up radius using Influence Radius and Influence Weight texture.

Finally using the Influence Shape curve, it blends the shape of the interpolated curve according to the distance of the curve to its guides.

Interpolation using a single guide (in red), each curve is the same as the reference guide

Interpolation using a single guide in red, each curve is the same as the reference guide

Each curve is now interpolated with the 2 closest guides

Each curve is now interpolated with the 2 closest guides

Note

Please note the fur interpolate works in local space. However, you can toggle it to work in world space using the World Coordinates attribute.

Density#

Hair density is controlled by the input particles set in Geometry Support. Remember, you can texture the density of the particles according to a texture that will be used as a mask. Please refer to Decimating Particles or Point UV Sampler for more information.

The density of the particles can be either higher or lower than the number of input guide curves.

Interpolation Variation#

It is possible to add variation on the interpolated curves:

  • Length Variation controls the length variation of each interpolated curve.
  • Radius Variation controls the variation of the radius of the curves.
  • Growth Scale Blending controls the variation of curves length when they are interpolated between guides.

Knot Count#

Knot Count defines the number of knots for each generated curve. Knots are the number of control points defined by the curves. The more knots, the finer you can alter the shape of the curve.

Frizziness#

Frizziness controls how frizzy interpolated curve are. Frizziness Variation allows to add some variations on each curve so that they don't have the same level of frizziness.

No Frizziness

Frizziness at 50%

Clumping#

The fur interpolate allows you to clump generated hair on guide strands. Using a custom curve you can control the shape of the clump. The curve controls the stickiness along the guide strand such as values near 1 tend to stick hair on guide strands.

**No Clumping"

No clump

Clumping on. Note how curves are forming clumps around their guides

Clumping on Note how curves are forming clumps around their guides