Click or drag to resize

Material Editor

Mesh EditorManual / Content Creation / Material EditorUI Editor

Material Editor

Contents
Overview

Material editor is designed for materials customization. When used for 3D objects, materials determine how these objects will interact with lighting.

Screenshot999999194.png
Creating materials

New material can be created as a separate resource or inside existing object. Read more about creating resources. When creating a material, one needs to specify various parameters that will be described below.

Screenshot999999186.png
Editing materials

By default, when material is created, a new "Shader graph" nested component is added. This component is a Flow Graph, and designed for setting up textures of material, and specifying how do those mix up. On the screenshot below, two tabs are opened in the MyMaterial.material document. The first one ('Root object') - is material object, second (Shader graph) is a Flow Graph.

Screenshot999999187 2.png
Setting up general parameters

To edit material parameters, one needs to click on the material node title.

Screenshot999999196 2.png
Name Description
Blend Mode Defines how/if the rendered object is blended with the content of the render target.
Two Sided Whether the material use double-sided rendering.
Shading Model The reflection mode of the incoming light.
Base Color Diffuse albedo for non-metallic surfaces, and specular color for metallic surfaces.
Metallic Whether a surface appears to be dielectric (0.0) or conductor (1.0). Often used as a binary value (0 or 1).
Roughness Perceived smoothness (1.0) or roughness (0.0) of a surface. Smooth surfaces exhibit sharp reflections.
Reflectance Fresnel reflectance at normal incidence for dielectric surfaces. This directly controls the strength of the reflections.
Normal The material normals. This property is intented to be used with normal mapping.
Displacement The height offset that is specified by the texture.
Displacement Scale The scale for Displacement.
Ambient Occlusion Defines how much of the light is accessible to a surface point.
Emissive The color and intensity of light emitted from the surface.
Opacity The opacity of the surface.
Opacity Mask Threshold Transparency threshold for Masked mode.
Clear Coat Strength of the clear coat layer.
Clear Coat Roughness Perceived smoothness or roughness of the clear coat layer.
Clear Coat Normal A detail normal used to perturb the clear coat layer using bump mapping (normal mapping).
Anisotropy Amount of anisotropy.
Anisotropy Direction Local surface direction. Used by anisotropic materials only.
Anisotropy Direction Basis The direction basis. Used by anisotropic materials only.
Thickness Object thickness. Used for subsurface scattering only.
Subsurface Power Amount of subsurface scattering.
Sheen Color Specular tint to create two-tone specular fabrics.
Subsurface Color Tint for the diffuse color after scattering and absorption through the material.
Shininess The shininess of material.
Position Offset Vertices position offset. Performed in vertex shader.
Ray Tracing Reflection Amount of ray-tracing reflection. Used for screen space reflection.
Receive Shadows Whether the surface receive shadows from other sources.
Receive Decals Whether it is possible to apply decals the surface.
Advanced Blending Enables advanced blending mode. In this mode, it is possible to configure blending for each channel separately.
Affect Base Color Whether to write the Base Color.
Affect Metallic Whether to write the Metallic.
Affect Roughness Whether to write the Roughness.
Affect Reflectance Whether to write the Reflectance.
Affect Ambient Occlusion Whether to write the Ambient Occlusion.
Affect Emissive Whether to write the Emissive.
Affect Geometry Whether to write the normals, height data.
Assigning a texture

In order to bind a texture to specific material parameter, one needs to do two things. First one should find texture in resources, and drag it to graph editor. As a result, texture will appear as a node of the graph.

Screenshot999999207 2.png

Second, one should connect RGBA channel of a texture to a Base Color of material.

Screenshot999999212 2.png
Logical blocks

Besides textures, one can use logical blocks for building material.

There is special filtering mode called Shaders at Resources Window.

Screenshot999999467 2.png

In this mode only types that supported in material editor are shown.

Screenshot999999468.png

This objects could be dragged to material editor workspace in the same way as textures.

Screenshot999999469 2.png
Passing parameters to material

With Shader Parameter component one can pass dynamic parameters to material. This parameters could be picked from any kind of sources. For example it could be time, or some parameters of scene objects.

First, drag Shader Parameter to a workspace.

Screenshot999999546 2.png

Next, set up data source. In this example Engine time is used as a data source (All types\NeoAxis\EngineApp\EngineTime).

Screenshot999999547 2.png
Shader scripts (Advanced)

Shader scripts provides the ability to use shader code in materials and fullscreen effects.

Examples: Shader script material.scene, Vegetation material.scene.

Screenshot999999696.png
Assigning material to a 3D model

Material can be assigned to different types of objects. In this section it is described how to assign material to a 3D model in the scene.

If you haven't saved your material yet, now is the time to do this. One can save document by clicking Save button or by pressing Ctrl+S.

Screenshot999999210.png

In order to assign material, one needs to pick material in Resources window, then drag & drop material on 3D model.

Screenshot999999211 2.png
See also
Mesh EditorUI Editor