RGBA/Channel-Packed Textures + Multi-Tint Support
Nyka Rain
I’d love to see support for channel-packed textures in the importer so multiple maps can be combined into one file, along with a multi-tint system available in the object edit window and avatar appearance editor. I hope it's okay to put two suggestions in one (never posted on this feedback thing before), since I sort of hope for them to work in tandem.
RGBA Channel-Packed Textures:
Allow the texture importer to pack maps (e.g., normal, emissive, ambient occlusion, etc. - or - channel information to specify "tinting zones") into the Red, Green, Blue, and Alpha channels of a single image.
Multi-Tint Support:
Add the ability to apply up to three color tints (based on the packed RGB channel information) within the object edit window and avatar appearance editor.
Packing maps into a single texture reduces uploads and texture bloat, which improves performance for everyone. Multi-tinting would make it easy to offer better customization options directly in-world without needing as many separate textures; giving both creators and users more creative flexibility with less complexity.
Log In
Rheia Silvercloud
It should be noted that current PBR textures make use of channel-packed textures, as per the Khronos glTF specifications. The red channel handles the Ambient Occlusion map, the Green channel the Roughness map, and the Blue channel the Metallic. Thus, with a PBR texture, you're getting the following - a Base Color with any Alpha channel, a channel-packed ORM map handling AO, Roughness, and Metallic, an Emissive map, and a normal map. The emissive map isn't sent if blank or no emission is present for the Material.
The use of a multi-tint system would require a fifth texture handling tint maps (a system used in Warframe and other games), with their position in the channels determining the choice of tints to be used in a given location (overlaps are blended together). The other option would be to use a single grayscale texture with clearly defined gray levels determining the masking in use (such a 25%, 50%, 75%, 100%), which could logically be channel-packed to allow as many as 12 tints, though I am not sure how this would be coded or how blending would be achieved at the shader level.