In this chapter we'll talk about the most common types of V-Ray materials.
V-Ray Car Paint 2 Material
The VRayCarPaint2Mtl simulates a metallic car paint. It is a complex material with three layers: a base diffuse layer, a flake layer, and clear coat layer. The material allows the adjustment of each of these layers separately.
The new VRayCarPaint2Mtl's advantage is that it uses GGX BRDF type and offers base glossiness tail falloff option.
Parameters
- base_color – Specifies the diffuse color for the base layer.
- base_reflection – Specifies the reflectivity of the base layer. The reflection color itself is the same as the Base color.
- base_glossiness – Specifies the reflection glossiness for the base layer.
- base_glossiness_tail – Controls the transition from highlighted areas to non-highlighted areas. Higher values such as the default make the highlight transition sharper and lower values make the glossiness tail more diffuse.
- base_traceReflections – When disabled, the base layer only produces specular highlights, but no (glossy) reflections.
- base_bump_float – Specifies the bump/normal map to be used.
- base_bump_color – Specifies the bump/normal map to be used.
- base_bump_amount – Specifies a multiplier for the bump/normal effect.
- base_bump_type – The type of the map: (0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal)
- flake_color – Specifies the color or map of the metal flakes.
- flake_random_color – Sets colors from the specified map (e.g. File or Ramp) to the flakes in a random pattern. Only the bottom row on u-axis of the map is sampled for colors.
- flake_orientation – Specifies the orientation value or map of the metal flakes. The orientation of the flakes is relative to the surface normal. When set to 0.0, all flakes are perfectly aligned with the surface. When set to 1.0, the flakes are rotated completely randomly with respect to the normal. Values above 0.5 are not recommended, as they can produce artifacts.
- flake_orientation_tail – Controls the transition from highlighted areas to non-highlighted areas.
- flake_glossiness – Specifies the reflection glossiness value of the flakes.
- flake_density – Specifies the density (number of flakes) for a certain area. Lower values produce less flakes, and higher values produce more flakes. Set this to 0.0 to produce a material without flakes.
- flake_scale – Scales the entire flake structure.
- flake_scale_triplanar – Active only when Mapping Type is set to Triplanar. Scales the entire flake structure.
- flake_size – Specifies the size of the flakes relative to the distance between them. Higher values produce bigger flakes, and lower values produce smaller flakes.
- flake_map_size – Internally, the material creates several bitmaps to store the generated flakes. This parameter determines the size of the bitmaps. Lower values reduce RAM usage but may produce noticeable tiling in the flake structure. Higher values require more RAM, but tiling is reduced.
- flake_seed – Specifies a random seed for the flakes. Changing this value produces different flake patterns.
- flake_uvwgen – Allows connecting a texture placement node. This parameter is inactive with V-Ray GPU engine.
- mapping_type – Specifies the method for mapping the flakes. The possible values are 0 - explicit mapping channel, 1 - triplanar projection in object spaceл
- mapping_channel – The flakes are mapped using the specified channel (when mapping_type is 0).
- flake_traceReflections – Toggles reflections for the flake layer. This parameter is inactive with V-Ray GPU engine.
- flake_bin_subdivs – Square root of the total number bins used for flakes filtering.
- coat_color – Specifies the color or map of the coat layer.
- coat_amount – Specifies the thickness amount of the coat layer. A value of 0 does not add a coat layer, while higher values blend the coat gradually.
- coat_ior – Specifies the Index of Refraction for the coat layer.
- coat_glossiness – Specifies the glossiness value or map of the coat reflections.
- coat_traceReflections – When disabled, the clear coat will only produce specular highlights but no actual reflections.
- coat_bump_float – Specifies a coat texture for the bump.
- coat_bump_color – Specifies a coat color texture for the bump.
- coat_bump_amount – Specifies a multiplier for the bump or normal map. This parameter is inactive with V-Ray GPU engine.
- coat_bump_type – Choose between the following types of Normal Maps and Bump map: 0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal
- The following options are inactive with V-Ray GPU engine.
- traceReflections – Global switch to toggle reflections for all layers.
- trace_depth – Specifies the number of times a ray can be reflected.
- doubleSided – When enabled, it makes the material double-sided.
- cutoff_threshold – Cutoff threshold for the reflections of the different layers.
- use_environment_override – When true, uses the environment override texture.
- environment_override – Specifies the environment override texture.
- environment_priority – Environment override priority (used when several materials override it along a ray path).
- lpe_label – Light path expressions material label which can be used to identify the material.
V-Ray Light Material
The V-Ray Light Material produces self-illuminating surfaces. When we want to have self-emitting masterial, we use the plugin called BRDFLight. When we make a light geometry, we use the LightMesh plugin.
This scene is rendered using this scene bundle. Notice the comments in the file "vrscenes/mtl_light.vrscene".
Parameters
- color - The self-illumination color
- colorMultiplier - A multiplier for the Light Color.
- transparency - Transparency texture of the BRDF.
- doubleSided - If false, the light color is black for back-facing surfaces.
- emitOnBackSide - When enabled, makes the object emit light from its back side as well. If this is off, the material is rendered as black on the back sides.
- channels - Render channels the result of this BRDF will be written to.
- compensateExposure - Compensates camera exposure.
- multiplyByOpacity - When enabled the color of the light brdf is multiplied by the brdf's opacity (inverse of the brdf's transparency).
- affect_gi – When enabled, the light emission affects GI rays and illuminates.
- transparency_invert – Inverts transparency (transparency is opacity).
Examples
# Load scene from a file. renderer.load(os.path.join(SCENE_PATH, 'material.vrscene')) # Create a new BRDFLight newBRDF = renderer.classes.BRDFLight() # We specify solid red color newBRDF.color = vray.AColor(1.0, 0.0, 0.0) newMaterial = renderer.classes.MtlSingleBRDF() newMaterial.brdf = newBRDF newNode = renderer.classes.Node() newNode.material = newMaterial newNode.geometry = renderer.plugins['CubeShape@mesh2'] newNode.transform = vray.Transform(vray.Matrix(1), vray.Vector(-15, 0, 0))
// Load scene from a file. renderer.load("material.vrscene"); // Create a new BRDFLight BRDFLight newBRDF = renderer.newPlugin<BRDFLight>(); // We specify solid red color newBRDF.set_color(AColor(1, 0, 0)); MtlSingleBRDF newMaterial = renderer.newPlugin<MtlSingleBRDF>(); newMaterial.set_brdf(newBRDF); Node newNode = renderer.newPlugin<Node>(); newNode.set_material(newMaterial); newNode.set_geometry(renderer.getPlugin("CubeShape@mesh2")); newNode.set_transform(Transform(Matrix(1), Vector(-15, 0, 0)));
// Load scene from a file. renderer.Load("material.vrscene"); // Create a new BRDFLight BRDFLight newBRDF = renderer.NewPlugin<BRDFLight>(); // We specify solid red color newBRDF.Color = new AColor(1, 0, 0); MtlSingleBRDF newMaterial = renderer.NewPlugin<MtlSingleBRDF>(); newMaterial.Brdf = newBRDF; Node newNode = renderer.NewPlugin<Node>(); newNode.Material = newMaterial; newNode.Geometry = renderer.GetPlugin("CubeShape@mesh2"); newNode.Transform = new Transform(new Matrix(1), new Vector(-15, 0, 0));
// Load scene from a file synchronously. renderer.loadSync("material.vrscene"); // Create a new BRDFLight var newBRDF = new renderer.classes.BRDFLight(); // We specify diffuse red color newBRDF.color = new vray.AColor(1.0, 0.0, 0.0); var newMaterial = new renderer.classes.MtlSingleBRDF(); newMaterial.brdf = newBRDF; var newNode = renderer.classes.Node(); newNode.material = newMaterial; newNode.geometry = renderer.plugins["CubeShape@mesh2"]; newNode.transform = vray.Transform(vray.Matrix(1), vray.Vector(-15, 0, 0));
Fast SSS2 Materials
Translucent materials can be characterized with their chaotic molecular structure in terms of the different types of molecules and the elements composing them. Sub-Surface Scattering (SSS) is the phenomenon of the internal diffusion and dispersion of the light inside an object's volume due to this heterogeneity.
This phenomenon in combination with the absorption of the material creates a very characteristic appearance of a translucent object - semi-transparent, semi-opaque.
BRDFSSS2 is a material that is primarily designed for rendering of translucent materials like skin, marble etc. The implementation is based on the concept of BSSRDF originally introduced by Jensen et al. (see the references below) and is a more or less physically accurate approximation of the sub-surface scattering effect, while still being fast enough to be used in practice.
The BRDFSSS2 is a complete material with diffuse and reflection components that can be used directly, without the need of a Blend Material | BRDFLayered material. More exactly, the material is composed of three layers: a reflection layer, a diffuse layer, and a sub-surface scattering layer. The sub-surface scattering layer is comprised of single and multiple scattering components. Single scattering occurs when light bounces once inside the material. Multiple scattering results from light bouncing two or more times before leaving the material.
See the comments in the file "SSS.vrscene" from the scene bundle.
Parameters
The plugin we'll cover here is called BRDFSSS2Complex
General
- scale – additionally scales the subsurface scattering radius. Normally, BRDFSSS2 will take the scene units into account when calculating the subsurface scattering effect. However, if the scene was not modeled to scale, this parameter can be used to adjust the effect. It can also be used to modify the effect of the presets, which reset the Scatter radius parameter when loaded, but leave the Scale parameter unchanged. For more information, see the Scale example below.
- ior – the index of refraction for the material. Most water-based materials like skin have an index of refraction of about 1.3.
Diffuse and Sub-Surface Scattering Layers Parameters
- overall_color – controls the overall coloration for the material. This color serves as a filter for both the diffuse and the sub-surface component.
- diffuse_color – the color of the diffuse portion of the material.
- diffuse_amount – the amount for the diffuse component of the material. Note that this value in fact blends between the diffuse and sub-surface layers. When set to 0.0, the material does not have a diffuse component. When set to 1.0, the material has only a diffuse component, without a sub-surface layer. The diffuse layer can be used to simulate dust etc. on the surface.
- sub_surface_color – the general color for the sub-surface portion of the material. For more information, see the Sub Surface Color example below.
- scatter_color – the internal scattering color for the material. Brighter colors cause the material to scatter more light and to appear more translucent; darker colors cause the material to look more diffuse-like.
- scatter_radius – controls the amount of light scattering in the material. Smaller values cause the material to scatter less light and to appear more diffuse-like; higher values make the material more translucent. Note that this value is specified always in centimeters (cm); the material will automatically take care to convert it into scene units based on the currently selected system units.
- phase_function – a value between -1.0 and 1.0 that determines the general way light scatters inside the material. Its effect can be somewhat likened to the difference between diffuse and glossy reflections from a surface, however the phase function controls the reflection and transmittance of a volume. A value of 0.0 means that light scatters uniformly in all directions (isotropic scattering); positive values mean that light scatters predominantly forward in the same direction as it comes from; negative values mean that light scatters mostly backward. Most water-based materials (e.g. skin, milk) exhibit strong forward scattering, while hard materials like marble exhibit backward scattering. This parameter affects most strongly the single scattering component of the material. Positive values reduce the visible effect of single scattering component, while negative values make the single scattering component generally more prominent.
Specular Layer Parameters
- specular_color – determines the specular color for the material.
- specular_amount – determines the specular amount for the material. Note that there is an automatic Fresnel falloff applied to the specular component, based on the IOR of the material.
- specular_glossiness – determines the glossiness (highlights shape). A value of 1.0 produces sharp reflections, lower values produce more blurred reflections and highlights.
- specular_subdivs – determines the number of samples that will be used to calculate glossy reflections. Lower values render faster, but may produce noise in the glossy reflections. Higher values reduce the noise, but may be slower to calculate.
- cutoff_threshold – this is a threshold below which reflections will not be traced. V-Ray tries to estimate the contribution of reflections to the image, and if it is below this threshold, these effects are not computed. Do not set this to 0.0 as it may cause excessively long render times in some cases.
- trace_reflections – enables the calculations of glossy reflections. When off, only highlights will be calculated.
- reflection_depth – the number of reflection bounces for the material.
Multiple Scattering Options
geometry_based_sampling – this parameter controls the method used to calculate the subsurface scattering effect.
- Raytraced (0) – true raytracing inside the volume of the geometry is used to get the subsurface scattering effect. This method is physically accurate and produces the best results.
- Prepass-based illumination map (1) – this method uses an approach similar to the irradiance map to approximate the sub-surface scattering effect. It requires a prepass and the quality of the final result depends on the Prepass rate parameter
- Object-based illumination map (2) – this method is similar to the Prepass-based illumination map in that it also creates an illumination map used to approximate the final result. The only difference is the method used for sample placement. Rather than using the resolution of the image as a guide the samples are placed based on the surface area of the geometry. When this mode is used the final quality depends on the Samples per Unit Area parameter.
- None (3) - diffuse approximation
Note: The prepass rate mode shouldn't be used. Instead it's adviced to use raytraced multiple scattering.
- prepass_rate – BRDFSSS2 accelerates the calculation of multiple scattering by precomputing the lighting at different points on the surface of the object and storing them in a structure called an illumination map , which is similar to the irradiance map used to approximate global illumination, and uses the same prepass mechanism built into V-Ray that is also used for e.g. interpolated glossy reflections/refractions. This parameter determines the resolution at which surface lighting is computed during the prepass phase. A value of 0 means that the prepass will be at the final image resolution; a value of -1 means half the image resolution, and so on. For high quality renders it is recommended to set this to 0 or higher, as lower values may cause artifacts or flickering in animations. If the chosen prepass rate is not sufficient to approximate the multiple scattering effect adequately, BRDFSSS2 will replace it with a simple diffuse term. This can happen, for example, for objects that are very far away from the camera, or if the subsurface scattering effect is very small. This simplification is controlled by the Prepass blur parameter.
- prepass_id – This option allows several BRDFSSS2 materials to share the same illumination map. This could be useful if you have different BRDFSSS2 materials applied on the same object. If the Prepass ID is 0, then the material will compute its own local illumination map. If this is greater than 0, then all materials with the specified ID will share the same map.
- auto_density – when enabled V-Ray will automatically choose an appropriate value for the Samples per unit Area parameter
- samples_per_unit_area – this parameter is available when the Multiple Scattering is set to Object-based illumination map. It controls the resolution of the illumination map by setting a number of samples for each square unit of surface. Higher values make V-Ray take more samples and produce a better result.
- surface_offset – to prevent artifacts each sample is taken a tiny distance away from the actual surface in the direction of the normal. This parameter controls that offset.
prepass_mode – this parameter is similar to the Mode parameter of the irradiance map and controls the way V-Ray handles the illumination map for the subsurface scattering
- new map every frame (0) – a new map will be calculated for every frame of the animation and then discarded after rendering
- save every frame (1) – a new map will be calculated and saved on the hard drive for every frame of the animation
- load map every frame (2) – V-Ray will look for and load a previously saved illumination map for each frame of the animation
- save/load fly through map (3) – V-Ray will create/load a single illumination map for all frames of the animation when only the camera is moving
prepass_fileName – specifies a file name for the illumination map to be saved or loaded from.
- preview_samples – when this option is enabled V-Ray renders an image that displays the samples distribution along the surface of the geometry. It can be used for debugging artifacts much like the show samples parameter of the Irradiance Map.
- max_distance – each preview sample is represented by a circle in the final image. This parameter allows the user to specify the radius of the sample.
- background_color – this is the color of the geometry where there are no preview samples present.
- samples_color – the color of the preview samples.
Options
single_scatter – controls how the single scattering component is calculated:
- None (0) – no single scattering component is calculated.
- Simple (1) – the single scattering component is approximated from the surface lighting. This option is useful for relatively opaque materials like skin, where light penetration is normally limited.
- Raytraced (solid) (2) – the single scattering component is accurately calculated by sampling the volume inside the object. Only the volume is raytraced; no refraction rays on the other side of the object are traced. This is useful for highly translucent materials like marble or milk, which at the same time are relatively opaque.
- Raytraced (refractive) (3) – similar to the Raytraced (solid) mode, but in addition refraction rays are traced. This option is useful for transparent materials like water or glass. In this mode, the material will also produce transparent shadows.
subdivs – determines the number of samples to make when evaluating the single scattering component when the Single scatter mode is set to Raytraced (solid) or Raytraced (refractive) .
- refraction_depth – this determines the depth of refraction rays when the Single scatter parameter is set to Raytraced (refractive) mode.
- front_scatter – enables the multiple scattering component for light that falls on the same side of the object as the camera.
- back_scatter – enables the multiple scattering component for light that falls on the opposite side of the object as the camera. If the material is relatively opaque, turning this off will speed up the rendering.
- scatter_gi – controls whether the material will accurately scatter global illumination. When off, the global illumination is calculated using a simple diffuse approximation on top of the sub-surface scattering. When on, the global illumination is included as part of the surface illumination map for multiple scattering. This is more accurate, especially for highly translucent materials, but may slow down the rendering quite a bit.
- prepass_blur – controls if the material will use a simplified diffuse version of the multiple scattering when the prepass rate for the direct lighting map is too low to adequately approximate it. A value of 0.0 will cause the material to always use the illumination map. However, for objects that are far away from the camera, this may lead to artifacts or flickering in animations. Larger values control the minimum required samples from the illumination map in order to use it for approximating multiple scattering.
- interpolation_accuracy – this parameter controls the quality of the approximation of the multiple scattering effect when the type is Prepass-based illumination map or Object-based illumination map. Larger values produce more accurate results but are slower to render. Lower values render faster, but too low values may produce blocky artifacts on the surface.
Stochastic flakes
The BRDFStochasticFlakes material can be used to simulate car paints, snow and other glittery materials. It works by simulating at render time the aggregated effect of a large number of mirror-like flakes scattered over the surface of an object. The material is somewhat similar to the BRDFFlakes and BRDFCarPaint materials, but uses less memory and avoids the tiling issues for these materials.
Parameters
The plugin has the following parameters:
Basic
- enable_flakes – When enabled, the material simulates flakes scattered on the surface of the object. When disabled, the material simply renders the specified brdf type with the specified glossiness. For more details, please see the Enable Flakes example below.
- num_flakes – The number of flakes in the unit texture square. The number of flakes is restricted to 231. If you need more flakes than that, you can increase the flake scale parameter. For more details, please see the Number of Flakes example below.
- hilight_glossiness – Controls the distribution of the flakes. Values close to 1.0 will make all flakes oriented along the surface, whereas lower values will randomize the normals of the flakes. For more details, please see the Highlight Glossiness example below.
- mtl_hilight_glossiness – Allows the highlight glossiness to be controlled with a map.
- blur_angle – Controls the "softening" of the flakes effect. Higher values produce softer results while smaller values make the flakes sharper. Usually, value between 0.5 and 8 are used.
- subdivs – Controls the number of samples to use when calculating reflections.
- reflect_filter – Specifies the reflection color of the flakes.
- reflect_map – Allows the reflection color to be controlled with a map.
mapping_type – Specifies the way the flakes are scattered on the surface:
- Explicit UVW channel (0) – the flakes are mapped according to the specified mapping channel. The density of the flakes on the surface depends on the way the UVs follow the surface.
- Triplanar from Object XYZ (1) – the material will use a triplanar mapping to create the flakes. This mode is useful for objects that don't have suitable UV mapping.
map_channel – Specifies which map channel to use, when mapping type is set to Explicit UVW channel.
- flake_scale – Allows to scale the flakes in texture space. For mapping type Explicit UVW channel scale 1.0 is recommended. For Triplanar from Object XYZ mapping, num flakes number of flakes are distributed in each square unit in local object coordinates. In this case it is necessary to lower flake scale (0.05, 0.01 or less) and increase num flakes, depending on the object size, especially if square artefacts are observed.
brdf_type – Specifies the BRDF that is used to guide the distribution of the flakes:
- Beckmann (0) – Uses a Beckmann distribution for the flakes.
- GGX (1) – Uses GGX distribution for the flakes. The GGX distribution has a longer "tail" compared to Beckmann.
seed – Sets the random seed for the flakes. Changing this produces different flake patterns.
Colored Flakes Parameters
colored_flakes_option – Enables flakes to have color.
- Off (0) – No variance to the specified color for the flakes is applied.
- Random hue (1) – Enables randomized hue for the flakes.
- Random from map (2) – Enables randomized hue for the flakes based on a map. Note: Only the bottom line of pixels of the map will be used.
saturation – Determines the variance in color strength used for the flake colors when Random hue is enabled.
- lightness – Controls the brightness variation for the flake colors when Random hue is enabled.
- random_color_map – Uses the specified color (or a map if linked to this node in Schematic) when Random from Map is enabled.
- white_average – Renders colored flakes without the darkening effect. Note that this is not physically correct.
Advanced
- blend_min – Specifies the number of flakes per pixel below which the flakes are computed. When the number of flakes per pixel is above this value, the material gradually transitions into a smooth (non-discrete) BRDF.
- blend_max – Specifies the number of flakes per pixel above which the material will only compute the smooth (non-discrete) BRDF. If the number of flakes per pixel is below this value, the material gradually transitions into discrete flakes.
Hair Next Material
VRayHairNextMtl is specifically designed for rendering hair and fur and provides settings for a workflow based on the physiology of real hair. Instead of tweaking arbitrary colors that mix together, the new Hair Next material uses a simple melanin slider that determines the hair color just like in the real world. The material is the product of research based on the paper A Practical and Controllable Hair and Fur Model for Production Path Tracing.
General parameters, Glint, Randomization
- melanin – The pigmentation component that gives the hair strand its main color. The higher the value assigned, the higher the concentration of melanin and the darker the hair strands are.
- pheomelanin – The redness (pheomelanin content) of the hair strand as fraction of all melanin. 1.0 makes the hair redder. The ratio of melanin to pheomelanin determines how red the hair is. The pheomelanin amount will have no effect if the melanin is set to 0.
- dye_color – Applies a color tint to the hair. For a dyed hair look, set the melanin to 0, otherwise the melanin will darken the dye color and pheomelanin will introduce redness to it. White means no hair dye.
- transparency – Controls the transparency of the hair. White is fully opaque, while black is fully transparent.
- diffuse_color – Controls the diffuse component of the shader. Use this for materials made out of cloth threads or other non-translucent fibers, as well as for dirty hair.
- diffuse_amount – Specifies the amount for the diffuse component of the material.
- glossiness – Controls the glossiness along the hair strand. It primarily controls the width of the highlight, essentially how shiny the hair appears.
- primary_glossiness_boost – Additional scaling factor to boost the primary reflection glossiness. This can be useful for reproducing the effect of shiny coating on rough looking fur.
- softness – Controls the overall softness of the hair by how much the highlights are wrapped around the individual hair strands. Higher values make the highlights wrap almost completely around the strands giving the hair a smoother look, while lower values make it look crisper.
- highlight_shift – Shifts the highlights along the hair strand. Positive values shift the highlight away from the root of the hair, while negative values move the highlight closer to the root. Values in the range 2-4 are typical for human hair.
- ior – Hair index of refration. The typical value for human hair is 1.55. The higher the value, the more reflective the hair strands.
- glint_strength – Controls the strength of the colored highlights across and along the strand.
- glint_variation – Adds a random glint variation along the strand. It affects the glint strength and orientation; the original secondary highlight strength and orientation; the softness, glossiness and highlight shift.
- glitter_strength – Controls the glitter strength. Glitter is the additional more focused colorless highlight, which is randomly scattered along the strand. It is more pronounced with hard lighting produced by small or collimated light sources.
- glitter_size – This parameter controls the size of the randomization pattern applied. Increasing the value increases the size of the pattern.
- glint_scale – Internally, the variation along the strand is set in real world units. This parameter allows correction of the appearance of hair not modeled in real world scale. Values below 1.0 shrink the variation pattern, while values above 1.0 elongate it.
- random_melanin – Adds variation to the amount of melanin in each hair strand.
- random_dye_hue – Adds variation to the hue component of the dye color. This makes each strand appear with a different dye color. This parameter has no effect, when the dye color is not used, i.e. when the dye color is pure white.
- random_dye_saturation – Randomizes the saturation of the dye color between hair strands. This makes each strand appear with a more or less saturated dye color. This parameter has no effect, when the dye color is not used, i.e. when the dye color is pure white.
- random_dye_value – Adds variation to the value component of the dye color. This makes each strand appear with a brighter or darker dye color. This parameter has no effect, when the dye color is not used, i.e. when the dye color is pure white.
- gray_hair_density – Adds variation to the number of gray hair strands. You can also assign a texture map to this parameter to specify areas where the density is higher.
- random_glossiness – Randomizes the glossiness of each hair strand.
- random_softness – Assigns a random value for the softness parameter for each strand. This makes some hair strands appear crisper, while other appear softer.
- random_highlight_shift – Adds variation to the highlight shift for each strand. This offsets the highlights closer or further away from the root of the hair on a per strand basis.
- random_ior – Randomizes the ior value for each hair strand. This makes some strands more reflective, and others - less reflective.
- random_tangent – Adds a random offset to the hair tangent. This makes the hair stands receive light from slightly different directions, which also means that the highlights will be placed in slightly different places for each strand. Note that this parameter is depends on the scene scale.
Tint and Advanced Parameters
- primary_tint – The color tint for the primary component. Corresponds to the light reflected off of the outer surface of a hair strand.
- secondary_tint – The color tint for the secondary component. Corresponds to the light piercing through and reflecting off of the back surface of a hair strand.
- transmission_tint – The color tint for the transmission component. Corresponds to the light going through the hair strands.
- trace_depth – The number of indirect bounces used to compute the effect of the multiple scattering. It can significantly affect the hair appearance, especially for light colored hairs. The number of bounces necessary can vary from 5 for dark colored hairs, to 30 and more for light colored ones.
- subdivs –
- compensate_energy – When enabled, it improves the render realism of white or bright colored hair or fur.
Toon Material
2D cel and cartoon effects can easily be achieved with the VRayToonMtl. Use this material to make your scene get that hand-drawn look. Controlling the shadows and lights received by the material in combination with material transparency, gotten from Object or Material IDs, allows for fine-tuning the result. You can take advantage from the other standard V-Ray material options such as reflection, refraction, anisotropy, subsurface scattering and bump/normal mapping to set up the render to your liking.
Opacity and Reflect Parameters
- opacity_source – Choose between grayscale (0) or colored (1) opacity.
- opacity – Assigns opacity to the material where white is completely opaque and black is completely transparent. You can also assign a map by clicking the check board button. This way you can create a material that has a non-uniform opacity.
- opacity_mode – Controls how the opacity map works.
Normal (0) – The opacity map is evaluated as normal: the surface lighting is computed and the ray is continued for the transparent effect. The opacity texture is filtered as normal.
Clip (1) – The surface is shaded as either fully opaque or fully transparent depending on the value of the opacity map (i.e. without any randomness). This mode also disables the filtering of the opacity texture. This is the fastest mode, but it might increase flickering when rendering animations.
Stochastic (2) – The surface is randomly shaded as either fully opaque or fully transparent so that on average it appears to be with the correct transparency. This mode reduces lighting calculations but might introduce some noise in areas where the opacity map has gray-scale values. The opacity texture is still filtered as normal. - diffuse – Base texture blended with the color from the diffuse ramp.
- roughness – Used to simulate rough surfaces or surfaces covered with dust (for example, skin, or the surface of the Moon).
- roughness_model – The roughness model. 0 - Gamma-based; 1 - Oren-Nayar.
- self_illumination – The self-illumination color of the material. A texture map can be used for the self-illumination color by clicking on the check board box next to the color slider.
- self_illumination_gi – When enabled, the self-illumination affects global illumination rays and allows the surface to cast light on nearby objects. Note, however, that it may be more efficient to use area lights or Light material for this effect.
- compensate_camera_exposure – When enabled, the intensity of the Self-Illumination will be adjusted to compensate the exposure correction from the VRayPhysicalCamera.
- brdf_type – The BRDF type (0 - Phong, 1 - Blinn, 2 - Ward, 3 - VRay (deprecated, do not use), 4 - GGX).
- reflect – The reflection color dims the diffuse surface color.
- reflect_glossiness – Controls the sharpness of reflections. A value of 1.0 means perfect mirror-like reflection; lower values produce blurry or glossy reflections.
- hilight_glossiness – Controls the glossiness of the highlights.
- hilight_glossiness_lock – True to use the reflection glossiness also for hilights (hilight_glossiness is ignored).
- gtr_gamma – Specifies how much to increase/decrease the tail of the glossy highlight when using GGX reflection model.
- fresnel – When enabled, makes the reflection strength dependent on the viewing angle of the surface. Some materials in nature (glass, etc.) reflect light in this manner. Note that the Fresnel effect depends on the index of refraction as well.
- fresnel_ior – The IOR to use when calculating Fresnel reflections.
- fresnel_ior_lock – Allows the user to unlock the Fresnel IOR parameter for finer control over the reflections.
- metalness – When set to 0.0, the material uses dielectric reflections, and when it is 1.0, metallic reflections are used.
- gtr_energy_compensation – 0: No GTR energy compensation, 1: GTR energy compensation with color sharpening, 2: GTR energy compensation without color sharpening.
- reflect_subdivs – Subdivs for glossy reflectons.
- reflect_trace – True to trace reflections and false to only do highlights.
- reflect_depth – The number of times a ray can be reflected. Scenes with lots of reflective and refractive surfaces may require higher values to look correct.
- reflect_exit_color – The color to use when the maximum depth is reached.
- hilight_soften – How much to soften hilights and reflections at grazing light angles.
- reflect_dim_distance_on – Enables the Dim distance parameter which allows you to stop tracing reflection rays after a certain distance.
- reflect_dim_distance – Specifies a distance after which the reflection rays will not be traced.
- reflect_dim_distance_falloff – A fall off radius for the dim distance.
- reflect_affect_alpha – Determines how reflections affect the alpha channel (0 - opaque alpha; 1 - alpha is taken from refractions; 2 - all channels are propagated.
- anisotropy – The anisotropy for glossy reflections, from -1 to 1 (0.0 is isotropic reflections).
- anisotropy_rotation – The rotation of the anisotropy axes, from 0.0 to 1.0.
- anisotropy_derivation – What method to use for deriving anisotropy axes (0 - local object axis; 1 - a specified uvw generator).
- anisotropy_axis – Which local object axis to use when anisotropy_derivation is 0. (0 - X; 1 - Y; 2 - Z).
- anisotropy_uvwgen – The uvw generator to use for anisotropy when anisotropy_derivation is 1.
- new_gtr_anisotropy – If true, the new phisically correct GTR anisotropy is used. Otherwise, the old anisotropy that applies to all brdf types is used.
- thin_film_on – True to enable thin film reflections.
- thin_film_thickness_min – The minimum thickness of the thin film layer in nanometers.
- thin_film_thickness_max – The maximum thickness of the thin film layer in nanometers.
- thin_film_thickness – The blend between the minimum and maximum thin film thickness.
- thin_film_ior – The index of refraction of the thin film.
Refract Parameters
- refract – Refraction color. Note that the actual refraction color depends on the reflection color as well.
- refract_ior – Index of refraction for the material, which describes the way light bends when crossing the material surface. A value of 1.0 means the light does not change direction.
- refract_glossiness – Controls the sharpness of refractions. A value of 1.0 means perfect glass-like refraction; lower values produce blurry or glossy refractions.
- refract_subdivs – Subdivs for glossy refractions.
- refract_trace – Enables refractions for the current material.
- refract_depth – The number of times a ray can be refracted. Scenes with lots of refractive and reflective surfaces may require higher values to look correct.
- refract_exit_color_on – If false, when the maximum refraction depth is reached, the material is assumed transparent, instead of terminating the ray.
- refract_exit_color – The color to use when maximum depth is reached when refract_exit_color_on is true.
- refract_affect_alpha – Determines how refractions affect the alpha channel (0 - opaque alpha; 1 - alpha is taken from refractions; 2 - all channels are propagated.
- refract_affect_shadows – This parameter causes the material to cast transparent shadows to create a simple caustic effect dependant on the refraction color and the fog color.
- dispersion_on – Enables the calculation of true light wavelength dispersion.
- dispersion – Allows the user to increase or decrease the dispersion effect. Lowering it widens the dispersion and vice versa.
- refract_thin_walled – True to enable thin-walled refractionл
- fog_color – The attenuation of light as it passes through the material. This option helps simulate the fact that thick objects look less transparent than thin objects. Note that the effect of the fog color depends on the absolute size of the objects and is therefore scene-dependent.
- fog_color_tex – The absorption (fog) color textureл
- fog_mult – The strength of the fog effect. Smaller values reduce the effect of the fog, making the material more transparent. Larger values increase the fog effect, making the material more opaque.
- fog_depth – Multiplier for the scatter radius. Has the inverse effect as fog_mult and is combined with it.
- fog_bias – Changes the way the fog color is applied. Negative values make the thin parts of the objects more transparent and the thicker parts more opaque and vice-versa (positive numbers make thinner parts more opaque and thicker parts more transparent).
- fog_unit_scale_on – Enable unit scale multiplication, when calculating absorption. When this is enabled, the fog multiplier is in cm^-1. When this is disabled, the fog multiplier is in scene_units^-1.
Translucency and Options
- translucency – Translucency mode (0 - None; 1 - Hard (wax) model; 2 - Soft (water) model; 3 - Hybrid model; 4 - Volumetric translucency; 5 - Volumetric (water) model; 6 - SSS (wax) model).
- translucency_color – Normally the color of the sub-surface scattering effect depends on the Fog color; this parameter allows you to additionally tint the SSS effect.
- translucency_light_mult – A multiplier for the calculated lighting for the translucency effect.
- translucency_scatter_dir – Controls the direction of scattering for a ray. a value of 0.0 means a ray can only go forward (away from the surface, inside the object); 0.5 means that a ray has an equal chance of going forward or backward; 1.0 means a ray is scattered backward (towards the surface, to the outside of the object).
- translucency_scatter_coeff – The amount of scattering inside the object. 0.0 means rays are scattered in all directions; 1.0 means a ray cannot change its direction inside the sub-surface volume.
- translucency_thickness – Limits the rays that will be traced below the surface. This is useful if you do not want or don't need to trace the whole sub-surface volume.
- translucency_amount – Translucency amount for volumetric or SSS translucency.
- translucency_surfaceLighting – Determines how direct illumination is computed for sub-surface scattering. The uniform method spreads light more uniformly inside the material and is faster for skin etc. The directional method tends to propagate more light in the direction from which it illuminates the surface. The directional method requires the 'affect shadows' option to be enabled so that shadows extend below the surface; this method may also produce a faceted look on low-poly objects.
- option_double_sided – When enabled, V-Ray also shades the back-facing surfaces with this material. Otherwise, the lighting on the outer side of the material is always computed. This can be used to achieve a fake translucent effect for thin objects like paper.
- option_reflect_on_back – When disabled, V-Ray calculates reflections for the front side of objects only. Enable it to make V-Ray calculate the reflections for the back sides of objects too.
- option_glossy_rays_as_gi – Specifies when to treat GI rays as glossy rays (0 - never; 1 - only for rays that are already GI rays; 2 - always.
- option_cutoff – A threshold below which reflections/refractions are not traced. V-Ray tries to estimate the contribution of reflections/refractions to the image, and if it is below this threshold, these effects are not computed. Do not set this to 0.0 as it may cause excessively long render times in some cases. This parameter is not available when the renderer is set to V-Ray GPU.
- option_use_irradiance_map – When enabled, the irradiance map is used to approximate diffuse indirect illumination for the material. If this is off, Brute Force GI is used, in which case the quality of the Brute Force GI is determined by the Subdivs parameter of the Irradiance Map. You can use this for objects in the scene which have small details and are not approximated very well by the Irradiance Map.
- option_energy_mode – Energy preservation mode for reflections and refractions (0 - color, 1 - monochrome).
- option_fix_dark_edges – True to fix dark edges for glossy reflections with low samples; only set this to false for compatibility with older versions.
- option_glossy_fresnel – True to enable glossy Fresnel.
- option_use_roughness – True to invert all glossiness values and use roughness instead.
- use_environment_override – True to use the 'environment override' texture.
- environment_override – Environment override texture.
- environment_priority – Environment override priority (used when several materials override it along a ray path).
- refl_interpolation_on – This is deprecated and will be removed. This has no effect.
- refl_imap_min_rate –
- refl_imap_max_rate –
- refl_imap_color_thresh –
- refl_imap_norm_thresh –
- refl_imap_samples –
- refr_interpolation_on - This is deprecated and will be removed. This has no effect.
- refr_imap_samples –
- channels –
- volume –
Sheen and Coat
- sheen_color – The sheen color of the material.
- sheen_glossiness – The glossiness of the sheen layer of the material.
- coat_color – The coat color of the material.
- coat_amount – Value controlling both the amount of dimming and the intensity of the specular highlight of the coat layer.
- coat_glossiness – The glossiness of the coat layer of the material.
- coat_ior – The index of refraction of the coat layer of the material.
- coat_bump_lock – Lock the coat bump map to the base bump map.
- bump_map – Base bump map.
- bump_amount –
- bump_type – The type of the map (0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal).
- coat_bump_map –
- coat_bump_amount –
- coat_bump_type – The type of the map (0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal).
- lpe_label – Light path expressions material label which can be used to identify the material.
- diffuse_positions –
- diffuse_interpolations – 0:None; 1:Linear; 2:Smooth; 3:Spline.
- diffuse_colors –
- diffuse_gradient_external – If this parameter is set, it will be used instead of diffuse_positions, diffuse_interpolations and diffuse_colors to provide an external gradient.
- diffuse_gradation_offset –
- diffuse_output_offset –
- specular_positions
- specular_interpolations – 0:None; 1:Linear; 2:Smooth; 3:Spline.
- specular_colors
- specular_gradient_external – If this parameter is set, it will be used instead of specular_positions, specular_interpolations and specular_colors to provide an external gradient.
- shadow_override_on –
- shadow_color
- shadow_opacity
- light_override_on
- light_color
- light_blend_mode – 0:None; 1:Normal; 2:Over; 3:Add; 4:Subtract; 5:Multiply; 6:Lighten; 7:Darken; 8:Saturate; 9:Desaturate; 10:Illuminate.
- light_blend_mode
- light_blend_intensity
- highlight_type
- highlight_mask
VRayAlSurface
The V-Ray Al Surface shader is V-Ray's implementation of Anders Langland's alShader, which is designed to reproduce the appearance of skin. The current version takes into account diffuse reflection, two levels of reflection, and subsurface scattering.
- bump_map – Allows the user to select a texture for the bump or normal map. Leaving this unconnected turns off bump/normal mapping.
- bump_amount – Specifies the amount of the bump.
- bump_type – The type of the map: (0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal)
- opacity – Assigns transparent properties to the material where 1.0 is completely opaque and 0.0 is completely transparent. Maps can also be assigned to create a material that has a non-uniform opacity. When a map is used, white is completely opaque and black is completely transparent.
- diffuse – The color of the material. Note: The actual diffuse color of the surface also depends on the reflection and refraction colors.
- diffuse_strength – A multiplier for the diffuse color.
- diffuse_bump_map – Allows the user to select a texture for the bump or normal map for the diffuse component. Leaving this unconnected turns off bump/normal mapping. Do not use color corrected normal maps.
- diffuse_bump_amount – A multiplier for the bump map effect on the diffuse.
- diffuse_bump_type – The type of the map (0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal)
- reflect1 – The reflection color. Note that the reflection color dims the diffuse surface color.
- reflect1_strength – A multiplier for the reflection color.
- reflect1_roughness – Used to simulate rough surfaces or surfaces covered with dust.
- reflect1_ior – The IOR to use when calculating Fresnel reflections. Normally this is locked to the Refraction IOR parameter, but you can unlock it for finer control.
- reflect1_distribution – Determines the type of BRDF (the shape of the highlight):
Beckmann – Uses a Beckmann distribution for the reflection.
GGX – Uses GGX distribution for the reflection. The GGX distribution has a longer "tail" compared to Beckmann distribution. - reflect1_bump_map – Allows the user to select a texture for the bump or normal map for the reflection component. Leaving this unconnected turns off bump/normal mapping.
- reflect1_bump_amount – A multiplier for the bump map effect on the reflection.
- reflect1_bump_type – The type of the map (0 - from regular texture output, 1 - normal map in tangent space, 2 - normal map in object space, 3 - normal map in camera space, 4 - normal map in world space, 5 - from texture bump output, 6 - explicit normal)
The following parameters control the second specular component of the material, but have identical parameters to the first one.
- reflect2
- reflect2_strength
- reflect2_roughness
- reflect2_ior
- reflect2_distribution
- reflect2_bump_map
- reflect2_bump_amount
- reflect2_bump_type
- sss_mix – Mix between the Diffuse component and the SSS component.
- sss_mode – Sets the Sub Surface Scattering Mode.
- sss_density_scale – Additionally scales the SSS Radius parameters. Normally, the material will take the scene scale into account when calculating the subsurface scattering effect. However, if the scene was not modeled to scale, this parameter can be used to adjust the effect.
- sss1_weight – The relative contribution of the shallow scattering layer to the material.
- sss1_color – The color for the shallow scattering layer.
- sss1_radius – The distance that light is scattered within the shallow layer.
The Al Surface Material has three SSS rollouts with identical parameters for precise control over three types of subsurface scattering.
- reflect_max_depth – The number of times a ray can be reflected. Scenes with many reflective and refractive surfaces might require higher values to look correct.
- reflect_subdivs – Subdivs for sampling reflections when local subdivs are enabled.
- sss_subdivs – Subdivs for sampling SSS when local subdivs are enabled.
- consider_all_objects – When enabled, the V-Ray AI Surface shader considers all intersecting objects with an Al Surface shader when calculating the sub-surface scattering effect to allow for the effect to "bleed through". This option is not available in V-Ray GPU.
V-Ray Flakes 2
- flake_color – Specifies the color or map of the metal flakes.
- flake_random_color – Sets colors from the specified map (e.g. File or Ramp) to the flakes in a random pattern. Only the bottom row on u-axis of the map is sampled for colors.
- flake_orientation – Specifies the orientation value or map of the metal flakes. The orientation of the flakes is relative to the surface normal . When this value is 0.0, all flakes are perfectly aligned with the surface. When set to 1.0, the flakes are rotated completely randomly with respect to the normal. Values above 0.5 are not recommended as they can produce artifacts.
- flake_orientation_tail – Controls the transition from highlighted areas to non-highlighted areas.
- flake_glossiness – Specifies the reflection glossiness value of the flakes.
- flake_density – Specifies the density (number of flakes) for a certain area. Lower values produce less flakes, and higher values produce more flakes. When set to 0.0, it produces a material without flakes.
- flake_scale – Scales the entire flake structure.
- flake_scale_triplanar – Active only when Mapping Type is set to Triplanar. Scales the entire flake structure.
- flake_size – Specifies the size of the flakes relative to the distance between them. Higher values produce bigger flakes, and lower values produce smaller flakes.
- flake_map_size – Internally the material creates several bitmaps to store the generated flakes. This parameter determines the size of the bitmaps. Lower values reduce RAM usage, but may produce noticeable tiling in the flake structure. Higher values require more RAM, but tiling is reduced.
- flake_seed – Specifies the random seed for the flakes. Changing this produces different flake patterns.
- flake_uvwgen – Allows connecting a texture placement node.
- flake_bin_subdivs – Square root of the total number bins used for flakes filtering.
- mapping_type – The mapping method for the flakes (0 - explicit mapping channel, 1 - triplanar projection in object space).
- mapping_channel – The mapping channel when the mapping_type is 0.
- traceReflections – Global switch to toggle reflections for the flakes.
- trace_depth – Specifies the number of times a ray can be reflected.
- doubleSided – When enabled, the material is double-sided.
- subdivs –
- cutoff_threshold – Specifies the cutoff threshold for the reflections of the different layers.
- use_environment_override – When enabled, allows you to specify a local environment map for reflections and refractions.
- environment_override – Specifies the environment map texture.
- environment_priority – Specifies the environment priority for the Environment override texture for this material.