Modular design (or modularity) is an approach used to design various products or applications – by breaking it down into separate or independent parts. Basically using as few "building blocks" as possible to make up your scene in this case.
"Modular means pieces are made to fit together according to a common pattern, so just a few pieces can be reused multiple times to create a bunch of variety. " - wiki.polycount.com
Pro - Reusable
Con - Repetitive (same textures, architecture)
"..players are bound to notice the same rock or farmhouse or tapestry used again and again. And another two dozen times after. Art fatigue sets in where this repetition becomes obvious and erodes the authenticity of the world. " - Joel Burgess
Examples:
Example of some modular pipes, a couple separate objects that can come together to create different structures of pipes.
Picture taken from Joel Burgess's blog on "Skyrim's Modular Level Design"
Examples of repetitiveness - the clutter and architecture are repeated in separate Oblivion dungeons and is very obvious to the player's eyes.
Pictures taken from Joel Burgess's blog on "Skyrim's Modular Level Design"
A trimming tutorial, link provided by tutor Chris Pearce.
"The Texel Density tool allows you to quickly scale the size of UV islands or individual polygons such that they span roughly the same number of texture pixels per meter of real size. (A UV island is a connected group of polygons in a UV map.) " - learn.foundry.com
It allows for specification of of the resolution of the texture that we are using, which allows the texel density to be appropriately calculated for different texture but still be consistent.
Example - a texel density of 512 pixels per meter would need a 1 meter real size to span 2 UV units for a 256 x 256 texture, but only 1/2 UV units for a 1024 x 1024 texture.
Here is the "Tools" part of the UV Toolkit in Maya 2020, we can see the texel density at the bottom. It allows us not only to set a custom texel density - but we can also use it to take the settings from an object and apply it to another by using "Get" on the object desired, to see what kind of density it has, then apply a custom one by writing in the desired number (5.12, 2k) and applying it with "Set".
UE4 Naming Conventions:
SM_ = Static Mesh
BP = Blueprint
T_ = texture
M_ = Material
For materials
Prefix_BaseName_Variant_Suffix
Example = M_Guitar_Body_01 *
M_Rock_01
01 - iteration of different colours, could also be for different texture usage. N - normal map, C - ColourMap etc.
Difference between "Material" and "Texture"
Material is built up of different texture maps (Normal/Albedo, Roughness, Metallic etc)
Texture -
There is no right or wrong way to create textures for your models!
Base colour: Overall flat colour of the material
Metallic: level of "metalness" - 0 = non-metal, 1= metallic
Specular: Scales specular for nonmetallic surfaces
Roughness: smooth or roughness level - 0 = smooth, 1 = rough
Emissive: applies a glow effect
Opacity: controls the opacity
Normal: allows normal maps inputs for detail (distortion or disturbance in the material)
World position offset: vertex animation/surface disruption
Ambient occlusion: inputs for self-sehadowing and cavaties
Master Material
A look into Substance Painter
As I was having trouble understanding Substance - I searched Youtube and other sites for some help and found this video. It helps explain and understand how Substance and different elements of the software works and made me realise that baking the mesh with a smart texture on it is how you get it to "work" properly.
Resources and references:
"Unreal: Introduction to Materials" by Craig Barr on LinkedIn Learning - 29.08.2017
"Unreal: Introduction to Lighting" by Craig Barr on LinkedIn Learning - 05.09.2017
"Unreal Essential Training (2019)" by Simon Manning on LinkedIn Learning - 10.12.2019
"Substance Painter for Beginners Tutorial" by JL Mussi on YouTube - 23.09.2019
"Modular Environments" by wiki.polycount - 29.12.2020
"Skyrim's Modular Level Design" by Joel Burgess, 2013
"Creating and Using Master Materials" by Unreal Engine