This shader creates a procedural flake normal map that can be used for materials such as car paint.

Note that the map does not perform any filtering, so small flakes require more Camera (AA) samples to become clean.

When connected to a normal_map shader use tangent as the output space on flakes, tangent as the input space (mode) on the normal_map shader, and disable Interpret 8/16 bit normal map as linear.

When rendering an animation using flakes, you should enable motion blur (to avoid temporal flickering).


Scales the flake structure up or down. Smaller values zoom out of the map, giving a larger number of flakes.


Controls the density of flakes. There will be no flakes if it is 0. The surface is fully covered with flakes at 1.


This shader performs ray marching to compute 3d flakes. With this users can specify the step size. The number of layers is determined by depth/step.

When rendering flakes that are close to the camera, you should use a smaller step_size so as not to miss any flakes.

Decreasing this value may increase render times dramatically.


Specifies how deep a ray goes inside of an object. This shader generates 2d flakes if depth = 0, and 3d flakes otherwise. If a ray hits an object, it cannot traverse longer than the specified depth.

0 = 2d flakes (default)

1 = 3d flakes

0 (2d flakes). Rollover images to see 1 (3d flakes).


This value is used to refract a ray used for raymarching. This would be useful to give a 'fake' transparency effect (thus avoiding having to use true transparency which can add to render times). In some situations, it is not necessary to make the surface shader transparent. An example would be a material such as Goldstone (IOR 1.53) which has 3d flakes in it but they don't really look transparent.


Blends between the smooth surface normal (0) and the random flake normal (1).


Specifies the coordinate space used for calculating the shapes of flakes.

  • World: points are relative to the global origin of the scene.
  • Object: points are expressed relative to the local origin (center) of the object.
  • Pref (default): short for 'vertex in reference pose'. The plugin can pass these vertices to Arnold (in addition to the regular, deformed vertices) which can, in turn, be queried by the shader so that the texture 'sticks' to the reference pose and does not swim as the mesh deforms. (Pref does not work with NURBS surfaces.)
  • UV: the texture coordinates.


Specify the name of the reference position user-data array. Previously, the name was hard-coded as Pref, which is still the default.


Specifies the space of the output normal vector.

World (default)


Roll over images

  • No labels
© 2020-2021 Autodesk. All Rights Reserved / website terms / privacy/cookies / ccpa settings