MultiTexture
Multi-Texture describes the blending of multiple textures on the same surface.
Contents
Texture Splatting
Texture splatting is a method for blending multiple textures together on the same mesh, by painting a mask between them. Often Vertex Color is used to control the blending because vertex color is fairly cheap. Or a bitmap can be used (splat map) because it gives more control and avoids the gradient artifacts of vertex blending.
Blending textures in Unreal. See Unreal Engine 4 - Painting Landscape Materials.
Using a blend mask texture. See UDN - Three - Terrain Advanced Textures.
- Unreal Engine 4 - Painting Landscape Materials
- UDN - Three - Terrain Advanced Textures by Epic Games. Multiple methods for multitexturing terrain in the Unreal 3 Engine.
- texturing a race track thread on Polycount. Texturing ideas for race track pavement.
- Multitexturing and decals? thread on Polycount. Multitexturing methods explained.
- Dark Sector multitexturing by Mario 'Strangefate' Vazquez, Polycount thread here, some explanations here. Using vertex blending to multitexture gritty urban scenes.
Modulation Blending
This method adds sharp details to the blend area, by mixing vertex color (for the larger blend) with grayscale textures (for the sharp detail blend). These grayscale maps are either stored in the alpha channel of each layer's normal map, or multiple maps can be channel packed into a single map. Usually the shader has a control for how sharp the transition will be, and sometimes you can use a vertex color or bitmap to control the sharpness.
Vertex painting in Unreal. Image by Tor 'Snefer' Frick.
- Witcher 3 Blood and Wine architectural material uses vertex color to blend between textures in an array.
- Vertex Painting in UDK - Eat 3D Video tutorial by Tor 'Snefer' Frick showing how to setup a material using vertex paint and a blend mask in Unreal.
- Vertex blend shader for Unity shader and Youtube video by Sindre 'Fingus 'Opsahl Skaare
- Advanced Terrain Texture Splatting by Andrey Mishkinis
- An exercise in modular textures - Scifi lab UDK - by Tor 'Snefer' Frick, an exercise in extreme texture atlasing, packing multiple maps into the four channels of a texture file.
- The Desert(What can you do with no diffuse maps?) Polycount forum thread. Vertex blending using multiple modulation textures, in UDK. See also Ditching Diffuse Maps: A foray into artistic reasoning and technical details behind "procedural" texturing, with practical examples on today's tech by Andrew 'd1ver' Maximov.
- UDK - snow on top of rocks shader ideas, via the Epic Games Forums.
- Tutorial - Gradient Mapping & UDK Polycount forum thread. Using gradients to control colors in an image or as a postprocess.
- The Snow and Ice of Uncharted2? Polycount forum thread. Vertex blending using a modulation texture. Test shaders for UDK (1, 2, 3, 4, 5 (snow)). Behrooz Roozbeh from Naughty Dog explains how they did it over here on ZBrushCentral.
- UDN - Three - Landscape Materials by Epic Games. UDK's Landscape system uses painted weightmaps for terrain multitexturing. The weightmaps are one pixel per vertex, but you can also enable modulate textures using a Landscape Layer Blend node with the "LB_!HeightBlend" option.
- UT3: Vertex color blending variation by Chris Albeluhn. Creating advanced vertex blending materials in UDK using vertex color and modulation masks. See also UDK Advanced Vertex Painting.
- Advanced Mesh Paint with UDK ($) at 3DMotive by Ryan James Smith. Creating advanced vertex blending materials in UDK using vertex color and a modulation mask.
- $blendmodulatetexture at the Valve Developer Community wiki. How to use a modulation texture in Source.
- Custom Blend Materials in Source at forums.tf2maps.net by Cynick. Creating advanced vertex blending materials in Source using vertex color and a modulation mask.
Variation Blending
Methods for adding variation across a tiling texture.
Adding variation to repeating textures. Image by Chris Albeluhn.
Using a normal map to add lighting variation. Image by Scott Homer from Vertex 2.
- STAGE Street Fighter 2, Bath House, JordanW - Polycount Forum]
- Chris Albeluhn - UT3 - Adding variation to a repeating texture pattern
- Chris Albeluhn - UT3 - Adding Brick Variation
- Chris Albeluhn - UDK - Mesh Position Offset the Materials Texture
Trim Sheets
Trim sheet is a few textures packed into one bitmap. Often the textures tile horizontally or vertically, however there's no requirement for anything to tile. Trim sheets often use channel packing.
- Modular_environments has tutorials for generating trim sheets.
- 4-Part Video Tutorial Series on Making Trim Sheets by Tim 'PixelMasher' Simpson.
- Part 1 - https://youtu.be/DipfrjCgYW8
- Part 2 - https://youtu.be/Tspveb9bjYA
- Part 3 - https://youtu.be/CarefswACgs
- Part 4 - https://youtu.be/VEHsZniXguY
- https://www.gdcvault.com/play/1022324/The-Ultimate-Trim-Texturing-Techniques The Ultimate Trim
- texturing techniques of Sunset Overdrive by Morten Olsen, Principal Environment Artist, Insomniac Games, at GDC 2015.
- The "ultimate trim" technique from Sunset Overdrive Polycount Forum thread.
- CRYENGINE 3 Manual: Using Decals for Destroyed Structures
Blending Operations
When blending textures together, usually the surface's color (source) is combined with the background color (destination) in a linear way. This is similar to the "Normal" blending mode in Photoshop. However there are many other blending methods available... Add, Multiply, Overlay, etc.
Blends | Unreal Engine Documentation replicate common Photoshop methods.
Alpha Blend - Source/Destination matrix commonly available shader blending modes.
Insight into Photoshop 7.0 Blending Modes the math behind many of them.
Megatexture
id Software's Megatexture tech uses Decals and multitexturing to create their terrain textures, which are then baked down in a preprocessing step into a huge texture sheet, that's dynamically loaded as you play the game. So it's not really multitexturing in the end, blending in real-time, instead it's a single colormap baked from a multitextured source. The Splash Damage wiki has an article about generating Megatextures for ETQW.
Megatexture in Rage, before decals and multitexturing. Image by id Software.
Megatexture in Rage, after baking in the decals and texture layers. Image by id Software.