This simple to use shader is useful for creating car paint materials. It supports three layers: Baselayer, Specular and Clear Coat. These layers work similarly to those in the standard_surface shader. However, there are some unique attributes for specifically controlling color ramps, light facing color and falloff that are unique to the car_paint shader. Metallic flakes can also easily be added to the specular layer.
Several car paint presets are available in the attribute editor of the Car Paint shader.
The primer layer color weight.
The color of the primer layer.
The primer layer follows an Oren-Nayar reflection model with surface roughness. A value of 0.0 is comparable to a Lambert reflection.
The base coat color weight.
The color the specular reflection will be modulated with. Use this color to 'tint' the specular highlight from the base coat layer.
Specular Color: White (default). Rollover image to view orange.
Connect a ramp shader here to modulate the specular reflection from the base coat depending on the viewing angle. This can be used to mimic a pearlescent effect.
Rollover image to view without a ramp (solid color). The color changes depending on the viewing angle.
Light Facing Color
Modulates the base coat specular color of the area facing the light source.
Pearlescent car paint effects can be created by combining light_facing_color with base_color.
The falloff rate of the light facing color of the base specular coat. The higher the value, the narrower the region. It also determines how the ramp color and light facing color are blended.
In the example below, the Flip-Flop color has been set to green and the Light Facing Color to red.
Setting the Falloff to 1 disables the Light Facing Color (red):
Falloff: 0 to 1. Flip-Flop color: Magenta, Light Facing Color: Red
Controls the glossiness of the specular reflections from the base coat layer. The lower the value, the sharper the reflection. In the limit, a value of 0 will give you a perfectly sharp mirror reflection, while 1.0 will create reflections that are close to a diffuse reflection.
Determines the index of refraction for the base coat.
This simulates light attenuation due to pigments. The lower the value, the denser pigments.
The transmission_color also affects the appearance of the flakes. For example, when the base_color is blue and the transmission_color is yellow it becomes multiplied and renders as green, with the flakes tinted yellow.
The color the specular reflection will be modulated with. Use this color to 'tint' the specular highlight from flakes.
Connect a ramp shader here to modulate the specular reflection from flakes depending on the viewing angle.
Ramp connected to Flake Flip Flop
Light Facing Color
Modulate the specular reflection color from flakes of the area facing the light source.
The falloff rate of the light facing color of flakes. The higher the value, the narrower the region.
(Light Facing Color: blue)
Controls the glossiness of the specular reflections from flakes. The lower the value, the sharper the reflection. In the limit, a value of 0 will give you a perfectly sharp mirror reflection, while 1.0 will create reflections that are close to a diffuse reflection.
Determines the index of refraction of flakes.
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.
Specify the number of flake layers. The flakes at a deep layer are covered by the ones closest to the surface.
Randomize the orientation of flakes.
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.
This attribute is used to coat the material. It acts as a clear-coat layer on top of the base coat and primer layers. The coating is always reflective (with the given roughness) and is assumed to be dielectric.
Coat weight: 1 (rollover image to view 0). Specular Roughness: 0.5.
This is the color of the coating layer's transparency.
Coat Color: White (default). Rollover image to view red.
Controls the glossiness of the specular reflections. The lower the value, the sharper the reflection. In the limit, a value of 0 will give you a perfectly sharp mirror reflection, while 1.0 will create reflections that are close to a diffuse reflection. You should connect a map here to get variation in the coat highlight.
The IOR parameter (Index of Refraction) defines the material's Fresnel reflectivity and is by default the angular function used. Effectively the IOR will define the balance between reflections on surfaces facing the viewer and on surface edges.
The Coat Normal affects the Fresnel blending of the coat over the base, so depending on the normal, the base will be more or less visible from particular angles. Uses for Coat Normal could be a bumpy coat layer over a smoother base. This could include a rain effect, a carbon fiber shader or a car paint shader where you could use different normals (using e.g. flakes) for the coat layer and base layers.