Materials

Materials control the appearance of 3D objects in a Scene. Within Autograph, you can:

Creating a Material

To create a new Material, go to the Outliner panel, and select Material in the Add menu.

A new Material type primitive will be created. Select it to display its properties in the Properties panel.

Assigning a Material to an Object

After creating a Material, you need to assign it to one or more objects in your Scene. To assign a Material to an Object, (1) select the Object in the Outliner and (2) go to the Materials panel. (3) Using the drop-down menu, pick a Material from the list of available Materials in the Scene. Your Material is now assigned to an Object and should be visible in the Viewport.

Note:

Do not forget to add a Light to your Scene, otherwise non-emissive materials will appear black.

Overriding a Material

Warning:

Currently, when overriding a material loaded from an existing USD asset, Autograph will automatically load the texture maps and plug them in the right in the Material Property. However, this only works if the Material is defined by a UsdPreviewSurface shader. All material textures are loaded inside a folder named after the Material (Name_Material), and all Material folders are put inside a folder named after the Scene (Name_Textures).

To override an existing Material primitive, (1) navigate to the Material in the Outliner and (2) click on the Edit primitive button on the panel below.

The properties of the overridden material are now displayed.

Material properties

Autograph has two rendering backends (render delegates): Storm, part of the USD/Hydra project, and Filament, a real-time physically based rendering engine. Each has different rendering capabilities and material models. Autograph offers a unified material model, which lets you specify your material once and have it work with both renderers.

Under the hood, the parameters of this unified model are translated to delegate-specific material models:

Texture Maps

Some Material properties have an associated Map parameter, which can be connected to a texture map in order to make the value vary over the surface of the Object. Map parameters are regular image parameters, meaning that anything you use as layer Source could also be used as an animated texture map on a 3D object. This includes:

Modifiers are also supported on texture maps.

"Generators as texture maps"

When binding a Generator to a texture map parameter, make sure that the Generator's Output Format is not Unbounded, otherwise rendering will fail.

Note:

"Tangent-space normal maps" Normal maps should be specified in tangent space. We use MikkTSpace internally to generate a standard tangent space when tangents are not explicitly specified on a USD primitive.

List of Material Properties

Some parameters are only supported by a specific render delegate, this is indicated below in the "Supported Delegates" column.

Note:

Some Material properties have both a numeric input and a texture map input (e.g. Base Color and Base Color Map). The texture map input, if it is connected, takes precedence over the numeric input.


Parameter Description Supported Delegates
Shading Mode Selects the overall shading model of the material.
  • None: Unlit model; the material appearance is unaffected by lighting.
  • Normal: Generic physically based shading model.
Filament only
(on Storm, only Normal is supported)
Blending Mode Defines how the material blends with the rest of the scene. See the dedicated section below. Filament only
Mask Threshold Alpha threshold used by the Alpha Masked blending mode. All
Base Color
Base Color Map
Base color of the material (diffuse albedo, or specular color for Metallic materials).
  • Storm: Maps to diffuseColor.
  • Filament: Maps to baseColor.
All
Opacity
Opacity Map
Controls the opacity of the material. Filament only
Metallic
Metallic Map
Binary value that specifies whether the material is metallic. Filament only
Roughness
Roughness Map
Controls the perceived smoothness of the surface. See Roughness. Filament only
Reflectance
Reflectance Map
For non-metallic materials, controls the specular intensity and index of refraction. See Reflectance. Filament only
Sheen Color
Sheen Color Map
Controls the appearance of the sheen layer above the base layer and below the clear coat. See Sheen color. Filament only
Sheen Roughness
Sheen Roughness Map
Controls the roughness of the sheen layer. See Sheen roughness. Filament only
Clearcoat
Clearcoat Map
Controls the strength of the clear coat layer. See Clear coat. Filament only
Clearcoat Roughness
Clearcoat Roughness Map
Controls the roughness of the clear coat layer. See Clear coat roughness. Filament only
Normal Map Defines the normal at a point on the surface. See Normal. All
Bent-Normal Map Defines the average unoccluded direction at a point on the surface. See Bent normal. Filament only
Clearcoat Normal Map Defines the normal used for the clear coat layer at a point on the surface. See Clear coat normal. Filament only
Anisotropy Enables anisotropic highlights. See Anisotropy. Filament only
Anisotropy Direction Controls the direction of anisotropic highlights. See Anisotropy direction. Filament only
Ambient Occlusion
Ambient Occlusion Map
Defines how much ambient light is accessible to a point on the surface. See Ambient occlusion. All
Emissive
Emissive Map
Controls the emissive component of the material. All
UVs name Name of the texcoord primvar used on the primitive. All
Wrap S Wrapping mode for the S texture coordinate. All
Wrap T Wrapping mode for the T texture coordinate. All
Specular Ambient Occlusion Mode See Lighting: specularAmbientOcclusion. Filament
Refraction Mode Controls the refraction effect.
  • None: Disables refraction.
  • Screen-space: Enables screen-space refraction.
See Blending and transparency: refractionMode.
Filament
Refraction Type Defines the refraction model used. See Blending and transparency: refractionType. Filament
Reflection Mode Controls the source of specular reflections.
  • Environment-Only: Reflects only environment lighting (dome lights).
  • Screen-space: Enables screen-space ray-marched reflections.
See Lighting: reflections.
Filament
Transparency Mode Controls how transparent objects are rendered. See Blending and transparency: transparency. Filament
Transparent Shadows Enables shadows on transparent objects. See Lighting: transparentShadow. Filament
Specular Anti-Aliasing Enables aliasing reduction on specular highlights. See Anti-aliasing: specularAntiAliasing. Filament
Specular Anti-Aliasing Variance See Anti-aliasing: specularAntiAliasingVariance. Filament
Specular Anti-Aliasing Threshold See Anti-aliasing: specularAntiAliasingThreshold. Filament
Clearcoat IOR Change Enables attenuation of the base layer due to the change in index of refraction in the clear coat layer. See Lighting: clearCoatIorChange. Filament
Multi-Bounce Ambient Occlusion See Lighting: multiBounceAmbientOcclusion. Filament

Blending Mode

With the Filament render delegate, the Blending mode options control how the Material blends with the rest of the Scene:


Blending mode Description
Opaque Blending is disabled. The alpha channel of the material's output is ignored.
Transparent Blending is enabled. The material's output is alpha-composited with the background.

This is useful for materials with smooth, semi-transparent alpha, such as keyer results.

Note that transparent materials cannot intersect correctly with each other; they only intersect properly with non-transparent materials. Their Z order can still be controlled by ordering the centroid of the object's bounding box along the Z axis.

Alpha masked Blending is disabled. This mode enables alpha masking.

The alpha channel of the material's output determines whether a fragment is discarded, using the Mask Threshold parameter.

This is useful for materials with fully opaque or fully transparent regions that need to intersect properly. Semi-transparent areas are clipped according to Mask Threshold and may appear jagged; use Transparent instead in that case.

Multiply Blending is enabled. The material's output is multiplied with the render target content, which darkens the result.
Screen Blending is enabled. This is effectively the opposite of Multiply: the render target content is brightened.
Fade Acts like Transparent, but transparency is also applied to specular lighting.

In Transparent mode, the material's alpha values affect only diffuse lighting.

This mode is useful for fading lit objects in and out.

Note:

The blending mode is ignored when using the Storm render delegate.

Blending mode and Depth AOV

When requesting the Depth AOV under Composition > 3D Settings, what is written in the depth buffer depends on the blending mode of the material:

  • Opaque: the Alpha channel is ignored when writing the depth.
  • All other modes are equivalent to selecting Alpha Masking: the depth target is written only for pixels with an Alpha value greater than the Mask Threshold specified on the material.