Material Basics
- Textures Sampler Source: Shared allows the use of more than 16 texture samplers.
- Texture Objects - Stores a reference to a texture but does not actually sample it.
- Texture Sampler: Gets a references to a texture and samples it based on UV coordinates.
- Const Coordinate - Same as setting the Coordinate Index on a Texture Coordinate node.
- Sampler Type - Differs depending on the texture compression type. Usually set automatically but can be overwritten.
- Fully Rough - Ignores roughness property and sets it to be always rough. Optimizes the number of instructions and sampler count.
- Normal Curvature to Roughness - Good for metallic & clear coat materials. Reduces roughness based on screen space normal changes.
- IsSky - Meshes with a material that has this enabled will not receive any skylight contribution. Height & Volumetric fog will remain.
- SSR - Enables SSR on a per material basis.
- Contact Shadows - Allows for contact shadows on translucent objects.
- Compute Fog Per Pixel - Reducing artefacting on material surfaces that intersect with fog elements. A bit more expensive.
- Render After DOF - Allows for translucency to be rendered in a separate pass. Requires Separate Translucency Enabled in project Settings.
- Tessellation Mode - Two different methods of calculating tessellation.
- Flat Tessellation - Splits up the triangles but doesn’t do anything else to it.
- PN Triangles - Splits & smooths the objects. Objects in question required smoothing groups.
1. Common Nodes
- 3 Vector - 3 channel node without alpha.
- 4 Vector - 3 channel node with a separate alpha channel.
- Lerp - Linear Interpolate used for blending two inputs by an alpha.
- Divide - When applied to numbers divides them. When applied to textures Darkens them.
- Add - When applied to numbers adds them. When applied to textures Lightens them. Adding a value to a texture coordinate node has the ability to shift the uv’s in x or y.
- Multiple - When applied to numbers multiplies them. When applied to textures Multiplies them.
- SetMaterialAttributes - Similar to MakeMaterialAttrs but it lets you choose specific attrs.
- WorldAlignedTexture - Projects textures in WorldSpace rather than relying on UV’s
- Static Bool - Good to hide/show features from material instances
- Flatten Normal - Flattens a normal input
2. Material Basics
Textures Sampler Source: Shared allows the use of more than 16 texture samplers.
Texture Objects - Stores a reference to a texture but does not actually sample it.
Texture Sampler: Gets a references to a texture and samples it based on UV coordinates.
Const Coordinate - Same as setting the Coordinate Index on a Texture Coordinate node.
Sampler Type - Differs depending on the texture compression type. Usually set automatically but can be overwritten.
Fully Rough - Ignores roughness property and sets it to be always rough. Optimizes the number of instructions and sampler count.
Normal Curvature to Roughness - Good for metallic & clear coat materials. Reduces roughness based on screen space normal changes.
IsSky - Meshes with a material that has this enabled will not receive any skylight contribution. Height & Volumetric fog will remain.
SSR - Enables SSR on a per material basis.
Contact Shadows - Allows for contact shadows on translucent objects.
Compute Fog Per Pixel - Reducing artefacting on material surfaces that intersect with fog elements. A bit more expensive.
Render After DOF - Allows for translucency to be rendered in a separate pass. Requires Separate Translucency Enabled in project Settings.
Tessellation Mode - Two different methods of calculating tessellation.
Flat Tessellation - Splits up the triangles but doesn’t do anything else to it.
PN Triangles - Splits & smooths the objects. Objects in question required smoothing groups.
3. Material Types
Default Lit Translucent Unlit Masked TwoSided Foliage Thin Translucency Single Layer Water
4. Organizing your Material Graphs
Write an interview guide in our Docs database so that anyone conducting interviews knows how to drive the conversation with users.
- Use sort priorities
- Break large common tasks into material functions
- Comment your graph node
- Colour code your comments
- Use the reroute nodes
- Use material parameter collections
- Use separators