Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides information on the V-Ray Procedural Fur plugin.

Overview


Section
Column
width48%

VRayFur is a very simple tool for creating procedural fur. The fur is generated only during render time and is not actually present in the scene.

To create a VRayFur object, you must first select a mesh from the 3ds Max scene, then go to the Create panel, choose the VRay category, and then click on the VRayFur button. Note that if you have not selected an object, or you have selected an object which is not compatible with VRayFur, the VRayFur button will appear greyed out.

 

UI Expand
expandedtrue
titleUI Path: ||Select geometry|| > V-Ray Toolbar > V-Ray Fur button

 

||Select geometry|| > V-Ray Toolbar > V-Ray Fur button


||Select geometry|| > V-Ray menu > Create > Geometry > V-Ray Fur

 

||Select geometry|| > Create menu > V-Ray > V-Ray Fur

 

||Select geometry|| > Command panel > Create tab > Geometry > V-Ray category > VRayFur button

Column
width2%

 

Column
width50%


Parameters


Section
Column
width60%

Source object – Specifies the source geometry on which the fur is generated. You can click on this button only from the Modify tab (and not from the Create tab).

Length – Specifies the length of the fur strands.

Thickness – Specifies the thickness of the strands.

Gravity – Controls the force that pulls fur strands down along the Z-direction.

Bend – Controls the elasticity of the fur strands. When set to 0.0, the strands are hard and created as perfectly straight lines. Greater values cause the strands to bend (e.g. under the influence of gravity).

Taper – Allows the user to add a taper to the individual strands of fur. Increasing this value makes the tips thinner and the root wider.

MtlID – Assigns a material ID to the VRayFur object. This is useful for applying a Multi/Sub-object material when multiple VRayFur objects are applied to the same geometry.

Column
width5%

 

Column
width35%

 

 


 

Section
Column
width10%

 

Column
width30%

Example: Length

 

Using this parameter you can specify the Length of the strands.

 

Column
width20%

 

Column
width30%

Example: Thickness

 

Using this parameter you can specify the Thickness of the strands.

 

Column
width10%

 

Section
bordertrue
Column
width50%
Image slider
minLabel5 cm
maxLabel25 cm
Panel
borderStylenone


Length = 5.00 cm

Panel
borderStylenone


Length = 7.50 cm

Panel
borderStylenone


Length = 10.0 cm

Panel
borderStylenone


Length = 12.5 cm

Panel
borderStylenone


Length = 15.0 cm

Panel
borderStylenone


Length = 17.5 cm

Panel
borderStylenone


Length = 20.0 cm

Panel
borderStylenone


Length = 22.5 cm

Panel
borderStylenone


Length = 25.0 cm

Column
width50%
Image slider
minLabel0.05 cm
maxLabel0.45 cm
Panel
borderStylenone


Thickness = 0.05 cm

Panel
borderStylenone


Thickness = 0.10 cm

Panel
borderStylenone


Thickness = 0.15 cm

Panel
borderStylenone


Thickness = 0.20 cm

Panel
borderStylenone


Thickness = 0.25 cm

Panel
borderStylenone


Thickness = 0.30 cm

Panel
borderStylenone


Thickness = 0.35 cm

Panel
borderStylenone


Thickness = 0.40 cm

Panel
borderStylenone


Thickness = 0.45 cm

 


 

Section
Column
width10%

 

Column
width30%

Example: Gravity

 

Using this parameter you can control the force that pulls the fur strands down along the Z-direction.

 

Column
width20%

 

Column
width30%

Example: Bend

 

Using this parameter you can control the elasticity of the fur strands. When set to 0.0, the strands are hard and all straight lines.

 

Column
width10%

 

Section
bordertrue
Column
width50%
Image slider
minLabel-3 cm
startIndex6
maxLabel3 cm
Panel
borderStylenone


Gravity = -3.0 cm

Panel
borderStylenone


Gravity = -2.5 cm

Panel
borderStylenone


Gravity = -2.0 cm

Panel
borderStylenone


Gravity = -1.5 cm

Panel
borderStylenone


Gravity = -1.0 cm

Panel
borderStylenone


Gravity = -0.5 cm

Panel
borderStylenone


Gravity = 0.0 cm

Panel
borderStylenone


Gravity = 0.5 cm

Panel
borderStylenone


Gravity = 1.0 cm

Panel
borderStylenone


Gravity = 1.5 cm

Panel
borderStylenone


Gravity = 2.0 cm

Panel
borderStylenone


Gravity = 2.5 cm

Panel
borderStylenone


Gravity = 3.0 cm

Column
width50%
Image slider
minLabel0.1
maxLabel1
Panel
borderStylenone


Bend = 0.1

Panel
borderStylenone


Bend = 0.2

Panel
borderStylenone


Bend = 0.3

Panel
borderStylenone


Bend = 0.4

Panel
borderStylenone


Bend = 0.5

Panel
borderStylenone


Bend = 0.6

Panel
borderStylenone


Bend = 0.7

Panel
borderStylenone


Bend = 0.8

Panel
borderStylenone


Bend = 0.9

Panel
borderStylenone


Bend = 1.0

 

 

 

 


Example: Taper

 

When this parameter is set to 0.0, no taper is applied to the strands and they have the same thickness from root to tip. Higher values make the root wider and the tip thinner.

 

Section
bordertrue
Column
width20%

 

Column
width60%
Image slider
minLabel0.1
maxLabel1
Panel
borderStylenone


Taper = 0.1

Panel
borderStylenone


Taper = 0.2

Panel
borderStylenone


Taper = 0.3

Panel
borderStylenone


Taper = 0.4

Panel
borderStylenone


Taper = 0.5

Panel
borderStylenone


Taper = 0.6

Panel
borderStylenone


Taper = 0.7

Panel
borderStylenone


Taper = 0.8

Panel
borderStylenone


Taper = 0.9

Panel
borderStylenone


Taper = 1

Column
width20%

 

 

Geometric Detail


Section
Column
width60%

Knots – Fur strands are rendered as several connected straight segments; this parameter controls the number of segments. More segments make the strands smoother, but also add to the render time. More segments are usually needed when the strands are curved (e.g. by the gravity, bend, curl parameters and others). The more straight the strands are, the less segments are needed for a smooth result.

Level of detail – When enabled, V-Ray generates less fur geometry for parts of the scene which are far away from the camera. This is done by decreasing the density of the fur strands and increasing their thickness. This parameter helps for two things: First, it conserves memory by decreasing the detail where it is too far to be visible. Second, it helps reduce animation flickering of very fine fur strands when they are far from the camera.

Start distance – Specifies the distance from the camera at which V-Ray is going to start implementing the level of detail adjustment. Up to this distance the fur will be generated as specified by the user. After that V-Ray decreases the density and increases the thickness of the strands by a factor of two for every n units of space specified by the Rate parameter.

Rate – Specifies the rate at which the detail adjustment is applied, starting from the distance specified in the Start distance parameter.

Column
width5%

 

Column
width35%

 


Example: Knots

 

Setting a low Knots value creates less segments in the fur and this does not allow it to bend properly. Higher values allow for a more natural curve of the fur.

 

Section
Column
width20%

 

Column
width60%
Image slider
minLabel3
maxLabel8
Panel
borderStylenone

Knots = 3

Panel
borderStylenone

Knots = 4

Panel
borderStylenone

Knots = 5

Panel
borderStylenone

Knots = 6

Panel
borderStylenone

Knots = 7

Panel
borderStylenone

Knots = 8

Column
width20%

 

 


 

Section
Column
width10%

 

Column
width30%

Example: Start distance

 

Determines the distance from the camera, up to which the Level of detail is applied. The Rate is set to 16.

 

Column
width20%

 

Column
width30%

Example: Rate

 

The rate of detail adjustment. The Start distance is set to 200.

 

Column
width10%

 

Section
Column
width50%
Image slider
minLabel160
maxLabel280
Panel
borderStylenone

Start distance = 160

Panel
borderStylenone

Start distance = 180

Panel
borderStylenone

Start distance = 200

Panel
borderStylenone

Start distance = 220

Panel
borderStylenone

Start distance = 240

Panel
borderStylenone

Start distance = 260

Panel
borderStylenone

Start distance = 280

Column
width50%
Image slider
minLabel2
maxLabel512
Panel
borderStylenone

Rate = 2

Panel
borderStylenone

Rate = 4

Panel
borderStylenone

Rate = 8

Panel
borderStylenone

Rate = 16

Panel
borderStylenone

Rate = 32

Panel
borderStylenone

Rate = 64

Panel
borderStylenone

Rate = 128

Panel
borderStylenone

Rate = 256

Panel
borderStylenone

Rate = 512

 

 

 

Variation


Section
Column
width60%

Direction var – Adds slight variation to the direction in which fur strands grow from the source object. Any positive value is valid. This parameter should be adjusted according to the scale of the scene.

Length/Thickness/Gravity/Curl var – Adds variation to the corresponding parameter. Values range from 0.0 (no variation) to 1.0.

Column
width5%

 

Column
width35%

 

Distribution


Section
Column
width60%

This section determines the density of strands over the source object.

Per face – Specifies the number of fur strands per triangular face of the source object. Every triangle will generate the specified number of fur strands.

Per area – Specifies the number of strands per squared scene unit. For example, if the the system units are in meters, this parameter specifies the desired number of strands per square meter; if the system units are centimeters, it specifies the number of strands per square centimeter and so on. The area of the triangle faces (which is used to compute the number of strands for each face) is taken at the frame specified by the Ref. frame parameter. Every triangle face has at least one strand.

Ref. frame – Reference frame. When the Distribution parameter is set to Per area, this specifies the frame at which the source object is captured to calculate the face area. The captured data will be used throughout the entire animation to ensure that the number of strands for a given face remains constant during animation.

Lock to surface – When the Distribution parameter is set to Per area and VRayFur is assigned to an animated surface this option locks the hair count to the generated hairs count in the referenced frame. This way, when the option is enabled, the hairs stick to their relative generation points. Else VRayFur is uniformly distributed in any frame.

Ignore scale – When the Distribution parameter is set to Per area and Lock to surface is enabled this option controls whether scale transformation that is effecting the surface should be ignored when distribution area is being calculated. If disabled, the scale factor from the referenced frame is used.

Column
width5%

 

Column
width35%

 

 


Example: Distribution

 

Section
Column
width10%
 
Column
width30%

Using Distribution per face parameter you can specify the number of fur strands per triangular face of the source object.

Column
width20%

 

Column
width30%

Using Distribution per area parameter you can specify the number of strands per squared scene unit.

Column
width10%

 

Section
Column
width50%
Image slider
minLabel1
maxLabel32
Panel
borderStylenone


Distribution per face = 1

Panel
borderStylenone


Distribution per face = 2

Panel
borderStylenone


Distribution per face = 4

Panel
borderStylenone


Distribution per face = 8

Panel
borderStylenone


Distribution per face = 16

Panel
borderStylenone


Distribution per face = 32

Column
width50%
Image slider
minLabel0.2
maxLabel1
Panel
borderStylenone


Distribution per area = 0.02

Panel
borderStylenone


Distribution per area = 0.03

Panel
borderStylenone


Distribution per area = 0.04

Panel
borderStylenone


Distribution per area = 0.05

Panel
borderStylenone


Distribution per area = 0.06

Panel
borderStylenone


Distribution per area = 0.07

Panel
borderStylenone


Distribution per area = 0.08

Panel
borderStylenone


Distribution per area = 0.09

Panel
borderStylenone


Distribution per area = 0.1


Placement


Section
Column
width60%

Determines which faces of the source object will generate fur strands.

Entire object – All faces will generate fur.

Selected faces – Only selected faces (for example with a MeshSelect modifier) will generate fur.

Material ID – Only faces with the specified material ID will generate fur.

Column
width5%

 

Column
width35%

 

Mapping


Section
Column
width60%

Generate W-coordinate – In general, all mapping coordinates are taken from the base object. However, the W mapping coordinate can be modified to represent the offset along the fur strands. When this option is enabled, the W coordinate is the offset along the fur strands (0.0 is the strand base, and 1.0 is the tip). The U and V coordinates are still taken from the base object.

Channel – When Generate W-coordinate is enabled, this parameter specifies the channel for which the W coordinate will be modified.

Column
width5%

 

Column
width35%


Curl


Section
Column
width60%

Curl – When enabled, adds curls to the fur.

Curl Radius – The radius of the individual curl.

Number of curls – The number of curls on a strand.

Column
width5%

 

Column
width35%

 

 


 

Section
Column
width10%

 

Column
width30%

Example: Curl radius

 

Using this parameter you can specify the radius of the individual curl.

 

Column
width20%

 

Column
width30%

Example: Number of curls

 

Using this parameter you can specify the number of curls on a strand.

 

Column
width10%

 

Section
bordertrue
Column
width50%
Image slider
minLabel1
maxLabel4
Panel
borderStylenone


Curl radius = 1

Panel
borderStylenone


Curl radius = 1.25

Panel
borderStylenone


Curl radius = 1.5

Panel
borderStylenone


Curl radius = 1.75

Panel
borderStylenone


Curl radius = 2

Panel
borderStylenone


Curl radius = 2.25

Panel
borderStylenone


Curl radius = 2.5

Panel
borderStylenone


Curl radius = 2.75

Panel
borderStylenone


Curl radius = 3

Panel
borderStylenone


Curl radius = 3.25

Panel
borderStylenone


Curl radius = 3.5

Panel
borderStylenone


Curl radius = 3.75

Panel
borderStylenone


Curl radius = 4

Column
width50%
Image slider
minLabel2
maxLabel8
Panel
borderStylenone


Number of curls = 2

Panel
borderStylenone


Number of curls = 3

Panel
borderStylenone


Number of curls = 4

Panel
borderStylenone


Number of curls = 5

Panel
borderStylenone


Number of curls = 6

Panel
borderStylenone


Number of curls = 7

Panel
borderStylenone


Number of curls = 8

 

Dynamic tessellation


Section
Column
width60%

Dynamic tessellation  When enabled, instructs V-Ray to subdivide and smooth the fur strands before rendering. Strands closer to the camera are tessellated into finer segments so that they render smooth, while strands away from camera are simplified to reduce memory usage and speed up rendering.

Edge length – Specifies the desired edge length, in pixels, of each final segment of the fur strands when Dynamic tessellation is enabled. Smaller values produce smoother strands but take more memory and are slower to render. Larger values are faster to render and take less RAM, but may cause the fur strands to appear jagged.

Column
width5%

 

Column
width35%

 

Maps


Section
Column
width60%

Base map chan – Some of the texture maps represent vectors in texture space, where the x and y directions are derived from the u and v directions of a texture mapping channel. This parameter specifies which mapping channel is used.

Bend direction map – This is an RGB map which specifies a bend direction of the fur strands in texture space (according to the specified Base map channel). This is the direction in which the fur strands curve to (the amount of curvature is also controlled by the Bend parameter). The red component is offset along the u texture direction, the green component is the offset along the v texture direction, and the blue component is the offset along the surface normal.

Initial direction map – This is an RGB map which specifies the initial direction of the fur strands, in texture space (according to the specified Base map channel). The red component is offset along the u texture direction, the green component is the offset along the v texture direction, and the blue component is the offset along the surface normal.

Length/Thickness/Gravity/Bend map – These maps are multipliers for the corresponding parameters where black is a multiplier of 0.0, and white is a multiplier of 1.0.

Density map – This map is a multiplier for the strand density. Black portions of the map correspond to zero density (effectively no fur is generated in these areas), and white represents the normal strand density, as specified by the Distribution parameters.

Curl map – This map is a multiplier for the strand Curl. Black portions of the map correspond to no curl, and white represents the set curl, as specified by the Distribution parameters.

Column
width5%

 

Column
width35%

 

 


Example: Maps

 

 

These examples demonstrate the effect of using a texture in the VRayFur texture slots. The texture used for each example is seen facing the camera. The same texture is applied to a different slot of the VRayFur and the effect can be observed on the larger plane with VRayFur applied. Note that some of the examples use normal maps. Color maps can be used instead, both procedural and bitmaps, where RGB would equal XYZ respectively.

Color or normal maps can be used for Bend direction and Initial direction, as those require a direction vector of three components.

The rest of the examples use simple black and white gradients, since the respective parameters require a single float value.

 

Section
Column
width5%

 

Column
width30%

Bend direction map (XYZ or RGB)

Column
width30%

Initial direction map (XYZ or RGB)

Column
width30%

Length map (mono)

Column
width5%

 

 

 

Section
Column
width5%

 

Column
width30%

Thickness map (mono)

Column
width30%

Gravity map (mono)

Column
width30%

Bend map (mono)

Column
width5%

 

 

 

Section
Column
width20%

 

Column
width30%

Density map (Mono)

Column
width30%

Curl map (Mono)

Column
width20%

 

 

Viewport Display


Section
Column
width60%

These parameters control the display of VRayFur in the viewports.

Preview in viewport – Turns the preview of VRayFur in the viewports on or off.

Max. hairs – Specifies the maximum number of fur strands that are represented in the viewport. Lowering this value may help speed up the viewports when there's dense fur in the scene.

Icon text – Enables and disables the display of the "VRayFur" text in the view port

Icon size – Specifies the size of the viewport gizmo in world units. This allows the gizmo to be static, regardless of its distance from the camera, or to be removed altogether.

Automatic update – When enabled, the viewport preview of the fur is updated automatically as the source object changes. However, this may slow down the interactive work with the viewports; in this case, turn the option off to disable the automatic update.

Manual update – Manually refreshes the viewport preview when Automatic update is disabled.

Column
width5%

 

Column
width35%

Styling VRayFur


It is possible to use vertex color maps to style the fur. A separate tool for this task, VRayFurStyler, is available for download here.

 

Notes


Fancy Bullets
typecircle
  • Avoid applying textures with Object XYZ mapping to the fur. If you need to use a 3d procedural texture, apply a UVW Map modifier to the source object with the option to convert XYZ to UVW coordinates and use explicit mapping for the texture.
  • Avoid having very large triangles covered with fur, since the fur is generated in groups corresponding to triangles of the original mesh.
  • Shadow maps do not include information about the VRayFur. However, other objects cast shadows on the fur, even with shadow maps.
  • Sharp VRayShadows may produce flickering with VRayFur in animations, because the lighting situation of individual strands change very rapidly. Area shadows or VRayLights may produce smoother results.
  • VRayFur does not work with VRayPlane as a base object.