Skip to content

Instantly share code, notes, and snippets.

@kurozael
Created December 26, 2019 13:31
Show Gist options
  • Save kurozael/81b00160f560ded176ba4224d0b5ddd5 to your computer and use it in GitHub Desktop.
Save kurozael/81b00160f560ded176ba4224d0b5ddd5 to your computer and use it in GitHub Desktop.
Disabling lights for a specific camera in Unity
public class MiniMapRenderer : MonoBehaviour
{
private Dictionary<int, bool> _lightMap;
private Light[] _lights;
public Light miniMapLight;
private void OnPreCull()
{
_lightMap.Clear();
_lights = FindObjectsOfType<Light>();
for (var i = 0; i < _lights.Length; i++)
{
var light = _lights[i];
if (light != miniMapLight)
{
_lightMap[i] = light.enabled;
light.enabled = false;
}
}
miniMapLight.enabled = true;
}
private void OnPostRender()
{
for (var i = 0; i < _lights.Length; i++)
{
var light = _lights[i];
if (light != miniMapLight)
{
light.enabled = _lightMap[i];
}
}
miniMapLight.enabled = false;
}
private void Awake()
{
_lightMap = new Dictionary<int, bool>();
_lights = new Light[0];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment