Material Properties
This page breaks down all the available material properties. These options are accesible per material via Material Editor window.
General
Property |
Description |
Domain |
Specifies how the material is going to be used. Certain materials used for postFx or 2D rendering requrie additional instructions for the rendering pipeline to be generated. Because of this, it's important to specify a material domain that covers those cases. Possible options: Option | Description |
---|
Surface | The surface material. Can be used to render the scene geometry including models and skinned models. | Post Process | The Post Process Material. Can be used to perform custom post-processing of the rendered frame. | Decal | The Decal Material. Can be used to apply custom overlay or surface modifications to the object surfaces in the world. | GUI | The GUI shader. Can be used to draw custom control interface elements or to add custom effects to the GUI. | Terrain | The terrain shader. Can be used only with landscape chunks geometry that use optimized vertex data and support multi-layered blending. | Particle | The particle shader. Can be used only with particles geometry (sprites, trails and ribbons). Supports reading particle data on a GPU. | Deformable | The deformable shader. Can be used only with objects that can be deformed (eg. spline models). |
|
Shading Model |
Specifies how material inputs and properties are combined to result the final surface color. Possible options: Option | Description |
---|
Unlit | The unlit material. The Emissive channel is used as an output color. Can perform custom lighting operations or just glow. Won't be affected by the lighting pipeline. | Lit | The default lit material. The most common choice for material surfaces. | Subsurface | The subsurface material. Intended for materials like wax or skin that need light scattering to transport simulation through the object. | To learn more about shading models see the related documentation here. |
Blend Mode |
Specifies how to blend the material with the environment. Possible options: Option | Description |
---|
Opaque | The opaque material. Used during GBuffer pass rendering. This is the default value. | Transparent | The transparent material. Used during Forward pass rendering. | Additive | The additive blend. Material color is used to add to the color of the objects behind the surface. Used during Forward pass rendering. | Multiply | The multiply blend. Material color is used to multiply the color of the objects behind the surface. Used during Forward pass rendering. | To learn more about blend modes see the related documentation here. |
Rendering
Property |
Description |
Cull Mode |
Defines the primitives culling mode used during geometry rendering. |
Wireframe |
If checked, geometry using this material will be rendered in wireframe mode without a solid triangles fill. |
Depth Test |
If checked, enables performing depth test during material rendering. |
Depth Write |
If checked, enables writing to the depth buffer during material rendering. |
Transparency
Property |
Description |
Transparent Lighting Mode |
Transparent material lighting mode. Possible options: Option | Description |
---|
Surface | Default directional lighting evaluated per-pixel at the material surface. Use it for semi-transparent surfaces - with both diffuse and specular lighting components active. | Surface Non-Directional | Non-directional lighting evaluated per-pixel at the material surface. Use it for volumetric objects such as smoke, rain or dust - only the diffuse lighting term is active (no specular highlights). |
|
Enable Reflections |
If checked, enables reflections when rendering the material. |
Enable Screen Space Reflections |
If checked, enables Screen Space Reflections when rendering the material. |
Enable Fog |
If checked, enables fog effect when rendering the material. |
Enable Distortion |
If checked, enables distortion effect when rendering the material. |
Enable Global Illumination |
If checked, enables sampling Global Illumination in the material (eg. light probes or volumetric lightmap). |
Pixel Normal Offset Refraction |
Enables refraction offset based on the difference between the per-pixel normal and the per-vertex normal. Useful for large water-like surfaces. |
Opacity Threshold |
Controls opacity values clipping point. |
Tessellation
Property |
Description |
Tessellation Mode |
Mesh surface tessellation method. Applies only to materials with Domain set to Surface. Possible options: Option | Description |
---|
None | No tessellation. | Flat | Flat tessellation. Also known as dicing tessellation. | PointNormal | Point normal tessellation. | Phong | Geometric version of Phong normal interpolation, not applied on normals but on the vertex positions. |
|
Max Tessellation Factor |
Maximum triangle tessellation factor. Default value is 15 . Increase it to unlock even higher tessellation. Higher values reduce rendering performance. |
Miscellaneous
Property |
Description |
Use Input World Space Normal |
If checked, material input normal will be assumed as world-space rather than tangent-space. |
Use Dithered LOD Transition |
If checked, material uses dithered model LOD transition for smoother LODs switching. |
Mask Threshold |
Controls mask values clipping point. |
Decal Blending Mode |
Specifies decal material blending mode. Applies only to materials with Domain set to Decal. Possible options: Option | Description |
---|
Translucent | Decal will be fully blended with the material surface. | Stain | Decal color will be blended with the material surface color (using multiplication). | Normal | Decal will blend the normal vector only. | Emissive | Decal will apply the emissive light only. |
|
PostFx Location |
Specifies when render post effect material. Applies only to materials with Domain set to Post Process.Possible options: Option | Description |
---|
After Post Processing Pass | Render material after post processing pass using LDR input frame. | Before Post Processing Pass | Render material before post processing pass using HDR input frame. | Before Forward Pass | Render material before forward pass but after GBuffer with HDR input frame. | After Custom Post Effects | Render material after custom post effects (scripted). | Before Reflections Pass | Render material before Reflections pass. After the Light pass. Can be used to implement a custom light type that accumulates lighting to the light buffer. | After Anti-Aliasing Pass | Render material after the AA filter pass. Rendering is done to the output backbuffer. |
|
Parameters
Every material contains a collection of custom parameters. Those parameters can be accessed from the game logic code or be overriden using Material Instances.
This section allows adding, editing and removing custom material parameters. Each parameter has a specified type and default value. Material parameters are identified by the name which means it has to be unique in order to prevent misleading.
To add a new parameter choose a type from the dropdown menu and press the Add parameter button. Then you can right click on the parameter name to rename or delete it.
To access a material parameter value directly in a graph use Get Parameter. It allows choosing a parameter with a dropdown menu and use its value as shown in a picture below.
Attributes
Every parameter can have a collection of customizable attributes that can customize its display logic in the UI or be used as metadata for other systems (eg. serialization).
To add an attribute to parameter simply right-click -> Edit attributes, then use the + button to add a new attribute, set the Type to one of the items from the dropdown list, adjust the properties of the atrtribute and hit OK to confirm.
For instance, the Tooltip Attribute can be used to display a documentation note about the parameter for other users. Range and Slider attributes can help to customize editing scalar values, and Editor Group and Editor Order can organize the list of parameters. To learn about attribute types see this page.