Unity3D动态替换Lightmap

写在前面

最近项目上有个需求,在场景里面需要做一个动态替换lightmap。主要需求是针对场景实现白天和夜晚的灯光效果。

在场景没有变化的时候,我们可以直接替换场景的lightmap即可。

    public void SetLightMap(Texture2D lightmapTex){
        if (lightmapTex == null)
        {
            return;
        }
        LightmapData[] lightmapData = LightmapSettings.lightmaps;
        LightmapData lmd = new LightmapData();
        lmd.lightmapFar = lightmapTex;
        lightmapData[0] = lmd;
        LightmapSettings.lightmaps = lightmapData;
    }

你可能感兴趣的:(Unity3D动态替换Lightmap)