#define USE_TERRAINS using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; #if UNITY_EDITOR using UnityEditor; #endif [ExecuteInEditMode] public class ftLightmapsStorage : MonoBehaviour{ #if UNITY_EDITOR [System.Serializable] public class LightData { public Matrix4x4 tform; public Color color; public float intensity, range, radius; public int samples, samples2; public int bitmask; public bool bakeToIndirect; public bool selfShadow = false; public bool realisticFalloff = false; public int projMode; public Object cookie; public float angle = 30.0f; public int UID; } public class ImplicitLightmapData { public Dictionary implicitGroupMap = null; } // Saved render settings public int renderSettingsBounces = 5; public int renderSettingsGISamples = 16; public float renderSettingsGIBackFaceWeight = 0; public int renderSettingsTileSize = 512; public float renderSettingsPriority = 2; public float renderSettingsTexelsPerUnit = 20; public bool renderSettingsForceRefresh = true; public bool renderSettingsForceRebuildGeometry = true; public bool renderSettingsPerformRendering = true; public int renderSettingsUserRenderMode = 0; public bool renderSettingsDistanceShadowmask = false; public int renderSettingsSettingsMode = 0; public bool renderSettingsFixSeams = true; public bool renderSettingsDenoise = true; public bool renderSettingsDenoise2x = false; public bool renderSettingsEncode = true; public int renderSettingsEncodeMode = 0; public bool renderSettingsOverwriteWarning = false; public bool renderSettingsAutoAtlas = true; public bool renderSettingsUnwrapUVs = true; public bool renderSettingsForceDisableUnwrapUVs = false; public int renderSettingsMaxAutoResolution = 4096; public int renderSettingsMinAutoResolution = 16; public bool renderSettingsUnloadScenes = true; public bool renderSettingsAdjustSamples = true; public int renderSettingsGILODMode = 2; public bool renderSettingsGILODModeEnabled = false; public bool renderSettingsCheckOverlaps = false; public bool renderSettingsSkipOutOfBoundsUVs = true; public float renderSettingsHackEmissiveBoost = 1; public float renderSettingsHackIndirectBoost = 1; public string renderSettingsTempPath = ""; public string renderSettingsOutPath = ""; public bool renderSettingsUseScenePath = false; public float renderSettingsHackAOIntensity = 0; public int renderSettingsHackAOSamples = 16; public float renderSettingsHackAORadius = 1; public bool renderSettingsShowAOSettings = false; public bool renderSettingsShowTasks = true; public bool renderSettingsShowTasks2 = false; public bool renderSettingsShowPaths = true; public bool renderSettingsShowNet = true; public bool renderSettingsOcclusionProbes = false; public bool renderSettingsTexelsPerMap = false; public float renderSettingsTexelsColor = 1; public float renderSettingsTexelsMask = 1; public float renderSettingsTexelsDir = 1; public bool renderSettingsShowDirWarning = true; public int renderSettingsRenderDirMode = 0; public bool renderSettingsShowCheckerSettings = false; public bool renderSettingsSamplesWarning = true; public bool renderSettingsSuppressPopups = false; public bool renderSettingsPrefabWarning = true; public bool renderSettingsSplitByScene = false; public bool renderSettingsSplitByTag = false; public bool renderSettingsUVPaddingMax = false; public bool renderSettingsPostPacking = true; public bool renderSettingsHoleFilling = false; public bool renderSettingsBeepOnFinish = false; public bool renderSettingsExportTerrainAsHeightmap = true; public bool renderSettingsRTXMode = false; public int renderSettingsLightProbeMode = 1; public bool renderSettingsClientMode = false; public string renderSettingsServerAddress = "127.0.0.1"; public int renderSettingsUnwrapper = 0; public int renderSettingsDenoiserType = (int)ftGlobalStorage.DenoiserType.OpenImageDenoise; public bool renderSettingsExportTerrainTrees = false; public bool renderSettingsShowPerf = true; public int renderSettingsSampleDiv = 1; public ftGlobalStorage.AtlasPacker renderSettingsAtlasPacker = ftGlobalStorage.AtlasPacker.xatlas; public bool renderSettingsBatchPoints = true; public bool renderSettingsCompressVolumes = false; public UnityEngine.Object renderSettingsSector = null; public bool renderSettingsRTPVExport = true; public bool renderSettingsRTPVSceneView = false; public bool renderSettingsRTPVHDR = false; public int renderSettingsRTPVWidth = 640; public int renderSettingsRTPVHeight = 360; public int lastBakeTime = 0; public bool enlightenWarningShown = false; public bool enlightenWarningShown2 = false; // Light settings from the last bake public List uniqueLights = new List(); public List lights = new List(); public Dictionary lightsDict; // List of implicit groups //public List implicitGroups = new List(); public List implicitGroups = new List(); public List implicitGroupedObjects; //public List previouslyBakedGroups = new List(); // List of baked lightmap world-space bounds public List bounds = new List(); // Per-lightmap flags public List hasEmissive = new List(); //public float[][] uvSrc; //public float[][] uvDest; //public int[][] lmrIndices; public int[] uvBuffOffsets; public int[] uvBuffLengths; public float[] uvSrcBuff; public float[] uvDestBuff; public int[] lmrIndicesOffsets; public int[] lmrIndicesLengths; public int[] lmrIndicesBuff; public int[] lmGroupLODResFlags; // bits which lods are needed for which LMGroups public int[] lmGroupMinLOD; // minimum possible resolution for given LMGroup given UV island count public int[] lmGroupLODMatrix; // Reuired for network bakes public List serverGetFileList = new List(); public List lightmapHasColor = new List(); public List lightmapHasMask = new List(); public List lightmapHasDir = new List(); public List lightmapHasRNM = new List(); // Partial copy of GlobalStorage to recover UV padding if needed public List modifiedAssetPathList = new List(); public List modifiedAssets = new List(); //public Texture2D debugTex; //public RenderTexture debugRT; public void Init(bool forceRefresh) { lightsDict = new Dictionary(); if (uniqueLights == null) uniqueLights = new List(); if (lights == null || uniqueLights == null) { forceRefresh = true; } else if (lights.Count != uniqueLights.Count) { forceRefresh = true; } if (forceRefresh) { lights = new List(); uniqueLights = new List(); } else { for(int i=0; i(); if (lights == null) lights = new List(); light.UID = uniqueLights.Count + 1; uniqueLights.Add(u); lights.Add(light); lightsDict[u] = light; } public static void CopySettings(ftLightmapsStorage src, ftLightmapsStorage dest) { dest.renderSettingsBounces = src.renderSettingsBounces; dest.renderSettingsGISamples = src.renderSettingsGISamples; dest.renderSettingsGIBackFaceWeight = src.renderSettingsGIBackFaceWeight; dest.renderSettingsTileSize = src.renderSettingsTileSize; dest.renderSettingsPriority = src.renderSettingsPriority; dest.renderSettingsTexelsPerUnit = src.renderSettingsTexelsPerUnit; dest.renderSettingsForceRefresh = src.renderSettingsForceRefresh; dest.renderSettingsForceRebuildGeometry = src.renderSettingsForceRebuildGeometry; dest.renderSettingsPerformRendering = src.renderSettingsPerformRendering; dest.renderSettingsUserRenderMode = src.renderSettingsUserRenderMode; dest.renderSettingsDistanceShadowmask = src.renderSettingsDistanceShadowmask; dest.renderSettingsSettingsMode = src.renderSettingsSettingsMode; dest.renderSettingsFixSeams = src.renderSettingsFixSeams; dest.renderSettingsDenoise = src.renderSettingsDenoise; dest.renderSettingsDenoise2x = src.renderSettingsDenoise2x; dest.renderSettingsEncode = src.renderSettingsEncode; dest.renderSettingsEncodeMode = src.renderSettingsEncodeMode; dest.renderSettingsOverwriteWarning = src.renderSettingsOverwriteWarning; dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; dest.renderSettingsUnwrapUVs = src.renderSettingsUnwrapUVs; dest.renderSettingsForceDisableUnwrapUVs = src.renderSettingsForceDisableUnwrapUVs; dest.renderSettingsMaxAutoResolution = src.renderSettingsMaxAutoResolution; dest.renderSettingsMinAutoResolution = src.renderSettingsMinAutoResolution; dest.renderSettingsUnloadScenes = src.renderSettingsUnloadScenes; dest.renderSettingsAdjustSamples = src.renderSettingsAdjustSamples; dest.renderSettingsGILODMode = src.renderSettingsGILODMode; dest.renderSettingsGILODModeEnabled = src.renderSettingsGILODModeEnabled; dest.renderSettingsCheckOverlaps = src.renderSettingsCheckOverlaps; dest.renderSettingsSkipOutOfBoundsUVs = src.renderSettingsSkipOutOfBoundsUVs; dest.renderSettingsHackEmissiveBoost = src.renderSettingsHackEmissiveBoost; dest.renderSettingsHackIndirectBoost = src.renderSettingsHackIndirectBoost; dest.renderSettingsTempPath = src.renderSettingsTempPath; dest.renderSettingsOutPath = src.renderSettingsOutPath; dest.renderSettingsUseScenePath = src.renderSettingsUseScenePath; dest.renderSettingsHackAOIntensity = src.renderSettingsHackAOIntensity; dest.renderSettingsHackAOSamples = src.renderSettingsHackAOSamples; dest.renderSettingsHackAORadius = src.renderSettingsHackAORadius; dest.renderSettingsShowAOSettings = src.renderSettingsShowAOSettings; dest.renderSettingsShowTasks = src.renderSettingsShowTasks; dest.renderSettingsShowTasks2 = src.renderSettingsShowTasks2; dest.renderSettingsShowPaths = src.renderSettingsShowPaths; dest.renderSettingsShowNet = src.renderSettingsShowNet; dest.renderSettingsOcclusionProbes = src.renderSettingsOcclusionProbes; dest.renderSettingsTexelsPerMap = src.renderSettingsTexelsPerMap; dest.renderSettingsTexelsColor = src.renderSettingsTexelsColor; dest.renderSettingsTexelsMask = src.renderSettingsTexelsMask; dest.renderSettingsTexelsDir = src.renderSettingsTexelsDir; dest.renderSettingsShowDirWarning = src.renderSettingsShowDirWarning; dest.renderSettingsRenderDirMode = src.renderSettingsRenderDirMode; dest.renderSettingsShowCheckerSettings = src.renderSettingsShowCheckerSettings; dest.renderSettingsSamplesWarning = src.renderSettingsSamplesWarning; dest.renderSettingsSuppressPopups = src.renderSettingsSuppressPopups; dest.renderSettingsPrefabWarning = src.renderSettingsPrefabWarning; dest.renderSettingsSplitByScene = src.renderSettingsSplitByScene; dest.renderSettingsSplitByTag = src.renderSettingsSplitByTag; dest.renderSettingsUVPaddingMax = src.renderSettingsUVPaddingMax; dest.renderSettingsPostPacking = src.renderSettingsPostPacking; dest.renderSettingsHoleFilling = src.renderSettingsHoleFilling; dest.renderSettingsBeepOnFinish = src.renderSettingsBeepOnFinish; dest.renderSettingsExportTerrainAsHeightmap = src.renderSettingsExportTerrainAsHeightmap; dest.renderSettingsRTXMode = src.renderSettingsRTXMode; dest.renderSettingsLightProbeMode = src.renderSettingsLightProbeMode; dest.renderSettingsClientMode = src.renderSettingsClientMode; dest.renderSettingsServerAddress = src.renderSettingsServerAddress; dest.renderSettingsUnwrapper = src.renderSettingsUnwrapper; dest.renderSettingsDenoiserType = src.renderSettingsDenoiserType; dest.renderSettingsExportTerrainTrees = src.renderSettingsExportTerrainTrees; dest.renderSettingsSampleDiv = src.renderSettingsSampleDiv; dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; dest.renderSettingsBatchPoints = src.renderSettingsBatchPoints; dest.renderSettingsCompressVolumes = src.renderSettingsCompressVolumes; dest.renderSettingsRTPVExport = src.renderSettingsRTPVExport; dest.renderSettingsRTPVSceneView = src.renderSettingsRTPVSceneView; dest.renderSettingsRTPVHDR = src.renderSettingsRTPVHDR; dest.renderSettingsRTPVWidth = src.renderSettingsRTPVWidth; dest.renderSettingsRTPVHeight = src.renderSettingsRTPVHeight; dest.renderSettingsAtlasPacker = src.renderSettingsAtlasPacker; dest.renderSettingsShowPerf = src.renderSettingsShowPerf; } public static void CopySettings(ftLightmapsStorage src, ftGlobalStorage dest) { dest.renderSettingsBounces = src.renderSettingsBounces; dest.renderSettingsGISamples = src.renderSettingsGISamples; dest.renderSettingsGIBackFaceWeight = src.renderSettingsGIBackFaceWeight; dest.renderSettingsTileSize = src.renderSettingsTileSize; dest.renderSettingsPriority = src.renderSettingsPriority; dest.renderSettingsTexelsPerUnit = src.renderSettingsTexelsPerUnit; dest.renderSettingsForceRefresh = src.renderSettingsForceRefresh; dest.renderSettingsForceRebuildGeometry = src.renderSettingsForceRebuildGeometry; dest.renderSettingsPerformRendering = src.renderSettingsPerformRendering; dest.renderSettingsUserRenderMode = src.renderSettingsUserRenderMode; dest.renderSettingsDistanceShadowmask = src.renderSettingsDistanceShadowmask; dest.renderSettingsSettingsMode = src.renderSettingsSettingsMode; dest.renderSettingsFixSeams = src.renderSettingsFixSeams; dest.renderSettingsDenoise = src.renderSettingsDenoise; dest.renderSettingsDenoise2x = src.renderSettingsDenoise2x; dest.renderSettingsEncode = src.renderSettingsEncode; dest.renderSettingsEncodeMode = src.renderSettingsEncodeMode; dest.renderSettingsOverwriteWarning = src.renderSettingsOverwriteWarning; dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; dest.renderSettingsUnwrapUVs = src.renderSettingsUnwrapUVs; dest.renderSettingsForceDisableUnwrapUVs = src.renderSettingsForceDisableUnwrapUVs; dest.renderSettingsMaxAutoResolution = src.renderSettingsMaxAutoResolution; dest.renderSettingsMinAutoResolution = src.renderSettingsMinAutoResolution; dest.renderSettingsUnloadScenes = src.renderSettingsUnloadScenes; dest.renderSettingsAdjustSamples = src.renderSettingsAdjustSamples; dest.renderSettingsGILODMode = src.renderSettingsGILODMode; dest.renderSettingsGILODModeEnabled = src.renderSettingsGILODModeEnabled; dest.renderSettingsCheckOverlaps = src.renderSettingsCheckOverlaps; dest.renderSettingsSkipOutOfBoundsUVs = src.renderSettingsSkipOutOfBoundsUVs; dest.renderSettingsHackEmissiveBoost = src.renderSettingsHackEmissiveBoost; dest.renderSettingsHackIndirectBoost = src.renderSettingsHackIndirectBoost; dest.renderSettingsTempPath = src.renderSettingsTempPath; dest.renderSettingsOutPath = src.renderSettingsOutPath; dest.renderSettingsUseScenePath = src.renderSettingsUseScenePath; dest.renderSettingsHackAOIntensity = src.renderSettingsHackAOIntensity; dest.renderSettingsHackAOSamples = src.renderSettingsHackAOSamples; dest.renderSettingsHackAORadius = src.renderSettingsHackAORadius; dest.renderSettingsShowAOSettings = src.renderSettingsShowAOSettings; dest.renderSettingsShowTasks = src.renderSettingsShowTasks; dest.renderSettingsShowTasks2 = src.renderSettingsShowTasks2; dest.renderSettingsShowPaths = src.renderSettingsShowPaths; dest.renderSettingsShowNet = src.renderSettingsShowNet; dest.renderSettingsOcclusionProbes = src.renderSettingsOcclusionProbes; dest.renderSettingsTexelsPerMap = src.renderSettingsTexelsPerMap; dest.renderSettingsTexelsColor = src.renderSettingsTexelsColor; dest.renderSettingsTexelsMask = src.renderSettingsTexelsMask; dest.renderSettingsTexelsDir = src.renderSettingsTexelsDir; dest.renderSettingsShowDirWarning = src.renderSettingsShowDirWarning; dest.renderSettingsRenderDirMode = src.renderSettingsRenderDirMode; dest.renderSettingsShowCheckerSettings = src.renderSettingsShowCheckerSettings; dest.renderSettingsSamplesWarning = src.renderSettingsSamplesWarning; dest.renderSettingsSuppressPopups = src.renderSettingsSuppressPopups; dest.renderSettingsPrefabWarning = src.renderSettingsPrefabWarning; dest.renderSettingsSplitByScene = src.renderSettingsSplitByScene; dest.renderSettingsSplitByTag = src.renderSettingsSplitByTag; dest.renderSettingsUVPaddingMax = src.renderSettingsUVPaddingMax; dest.renderSettingsPostPacking = src.renderSettingsPostPacking; dest.renderSettingsHoleFilling = src.renderSettingsHoleFilling; dest.renderSettingsBeepOnFinish = src.renderSettingsBeepOnFinish; dest.renderSettingsExportTerrainAsHeightmap = src.renderSettingsExportTerrainAsHeightmap; dest.renderSettingsRTXMode = src.renderSettingsRTXMode; dest.renderSettingsLightProbeMode = src.renderSettingsLightProbeMode; dest.renderSettingsClientMode = src.renderSettingsClientMode; dest.renderSettingsServerAddress = src.renderSettingsServerAddress; dest.renderSettingsUnwrapper = src.renderSettingsUnwrapper; dest.renderSettingsDenoiserType = src.renderSettingsDenoiserType; dest.renderSettingsExportTerrainTrees = src.renderSettingsExportTerrainTrees; dest.renderSettingsShowPerf = src.renderSettingsShowPerf; dest.renderSettingsSampleDiv = src.renderSettingsSampleDiv; dest.renderSettingsBatchPoints = src.renderSettingsBatchPoints; dest.renderSettingsCompressVolumes = src.renderSettingsCompressVolumes; dest.renderSettingsRTPVExport = src.renderSettingsRTPVExport; dest.renderSettingsRTPVSceneView = src.renderSettingsRTPVSceneView; dest.renderSettingsRTPVHDR = src.renderSettingsRTPVHDR; dest.renderSettingsRTPVWidth = src.renderSettingsRTPVWidth; dest.renderSettingsRTPVHeight = src.renderSettingsRTPVHeight; dest.renderSettingsAtlasPacker = src.renderSettingsAtlasPacker; dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; } public static void CopySettings(ftGlobalStorage src, ftLightmapsStorage dest) { dest.renderSettingsBounces = src.renderSettingsBounces; dest.renderSettingsGISamples = src.renderSettingsGISamples; dest.renderSettingsGIBackFaceWeight = src.renderSettingsGIBackFaceWeight; dest.renderSettingsTileSize = src.renderSettingsTileSize; dest.renderSettingsPriority = src.renderSettingsPriority; dest.renderSettingsTexelsPerUnit = src.renderSettingsTexelsPerUnit; dest.renderSettingsForceRefresh = src.renderSettingsForceRefresh; dest.renderSettingsForceRebuildGeometry = src.renderSettingsForceRebuildGeometry; dest.renderSettingsPerformRendering = src.renderSettingsPerformRendering; dest.renderSettingsUserRenderMode = src.renderSettingsUserRenderMode; dest.renderSettingsDistanceShadowmask = src.renderSettingsDistanceShadowmask; dest.renderSettingsSettingsMode = src.renderSettingsSettingsMode; dest.renderSettingsFixSeams = src.renderSettingsFixSeams; dest.renderSettingsDenoise = src.renderSettingsDenoise; dest.renderSettingsDenoise2x = src.renderSettingsDenoise2x; dest.renderSettingsEncode = src.renderSettingsEncode; dest.renderSettingsEncodeMode = src.renderSettingsEncodeMode; dest.renderSettingsOverwriteWarning = src.renderSettingsOverwriteWarning; dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; dest.renderSettingsUnwrapUVs = src.renderSettingsUnwrapUVs; dest.renderSettingsForceDisableUnwrapUVs = src.renderSettingsForceDisableUnwrapUVs; dest.renderSettingsMaxAutoResolution = src.renderSettingsMaxAutoResolution; dest.renderSettingsMinAutoResolution = src.renderSettingsMinAutoResolution; dest.renderSettingsUnloadScenes = src.renderSettingsUnloadScenes; dest.renderSettingsAdjustSamples = src.renderSettingsAdjustSamples; dest.renderSettingsGILODMode = src.renderSettingsGILODMode; dest.renderSettingsGILODModeEnabled = src.renderSettingsGILODModeEnabled; dest.renderSettingsCheckOverlaps = src.renderSettingsCheckOverlaps; dest.renderSettingsSkipOutOfBoundsUVs = src.renderSettingsSkipOutOfBoundsUVs; dest.renderSettingsHackEmissiveBoost = src.renderSettingsHackEmissiveBoost; dest.renderSettingsHackIndirectBoost = src.renderSettingsHackIndirectBoost; dest.renderSettingsTempPath = src.renderSettingsTempPath; dest.renderSettingsOutPath = src.renderSettingsOutPath; dest.renderSettingsUseScenePath = src.renderSettingsUseScenePath; dest.renderSettingsHackAOIntensity = src.renderSettingsHackAOIntensity; dest.renderSettingsHackAOSamples = src.renderSettingsHackAOSamples; dest.renderSettingsHackAORadius = src.renderSettingsHackAORadius; dest.renderSettingsShowAOSettings = src.renderSettingsShowAOSettings; dest.renderSettingsShowTasks = src.renderSettingsShowTasks; dest.renderSettingsShowTasks2 = src.renderSettingsShowTasks2; dest.renderSettingsShowPaths = src.renderSettingsShowPaths; dest.renderSettingsShowNet = src.renderSettingsShowNet; dest.renderSettingsOcclusionProbes = src.renderSettingsOcclusionProbes; dest.renderSettingsTexelsPerMap = src.renderSettingsTexelsPerMap; dest.renderSettingsTexelsColor = src.renderSettingsTexelsColor; dest.renderSettingsTexelsMask = src.renderSettingsTexelsMask; dest.renderSettingsTexelsDir = src.renderSettingsTexelsDir; dest.renderSettingsShowDirWarning = src.renderSettingsShowDirWarning; dest.renderSettingsRenderDirMode = src.renderSettingsRenderDirMode; dest.renderSettingsShowCheckerSettings = src.renderSettingsShowCheckerSettings; dest.renderSettingsSamplesWarning = src.renderSettingsSamplesWarning; dest.renderSettingsSuppressPopups = src.renderSettingsSuppressPopups; dest.renderSettingsPrefabWarning = src.renderSettingsPrefabWarning; dest.renderSettingsSplitByScene = src.renderSettingsSplitByScene; dest.renderSettingsSplitByTag = src.renderSettingsSplitByTag; dest.renderSettingsUVPaddingMax = src.renderSettingsUVPaddingMax; dest.renderSettingsPostPacking = src.renderSettingsPostPacking; dest.renderSettingsHoleFilling = src.renderSettingsHoleFilling; dest.renderSettingsBeepOnFinish = src.renderSettingsBeepOnFinish; dest.renderSettingsExportTerrainAsHeightmap = src.renderSettingsExportTerrainAsHeightmap; dest.renderSettingsRTXMode = src.renderSettingsRTXMode; dest.renderSettingsLightProbeMode = src.renderSettingsLightProbeMode; dest.renderSettingsClientMode = src.renderSettingsClientMode; dest.renderSettingsServerAddress = src.renderSettingsServerAddress; dest.renderSettingsUnwrapper = src.renderSettingsUnwrapper; dest.renderSettingsDenoiserType = src.renderSettingsDenoiserType; dest.renderSettingsExportTerrainTrees = src.renderSettingsExportTerrainTrees; dest.renderSettingsShowPerf = src.renderSettingsShowPerf; dest.renderSettingsSampleDiv = src.renderSettingsSampleDiv; dest.renderSettingsBatchPoints = src.renderSettingsBatchPoints; dest.renderSettingsCompressVolumes = src.renderSettingsCompressVolumes; dest.renderSettingsRTPVExport = src.renderSettingsRTPVExport; dest.renderSettingsRTPVSceneView = src.renderSettingsRTPVSceneView; dest.renderSettingsRTPVHDR = src.renderSettingsRTPVHDR; dest.renderSettingsRTPVWidth = src.renderSettingsRTPVWidth; dest.renderSettingsRTPVHeight = src.renderSettingsRTPVHeight; dest.renderSettingsAtlasPacker = src.renderSettingsAtlasPacker; dest.renderSettingsAutoAtlas = src.renderSettingsAutoAtlas; } #endif // List of baked lightmaps public List maps = new List(); public List masks = new List(); public List dirMaps = new List(); public List rnmMaps0 = new List(); public List rnmMaps1 = new List(); public List rnmMaps2 = new List(); public List mapsMode = new List(); // new props public List bakedRenderers = new List(); public List bakedIDs = new List(); public List bakedScaleOffset = new List(); #if UNITY_EDITOR public List bakedVertexOffset = new List(); #endif public List bakedVertexColorMesh = new List(); public List nonBakedRenderers = new List(); public List bakedLights = new List(); public List bakedLightChannels = new List(); #if USE_TERRAINS public List bakedRenderersTerrain = new List(); public List bakedIDsTerrain = new List(); public List bakedScaleOffsetTerrain = new List(); #endif public List assetList = new List(); public List uvOverlapAssetList = new List(); // -1 = no UV1, 0 = no overlap, 1 = overlap public int[] idremap; public bool usesRealtimeGI; public Texture2D emptyDirectionTex; public bool anyVolumes = false; public bool compressedVolumes = false; #if UNITY_EDITOR [System.Serializable] public class SectorData { public string name; public List maps = new List(); public List masks = new List(); public List dirMaps = new List(); public List rnmMaps0 = new List(); public List rnmMaps1 = new List(); public List rnmMaps2 = new List(); public List mapsMode = new List(); public List bakedRenderers = new List(); public List bakedIDs = new List(); public List bakedScaleOffset = new List(); public List bakedVertexColorMesh = new List(); #if USE_TERRAINS public List bakedRenderersTerrain = new List(); public List bakedIDsTerrain = new List(); public List bakedScaleOffsetTerrain = new List(); #endif public List nonBakedRenderers = new List(); } public List sectors = new List(); #endif void Awake() { ftLightmaps.RefreshScene(gameObject.scene, this); } void Start() { // Unity can for some reason alter lightmapIndex after the scene is loaded in a multi-scene setup, so fix that ftLightmaps.RefreshScene2(gameObject.scene, this);//, appendOffset); } void OnDestroy() { ftLightmaps.UnloadScene(this); } }