Overview:​

This plugin can be attached to almost any Atom (Exception: Person) that has a Mesh and make it glow by swapping the shader with an Emissive one.
This plugin only works when Glow is enabled in the Preferences! (And it works even better with PostProcessing plugins such as MacGruber's.)

Glowtime 01.jpg

Usage:​

Most of the time, adding the plugin and then selecting the intensity and colour should be enough. If an atom has several parts, e.g., for a CUA, those can be added/removed from the mesh list in the UI. Initially, the plugin simply adds all meshes it can find (greedy strategy).
You can add this plugin several times, each taking care of different meshes (e.g. in the demo scene, the blue and green parts of the staff).
When the glow intensity is zero, or the plugin is disabled, the shaders are restored to the original ones. Due to the nature of the Emissive Shader, there is a sudden jump in appearance, even from intensity 0 to 0.01 (as the lighting calculations are very differen). There is nothing I can do about that :-(

The "Glow Colour" setting determines the emissive and glow colour, while the "Offset Colour" is added to the base colour of the mesh. Just experiment with those to find out what works best for your scene.

Theoretically, you should also be able to select from several versions of Emissive/Glow Shaders, but for some reason that still eludes me, there is only one choice that the script can actually find. I mean, it works, but I am genuinely puzzled.
Geek Alert: For those of you brave and/or experienced enough, please dive into my source code, check out the function ScanForShaders with that massive list of shader names in it that all have the name "Glow" in them in and are definitely in the VaM_Data/StreamingAssets/z_sha file, but for some reason not available via Shader.Find(...). I know that Unity does shader variant stripping when building a program, but when analysing, e.g., the CyberpunkLight, it definitely uses one of those unavailable versions. and I don't know why... *headbangingagainstkeyboard*
Top Bottom