

This has the advantage of not only being efficient for our project but also efficient for the GPU with regards to performance. It also means that individual base Materials aren't required for every object in the scene. This means that we can control properties for simple values or swap what types of textures are being used for a material. Consider the difference between the reflection of mirrored chrome compared to brushed aluminum.įor a project where a lot of the objects you'll create use similar materials that have similar properties, it can be advantageous to create a master material that exposes these as parameters and values you can set in child instances called a Material Instance.įor the majority of objects in this scene, similar properties are used that have been parameterized for creation of simple variations of the master material or of an existing Material Instance. Lower values produce a smoother surface where higher values add more roughness. It applies the effect of "microfaceting" across the surface. This controls the diffusion of the specular reflection. This child instance, or Material Instance, enables exposed values to be changed and overridden to create any number of variations of its parent material.īelow are some examples of exposed properties that can be adjusted: This relationship enables us to have a "master" material that has many controllable parameters that adjust different properties or values in the material by passing them effortlessly to a child instance where they can be changed and overridden.

To better achieve consistency and accuracy, the materials make use of a hierarchical parent-child relationship. It's important that many materials look and react to lighting in a realistic way, especially within this sample project. It also means that these types of materials work equally well in all lighting environments while having values that are less complex and interdependent. The end result is more accurate and typically more natural looking. This makes it possible to approximate what light actually does as opposed to approximating what we think it should do. Unreal Engine makes use of a physically based materials system. For this reason, it's recommended that you read the Materials documentation to learn more about the concepts and features discussed in this section. This sample's documentation covers a high-level view of some of the Unreal Engine's Material features.
