更新天气插件
This commit is contained in:
@@ -17,19 +17,19 @@ namespace Enviro
|
||||
|
||||
public LightingMode lightingMode;
|
||||
public bool setDirectLighting = true;
|
||||
public int updateIntervallFrames = 2;
|
||||
public int updateIntervallFrames = 2;
|
||||
public AnimationCurve sunIntensityCurve;
|
||||
public AnimationCurve moonIntensityCurve;
|
||||
[GradientUsageAttribute(true)]
|
||||
public Gradient sunColorGradient;
|
||||
[GradientUsageAttribute(true)]
|
||||
public Gradient moonColorGradient;
|
||||
|
||||
public AnimationCurve sunIntensityCurveHDRP = new AnimationCurve();
|
||||
public AnimationCurve moonIntensityCurveHDRP = new AnimationCurve();
|
||||
public AnimationCurve lightColorTemperatureHDRP = new AnimationCurve();
|
||||
[GradientUsageAttribute(true)]
|
||||
public Gradient lightColorTintHDRP;
|
||||
[GradientUsageAttribute(true)]
|
||||
public Gradient ambientColorTintHDRP;
|
||||
public float lightIntensityHDRP = 750f;
|
||||
public bool controlExposure = true;
|
||||
public AnimationCurve sceneExposure = new AnimationCurve();
|
||||
public bool controlIndirectLighting = true;
|
||||
@@ -259,24 +259,31 @@ namespace Enviro
|
||||
{
|
||||
//Set light to sun
|
||||
EnviroManager.instance.Objects.directionalLight.transform.rotation = EnviroManager.instance.Objects.sun.transform.rotation;
|
||||
EnviroManager.instance.Objects.directionalLight.color = Settings.lightColorTintHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
EnviroManager.instance.Objects.directionalLight.color = Settings.sunColorGradient.Evaluate(EnviroManager.instance.solarTime);
|
||||
EnviroManager.instance.Objects.directionalLight.useColorTemperature = true;
|
||||
EnviroManager.instance.Objects.directionalLight.colorTemperature = Settings.lightColorTemperatureHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
|
||||
#if UNITY_6000_0_OR_NEWER
|
||||
EnviroManager.instance.Objects.directionalLight.intensity = Settings.sunIntensityCurve.Evaluate(EnviroManager.instance.solarTime) * Settings.lightIntensityHDRP * Settings.directLightIntensityModifier;
|
||||
#else
|
||||
if(directionalLightHDRP != null)
|
||||
directionalLightHDRP.SetIntensity(Settings.sunIntensityCurveHDRP.Evaluate(EnviroManager.instance.solarTime) * Settings.directLightIntensityModifier);
|
||||
|
||||
directionalLightHDRP.SetIntensity(Settings.sunIntensityCurve.Evaluate(EnviroManager.instance.solarTime) * Settings.lightIntensityHDRP * Settings.directLightIntensityModifier);
|
||||
#endif
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//Set light to moon
|
||||
EnviroManager.instance.Objects.directionalLight.transform.rotation = EnviroManager.instance.Objects.moon.transform.rotation;
|
||||
EnviroManager.instance.Objects.directionalLight.color = Settings.lightColorTintHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
EnviroManager.instance.Objects.directionalLight.color = Settings.moonColorGradient.Evaluate(EnviroManager.instance.lunarTime);
|
||||
EnviroManager.instance.Objects.directionalLight.useColorTemperature = true;
|
||||
EnviroManager.instance.Objects.directionalLight.colorTemperature = Settings.lightColorTemperatureHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
|
||||
if(directionalLightHDRP != null)
|
||||
directionalLightHDRP.SetIntensity(Settings.moonIntensityCurveHDRP.Evaluate(EnviroManager.instance.lunarTime) * Settings.directLightIntensityModifier);
|
||||
#if UNITY_6000_0_OR_NEWER
|
||||
EnviroManager.instance.Objects.directionalLight.intensity = Settings.moonIntensityCurve.Evaluate(EnviroManager.instance.lunarTime) * Settings.lightIntensityHDRP* Settings.directLightIntensityModifier;
|
||||
#else
|
||||
if (directionalLightHDRP != null)
|
||||
directionalLightHDRP.SetIntensity(Settings.moonIntensityCurve.Evaluate(EnviroManager.instance.lunarTime) * Settings.lightIntensityHDRP * Settings.directLightIntensityModifier);
|
||||
#endif
|
||||
}
|
||||
|
||||
if(directionalLightHDRP != null)
|
||||
@@ -286,27 +293,37 @@ namespace Enviro
|
||||
{
|
||||
//Sun
|
||||
EnviroManager.instance.Objects.directionalLight.transform.rotation = EnviroManager.instance.Objects.sun.transform.rotation;
|
||||
EnviroManager.instance.Objects.directionalLight.color = Settings.lightColorTintHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
EnviroManager.instance.Objects.directionalLight.color = Settings.sunColorGradient.Evaluate(EnviroManager.instance.solarTime);
|
||||
EnviroManager.instance.Objects.directionalLight.useColorTemperature = true;
|
||||
EnviroManager.instance.Objects.directionalLight.colorTemperature = Settings.lightColorTemperatureHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
|
||||
if(directionalLightHDRP != null)
|
||||
{
|
||||
directionalLightHDRP.SetIntensity(Settings.sunIntensityCurveHDRP.Evaluate(EnviroManager.instance.solarTime) * Settings.directLightIntensityModifier);
|
||||
#if UNITY_6000_0_OR_NEWER
|
||||
EnviroManager.instance.Objects.directionalLight.intensity = Settings.sunIntensityCurve.Evaluate(EnviroManager.instance.solarTime) * Settings.lightIntensityHDRP* Settings.directLightIntensityModifier;
|
||||
#else
|
||||
directionalLightHDRP.SetIntensity(Settings.sunIntensityCurve.Evaluate(EnviroManager.instance.solarTime) * Settings.lightIntensityHDRP * Settings.directLightIntensityModifier);
|
||||
#endif
|
||||
|
||||
directionalLightHDRP.shadowDimmer = Settings.shadowIntensity;
|
||||
}
|
||||
//Moon
|
||||
if(EnviroManager.instance.Objects.additionalDirectionalLight != null)
|
||||
{
|
||||
EnviroManager.instance.Objects.additionalDirectionalLight.transform.rotation = EnviroManager.instance.Objects.moon.transform.rotation;
|
||||
EnviroManager.instance.Objects.additionalDirectionalLight.color = Settings.lightColorTintHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
EnviroManager.instance.Objects.additionalDirectionalLight.color = Settings.moonColorGradient.Evaluate(EnviroManager.instance.lunarTime);
|
||||
EnviroManager.instance.Objects.additionalDirectionalLight.useColorTemperature = true;
|
||||
EnviroManager.instance.Objects.additionalDirectionalLight.colorTemperature = Settings.lightColorTemperatureHDRP.Evaluate(EnviroManager.instance.solarTime);
|
||||
}
|
||||
|
||||
if(additionalLightHDRP != null)
|
||||
{
|
||||
additionalLightHDRP.SetIntensity(Settings.moonIntensityCurveHDRP.Evaluate(EnviroManager.instance.lunarTime) * Settings.directLightIntensityModifier);
|
||||
#if UNITY_6000_0_OR_NEWER
|
||||
EnviroManager.instance.Objects.directionalLight.intensity = Settings.moonIntensityCurve.Evaluate(EnviroManager.instance.lunarTime) * Settings.lightIntensityHDRP * Settings.directLightIntensityModifier;
|
||||
#else
|
||||
additionalLightHDRP.SetIntensity(Settings.moonIntensityCurve.Evaluate(EnviroManager.instance.lunarTime) * Settings.lightIntensityHDRP * Settings.directLightIntensityModifier);
|
||||
#endif
|
||||
|
||||
additionalLightHDRP.shadowDimmer = Settings.shadowIntensity;
|
||||
}
|
||||
}
|
||||
@@ -398,7 +415,7 @@ namespace Enviro
|
||||
public void UpdateAmbientLighting (bool forced = false)
|
||||
{
|
||||
RenderSettings.ambientMode = Settings.ambientMode;
|
||||
|
||||
|
||||
float intensity = Settings.ambientIntensityCurve.Evaluate(EnviroManager.instance.solarTime) * Settings.ambientIntensityModifier;
|
||||
|
||||
RenderSettings.ambientIntensity = intensity;
|
||||
@@ -424,10 +441,10 @@ namespace Enviro
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lastAmbientSkyboxUpdate < Time.realtimeSinceStartup || lastAmbientSkyboxUpdate > Time.realtimeSinceStartup + (Settings.ambientUpdateIntervall + 0.01f))
|
||||
if (lastAmbientSkyboxUpdate < Time.time)
|
||||
{
|
||||
UpdateAmbient(Settings.ambientMode,intensity);
|
||||
lastAmbientSkyboxUpdate = Time.realtimeSinceStartup + Settings.ambientUpdateIntervall;
|
||||
lastAmbientSkyboxUpdate = Time.time + (Settings.ambientUpdateIntervall * 60);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user