Texture Channel Packer
The Texture Channel Packer combines up to four greyscale maps — typically Metallic / AO / Smoothness / Height — into a single RGBA texture. Packing reduces texture samplers per pixel, improves cache coherence, and matches the layout Genesis expects on its _MaskMap slot. The packer handles color-space conversions so you do not double-gamma your data.
When to use it
- Optimization pass — pack mask data to reduce sampler count from four to one.
- Adopting Genesis —
_MaskMapexpects R=Metallic, G=AO, B=Smoothness, A=Height. Convert from any other layout. - Mobile builds — packed textures compress better and lower bandwidth.
Opening the tool
Window → Genesis → Texture Channel Packer.
Workflow
- Assign source textures to the R, G, B, and A slots. Each slot accepts a
Texture2D, an asset path, or a constant value (0.0–1.0). - Choose the source channel per slot. If a source map is 3-channel RGB, pick which channel to extract (defaults to R).
- Pick the output color space. Linear for mask data; sRGB only if a slot represents a color (uncommon for packs).
- Choose resolution and compression. Match the highest source resolution; pick BC7 for desktop or ASTC 6×6 for mobile.
- Pack. Output is written to your chosen path. If a Genesis material is selected, the packer offers to auto-assign the result to
_MaskMap.
Settings
Tips & gotchas
- Genesis convention is R=Metallic, G=AO, B=Smoothness, A=Height. The packer’s default preset matches this.
- If your source uses roughness and Genesis expects smoothness, enable Invert B to flip it during pack.
- Source mip maps are read at mip 0 to avoid pre-filtering artifacts.
Do not pack a height map into a channel another shader interprets as AO — height ranges 0–1 across the mesh, AO usually clusters near 1. Mixing them produces incorrect shading.
Related
Last updated on