public void OnDestroy() { if (!RenderSettingsManager.Ignore(this)) { RenderSettingsManager.Instance.UnRegister(this); } }
void skyboxUpdater(RenderSettingsManager obj) { Skybox skybox = Player.instance.transform.FindChild("vertical").GetComponentInChildren<Skybox>(); if (skybox == null) { Debug.LogWarning("There is no skybox on the main camera !"); return; } skybox.material.SetColor("_Tint", obj._skyboxColor); }
void particlesUpdater(RenderSettingsManager obj) { GameObject go = GameObject.Find("particles"); if (go == null) { Debug.LogWarning("There is no particles in the current scene !"); return; } ParticleSystem particles = go.GetComponent<ParticleSystem>(); particles.startColor = obj._particlesColor; }
private static void FixRenderSetting() { GameObject renderSettings = GameObject.Find("RenderSettingsManager"); if (renderSettings == null) { renderSettings = new GameObject("RenderSettingsManager"); _Instance = renderSettings.AddComponent <RenderSettingsManager>(); _Instance._toBlendRenderSettings = renderSettings.AddComponent <RenderSettings>(); } else { _Instance = renderSettings.GetComponent <RenderSettingsManager>() ?? renderSettings.AddComponent <RenderSettingsManager>(); _Instance._toBlendRenderSettings = renderSettings.GetComponent <RenderSettings>(); } Transform lastSettings = renderSettings.transform.Find("LastRenderSettings"); if (lastSettings == null) { lastSettings = new GameObject("LastRenderSettings").transform; lastSettings.transform.parent = renderSettings.transform; _Instance._lastRenderSettings = lastSettings.gameObject.AddComponent <RenderSettings>(); } else { _Instance._lastRenderSettings = lastSettings.gameObject.GetComponent <RenderSettings>() ?? lastSettings.gameObject.AddComponent <RenderSettings>(); } Transform currentSettings = renderSettings.transform.Find("CurrentRenderSettings"); if (currentSettings == null) { currentSettings = new GameObject("CurrentRenderSettings").transform; currentSettings.transform.parent = renderSettings.transform; _Instance._currentRenderSettings = currentSettings.gameObject.AddComponent <RenderSettings>(); } else { _Instance._currentRenderSettings = currentSettings.gameObject.GetComponent <RenderSettings>() ?? currentSettings.gameObject.AddComponent <RenderSettings>(); } if (Application.isPlaying) { GameObject.DontDestroyOnLoad(renderSettings); } else { renderSettings.hideFlags = HideFlags.DontSave; } }
/*void SSAOUpdater(RenderSettingsManager obj) { SSAOPro ssao = Camera.main.GetComponent<SSAOPro>(); if (ssao == null) { Debug.LogWarning("There is no SSAO script on main camera !"); return; } ssao.OcclusionColor = obj._SSAOColor; EditorUtility.SetDirty(ssao); }*/ void lightsPropsUpdater(RenderSettingsManager obj) { Light lightPropsShadows = GameObject.Find("light_props_shadows").GetComponent<Light>(); Light lightPropsContrast = GameObject.Find("light_props_contrast").GetComponent<Light>(); if (lightPropsShadows == null) { Debug.LogWarning("lights props are missing !"); return; } lightPropsShadows.color = obj._lightPropsShadowsColor; lightPropsShadows.intensity = obj._lightPropsShadowsIntensity; lightPropsContrast.color = obj._lightPropsContrastColor; lightPropsContrast.intensity = obj._lightPropsContrastIntensity; }
private static void Setup() { GameObject renderSettings = new GameObject("RenderSettingsManager"); GameObject lastSettings = new GameObject("LastRenderSettings"); GameObject currentSettings = new GameObject("CurrentRenderSettings"); lastSettings.transform.parent = renderSettings.transform; currentSettings.transform.parent = renderSettings.transform; _Instance = renderSettings.AddComponent <RenderSettingsManager>(); _Instance._toBlendRenderSettings = renderSettings.AddComponent <RenderSettings>(); _Instance._lastRenderSettings = lastSettings.AddComponent <RenderSettings>(); _Instance._currentRenderSettings = currentSettings.AddComponent <RenderSettings>(); if (Application.isPlaying) { GameObject.DontDestroyOnLoad(renderSettings); } else { renderSettings.hideFlags = HideFlags.DontSave; } }
void sunLightUpdater(RenderSettingsManager obj) { Light lightShadows = GameObject.Find("light_shadows").GetComponent<Light>(); Light lightContrast = GameObject.Find("light_contrast").GetComponent<Light>(); if (lightShadows == null) { Debug.LogWarning("There is no sun in the current scene !"); return; } lightShadows.color = obj._lightShadowsColor; lightShadows.intensity = obj._lightShadowsIntensity; lightContrast.color = obj._lightContrastColor; lightContrast.intensity = obj._lightContrastIntensity; }
/// <summary> /// Applique les paramètres d'un render settings manager à la scène en cours /// </summary> /// <param name="manager"></param> public static void applyRenderSettings(RenderSettingsManager manager) { if (manager == null) return; RenderSettings.fog = manager._fog; RenderSettings.fogColor = manager._fogColor; RenderSettings.fogMode = manager._fogMode; RenderSettings.fogDensity = manager._fogDensity; RenderSettings.fogStartDistance = manager._linearFogStart; RenderSettings.fogEndDistance = manager._linearFogEnd; RenderSettings.ambientLight = manager._ambientLight; Light lightShadows = GameObject.Find("light_shadows").GetComponent<Light>(); Light lightContrast = GameObject.Find("light_contrast").GetComponent<Light>(); if (lightShadows == null) { #if UNITY_EDITOR GameConsole.instance.writeNewMessage("There is no sun in the current scene !", GameConsole.AlertStates.warning); #endif } else { lightShadows.color = manager._lightShadowsColor; lightShadows.intensity = manager._lightShadowsIntensity; lightContrast.color = manager._lightContrastColor; lightContrast.intensity = manager._lightContrastIntensity; } GameObject go = GameObject.Find("particles"); if (go == null) { #if UNITY_EDITOR GameConsole.instance.writeNewMessage("There is no particles in the current scene !", GameConsole.AlertStates.warning); #endif } else { ParticleSystem particles = go.GetComponent<ParticleSystem>(); particles.startColor = manager._particlesColor; } Skybox skybox = Camera.main.GetComponentInChildren<Skybox>(); if (skybox == null) { #if UNITY_EDITOR GameConsole.instance.writeNewMessage("There is no skybox on the main camera !", GameConsole.AlertStates.warning); #endif } else skybox.material.SetColor("_Tint", manager._skyboxColor); /*SSAOPro ssao = Camera.main.GetComponent<SSAOPro>(); if (ssao == null) { #if UNITY_EDITOR GameConsole.instance.writeNewMessage("There is no SSAO script on main camera !", GameConsole.AlertStates.warning); #endif } else { ssao.OcclusionColor = manager._SSAOColor; }*/ Light lightPropsShadows = GameObject.Find("light_props_shadows").GetComponent<Light>(); Light lightPropsContrast = GameObject.Find("light_props_contrast").GetComponent<Light>(); if (lightPropsContrast == null) { #if UNITY_EDITOR GameConsole.instance.writeNewMessage("There is no props sun in the current scene !", GameConsole.AlertStates.warning); #endif } else { lightPropsShadows.color = manager._lightPropsShadowsColor; lightPropsShadows.intensity = manager._lightPropsShadowsIntensity; lightPropsContrast.color = manager._lightPropsContrastColor; lightPropsContrast.intensity = manager._lightPropsContrastIntensity; } }