Quake-style fullbright colors
- Edited
AlevamLtd If I do need to use emission maps, will I be able to apply emission maps to texture tiles on level geometry as well?
No reason not to be able to. Level geometry is just meshes. Apply Godot's standard material to them, map the emission property and that's it. You don't even need a custom shader unless you want to render the emission in an unusual way.
If you want to mimic the fullbright "logic" more closely, instead of a RGB emission map you can use only a single channel (grayscale) mask. In that case you'll need a custom shader with light function that reads the mask texture and sets the diffuse illumination to full brightness for masked-in pixels. Then those pixels will never be darkened. They'll always just render out as they are in the albedo texture, effectively acting as Quake's fullbright colors. The only difference is that you mask-in actual texture pixels instead of specific color entries in the palette, i.e. you can make arbitrary texture parts fullbright, regardless of their color. This is obviously better than being limited to specific colors.
- Edited
AlevamLtd You can do it in the exact same fashion just need to adjust the texture intensity because Godot's renderer and Blender's renderer may calculate things differently as former is a realtime renderer and latter is not.
Godot's standard material has the emission intensity multiplier property. So try to play with it to get the similar looking results. You also may want to disable environment/ambient illumination when tuning things.
- Edited
AlevamLtd They likely pipe the textures to emission channel. Might be further enhanced with some clever color management and LUTs.
Mind, in case of your spider here, the eyes are clearly meant to be emission but you can mix multiple textures cleverly via shaders/graph. you can also instead go with emission for the eyes and albedo for the rest, then use prebaked light maps to influence the albedo too. Skip using directional lights and rely more on lightmaps and ambient lighting...
Okay, after asking around elsewhere I finally found a method that works best
- I create a second StandardMaterial pass
- Set the transparency mode to Alpha-Scissor
- Set the shading mode to Unshaded
- For the Albedo texture, I create a version of the base texture where only the fullbright pixels are visible