void SetLightmapSettings() { for (int i = 0; i < LightmapSettings.lightmaps.Length; i++) { if (LightmapSettings.lightmaps[i].lightmapFar != null) { Resources.UnloadAsset(LightmapSettings.lightmaps[i].lightmapFar); } if (LightmapSettings.lightmaps[i].lightmapNear != null) { Resources.UnloadAsset(LightmapSettings.lightmaps[i].lightmapNear); } } rd = new LightmapData[lightmaps.Length]; for (int i = 0; i < lightmaps.Length; i++) { rd[i] = new LightmapData(); rd[i].lightmapFar = lightmaps[i]; } LightmapSettings.lightmaps = rd; LightmapSettings.lightProbes = lightProbes; if (!setOriginalLightmapsOnDestroy) { previousLightmapSettings = this; } }
void OnDestroy() { if (setOriginalLightmapsOnDestroy && previousLightmapSettings != null) { previousLightmapSettings.SetLightmapSettings(); previousLightmapSettings = null; } }