private LightmapEditorSettingsWrapper ExtractLightmapEditorSettingsFromActiveScene() { var LightmapEditorSettingsWrapper = new LightmapEditorSettingsWrapper(); LightmapEditorSettingsWrapper.lightmapper = LightmapEditorSettings.lightmapper; LightmapEditorSettingsWrapper.aoMaxDistance = LightmapEditorSettings.aoMaxDistance; LightmapEditorSettingsWrapper.aoExponentDirect = LightmapEditorSettings.aoExponentDirect; LightmapEditorSettingsWrapper.padding = LightmapEditorSettings.padding; LightmapEditorSettingsWrapper.enableAmbientOcclusion = LightmapEditorSettings.enableAmbientOcclusion; LightmapEditorSettingsWrapper.resolution = LightmapEditorSettings.realtimeResolution; LightmapEditorSettingsWrapper.giPathTracerSampling = LightmapEditorSettings.sampling; LightmapEditorSettingsWrapper.maxAtlasWidth = LightmapEditorSettings.maxAtlasSize; LightmapEditorSettingsWrapper.reflectionCubemapCompression = LightmapEditorSettings.reflectionCubemapCompression; LightmapEditorSettingsWrapper.aoExponentIndirect = LightmapEditorSettings.aoExponentIndirect; LightmapEditorSettingsWrapper.bakeResolution = LightmapEditorSettings.bakeResolution; LightmapEditorSettingsWrapper.lightmapsMode = LightmapEditorSettings.lightmapsMode; LightmapEditorSettingsWrapper.mixedBakeMode = LightmapEditorSettings.mixedBakeMode; LightmapEditorSettingsWrapper.sampling = LightmapEditorSettings.sampling; LightmapEditorSettingsWrapper.directSampleCount = LightmapEditorSettings.directSampleCount; LightmapEditorSettingsWrapper.indirectSampleCount = LightmapEditorSettings.indirectSampleCount; LightmapEditorSettingsWrapper.bounces = LightmapEditorSettings.bounces; LightmapEditorSettingsWrapper.prioritizeView = LightmapEditorSettings.prioritizeView; LightmapEditorSettingsWrapper.filteringMode = LightmapEditorSettings.filteringMode; LightmapEditorSettingsWrapper.textureCompression = LightmapEditorSettings.textureCompression; LightmapEditorSettingsWrapper.denoiserTypeIndirect = LightmapEditorSettings.denoiserTypeIndirect; LightmapEditorSettingsWrapper.denoiserTypeAO = LightmapEditorSettings.denoiserTypeAO; LightmapEditorSettingsWrapper.denoiserTypeDirect = LightmapEditorSettings.denoiserTypeDirect; LightmapEditorSettingsWrapper.filterTypeIndirect = LightmapEditorSettings.filterTypeIndirect; LightmapEditorSettingsWrapper.filterTypeAO = LightmapEditorSettings.filterTypeAO; LightmapEditorSettingsWrapper.filteringGaussRadiusDirect = LightmapEditorSettings.filteringGaussRadiusDirect; LightmapEditorSettingsWrapper.filteringGaussRadiusIndirect = LightmapEditorSettings.filteringGaussRadiusIndirect; LightmapEditorSettingsWrapper.filteringGaussRadiusAO = LightmapEditorSettings.filteringGaussRadiusAO; LightmapEditorSettingsWrapper.filteringAtrousPositionSigmaDirect = LightmapEditorSettings.filteringAtrousPositionSigmaDirect; LightmapEditorSettingsWrapper.filteringAtrousPositionSigmaIndirect = LightmapEditorSettings.filteringAtrousPositionSigmaIndirect; LightmapEditorSettingsWrapper.filteringAtrousPositionSigmaAO = LightmapEditorSettings.filteringAtrousPositionSigmaAO; LightmapEditorSettingsWrapper.filterTypeDirect = LightmapEditorSettings.filterTypeDirect; LightmapEditorSettingsWrapper.realtimeResolution = LightmapEditorSettings.realtimeResolution; return(LightmapEditorSettingsWrapper); }
private void DoPasting() { EditorGUILayout.BeginVertical(); if (GUILayout.Button("PASTE")) { var sourceScene = AssetFinder.SafeSingleAssetFind <SceneAsset>(this.sourceScene.name + " t:Scene"); EditorSceneManager.OpenScene(AssetDatabase.GetAssetPath(sourceScene), OpenSceneMode.Single); this.sourceLightmapEditorSettingsWrapper = this.ExtractLightmapEditorSettingsFromActiveScene(); foreach (var targetScene in this.targetScenes) { var targetSceneLoaded = AssetFinder.SafeSingleAssetFind <SceneAsset>(targetScene.SceneAsset.name + " t:Scene"); EditorSceneManager.OpenScene(AssetDatabase.GetAssetPath(targetSceneLoaded), OpenSceneMode.Single); this.PasteLightMapEditorSettingsFromWrapper(this.sourceLightmapEditorSettingsWrapper); // EditorSceneManager.MarkSceneDirty() EditorSceneManager.MarkAllScenesDirty(); EditorSceneManager.SaveOpenScenes(); } } EditorGUILayout.EndVertical(); }