API

Magic Lightmap Switcher provides a simple set of APIs for controlling scene lighting at runtime.

Switching/Blending

The RuntimeAPI class contains methods for switching and blending lightmaps. Each scene must have its own instance of this class.

BlendLightmapsCyclic()

Call RuntimeAPI.BlendLightmapsCyclic() to start blending lightmaps cyclic in real time. This triggers a sequential transition between all lightmaps in the Lighting Scenario from the first to the last and then jumps back to the first.

Parameter

Description

float cycleLength

Cycle time in seconds.

StoredLightingScenario scenario

The Lighting Scenario used for blending.

Below is an example of a simple method call that starts the cyclic blending of lightmaps.

public class CallLightmapBlending : MonoBehaviour
{
    public StoredLightingScenario lightingScenario;
    public float blendingLength;

    private RuntimeAPI runtimeAPI;

    void Start()
    {
        runtimeAPI = new RuntimeAPI();
    }

    void Update()
    {
        runtimeAPI.BlendLightmapsCyclic(blendingLength, lightingScenario);
    }
}

BlendLightmapsPingPong()

This method blend lightmaps in Lighting Scenario in a ping-pong style, i.e. from first to last and in reverse order. The parameters and calling code are exactly the same as those for BlendLightmapsCyclic().

SwitchLightmap()

To instantly switch lightmaps to a specific index in a scenario, call the RuntimeAPI.SwitchLightmap() method.

Parameter

Description

int lightmapIndex

The index of the lightmap in the blend queue of the scenario to switch to.

StoredLightingScenario scenario

The Lighting Scenario used for blending.

In the example below, the method is called on the OnTriggerEnter() event.

Last updated