Material Guide

 

For materials, You can select from a few types. Each has its own benefits and drawbacks.

The most commonly used material is MeshPhysicalMaterialExt. The reason behind this is that this one has the most versatile options to work with. 

Important is to name each material with a logical name. This will help speed up your work later on in the configurator.

For Texturing and UV requirements go to Textures an UV’s 

 

Diffuse:

The colour or image of a material starts with the diffuse. This can be a solid colour or with a map. A map is used to add a picture to the material. Select assign to open the media folders, in here you can add images to use for all the different functions. For a map, you can use a .jpg in 1024×1024 resolution. 

To have more detail than a single 1k map you can use tileable textures and scale the UV map accordingly. 

The Diffuse colour can also be used to add a colour overlay onto the map.

 

Transparency:

The opacity of a material can be changed in the transparency tab. To change the overall transparency, of the material, change the value of opacity to a lower one (1 is fully opaque and 0 is completely transparent)

You can also use a map to selectively change the opacity based on the texture. In an opacity map, black is transparent and white is opaque. All the grey values in between are values of transparency. 

Important is to set the toggle next to transparent to on.

 

Environment:

To create proper reflections in your objects an environment map is needed. The map is what you will see in the reflection of the object. This image will be used spherical to wrap around the whole scene. For the map, you can use a .jpg in 1024×1024 resolution. The intensity will change the shininess of the object.

 

If you use the material MeshPhysicalMaterialExt you change the intensity in the PBR tab. You can find the explanation of this later on in this document.

 

Reflection:

SSRL stands for screen space reflections level. This controls the amount of other object reflecting in this material.  It is commonly used to create more subtle reflections such as on wet floor surfaces or in puddles. 

 

Normals:

To add texture to a material you can use 3 different kinds of maps, Bump, Displacement and Normal. Each works based on their own colour ranges. Each map can be affected by scale to change the intensity of the map. 

 

Bump maps create the illusion of depth and texture on the surface of a 3D model using computer graphics. Textures are artificially created on the surface of objects using grayscale and simple lighting tricks, rather than having to manually create individual bumps and cracks. No additional resolution is added to the model as a result of a bump map. Typically, bump maps are grayscale images that are limited to 8-bits of colour information. That’s only 256 different colours of black, grey or white.

 

Normal maps can be referred to as a newer, better type of bump map. As with bump maps, the first thing you need to understand about normal maps is that the detail they create is also fake. There’s no additional resolution added to the geometry in your scene. In the end, a normal map does create the illusion of depth detail on the surface of a model but it does it differently than a bump map. As we already know, a bump map uses grayscale values to provide either up or down information. A normal map uses RGB information that corresponds directly with the X, Y and Z axis in 3D space. This RGB information tells the 3D application the exact direction of the surface normals are oriented in for each and every polygon.

 

Displacement maps physically displace (as the name implies) the mesh to which they are applied. In order for detail to be created based on a displacement map, the mesh must be subdivided or tessellated so real geometry is created. The great thing about displacement maps is that they can actually be either baked from a high-resolution model or painted by hand. Like a bump map, a displacement map consists of grayscale values

 

PBR:

To give your material a more metal-like look you can use the metalness value. You can also use a map for this. The reflectivity of a material can be changed with the roughness value. The lower the value the more reflective the surface will be. The roughness can also use a map.

 

Coating:

The clear coat value adds, as the name suggests, a clear coat on the outside of the material. You can use this for things like car paint or materials like carbon fibre. The coat roughness defines the glossiness of the coat.

 

Fresnel:

Fresnel is the term used to describe how the light you see reflects at different intensities based off of the angle you are viewing it from. For example, if you are standing over a pool looking straight down at the pool, you will not see a lot of reflections in the water. As you start to move your head so that the water in the pool becomes more and more parallel to your eye level, you will begin to notice more and more reflections in the water.

If you want to use a colour for fresnel you need to activate Diffuse. In the Diffuse L Color select the colour you want. Use the diffuse parameters to change the fresnel effect.

Use the reflection option to use a fresnel effect on the reflectivity of the material. Use the diffuse parameters to change the fresnel effect.

 

Depth:

Both checks can be best left on.

Depth Test: if checked, when a mesh with the material is rendered, a per-pixel check is performed to determine if the pixel passes the engine’s depth test. By default, the test is that the pixel must have a z depth less than or equal to whatever is already in the depth buffer. In other words, the mesh is only visible if nothing is in front of it. If unchecked, the mesh is rendered regardless of what is already in the depth buffer.

Depth Write: If checked, when a mesh with the material is rendered, its depth information is written to the depth buffer. This ensures that when subsequent meshes are rendered, they can be successfully depth tested against meshes rendered with this material. 

 

Light Maps:

In the lightmaps tab, you can add an AO map to create shadows or a lightmap to create highlights. For the maps, you can use a .jpg in 1024×1024 resolution. Use the intensity to change how strong the maps are shown.

Both maps can use the second UV set for repeating textures. For a full explanation about this go to Textures and UV’s

 

Emissive:

Does not work with MeshPhysicalMaterialExt and MeshPhongMaterialExt in Expivi at this moment. You can use a different material type to use this function e.g. MeshStandardMaterial. 

Use emissive to have the material radiate light. Choose a colour to radiate a certain colour. You can use a map to set emissive properties.  

 

Render:

In this tab, you can change the render settings. In Shading, you can change between a smooth shade and flat shading. The normal side determines from which side of the polygons are rendered. DoubleSide will render all polygons no matter the normal orientation. But lighting will not be double-sided, you will still be able to spot incorrect normals. A good use-case is for leaves to reduce polygon count.

Select wireframe to only render the wireframe. The line width dictates the thickness of the wireframe lines.