Using Indirect Multipliers To Balance Lighting Costs And Results

One aspect that becomes more important as lighting is optimised, is the Indirect Multiplier options on each light.

Today’s Objective: Look into how the Indirect Multiplier option on lights can be used to improve and increase the effects of performance-balanced lighting.

More Light, Less Lights:

When your aim is to optimize your lighting to be more performant, minimising the number of lights is an easy solution. But that can easily mean your scene is not as lit up as you would like anymore.

But wait! There is a solution!

All lights in Unity have an option called the Indirect Multiplier. This option, while visible on all types of lights, is only functional on Baked and Mixed lights. Using it, you can increase the indirect lighting strength of your scene lights, without increasing the number of lights in your scene.

The above scene only contains 1 light, which is the Directional light acting as the sun through the window. Everything outside of where the sun shines is lit by the indirect light cast from where the sunlight hits.

In fact, this is its indirect lighting at 10% strength, since I want a dim scene.

At default intensity, the room looks like this:

If you look closely in either image, you may be able to see that the left side of the ceiling has a more red tint, while the right is more white.

This is because of the carpet on the floor and the couch, which have their colors reflected when hit by the sunlight.

Indirect lighting can be used with any light that saved baked lighting data (Mixed or Baked modes), so even Point Lights, Spot Lights, and Area Lights can use it.

Now you should be able to better light your scene without overusing unnecessary Light objects, causing reduced performance on some devices.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Vincent Taylor

Vincent Taylor

Unity game developer / C# Programmer / Gamer. Australian (Tasmanian) indie games developer for 10+ years. Currently looking for games industry employment.