add weather and time
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
|
||||
|
||||
namespace Enviro
|
||||
{
|
||||
[Serializable]
|
||||
public class EnviroSkyQualitySettings
|
||||
{
|
||||
public EnviroSky.SkyMode skyMode = EnviroSky.SkyMode.Normal;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroVolumetricCloudsQualitySettings
|
||||
{
|
||||
public bool volumetricClouds = true;
|
||||
public bool lightningSupport = true;
|
||||
public bool variableBottomNoise = false;
|
||||
|
||||
public int downsampling = 4;
|
||||
public int stepsLayer1 = 128;
|
||||
public float blueNoiseIntensity = 1f;
|
||||
public float reprojectionBlendTime = 10f;
|
||||
public float lodDistance = 0.25f;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroFlatCloudsQualitySettings
|
||||
{
|
||||
public bool cirrusClouds = true;
|
||||
public bool flatClouds = true;
|
||||
public int flatCloudsShadowSteps = 8;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroAuroraQualitySettings
|
||||
{
|
||||
public bool aurora = true;
|
||||
[Range(6,32)]
|
||||
public int steps = 32;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroEffectsQualitySettings
|
||||
{
|
||||
[Range(0f,2f)]
|
||||
public float particeEmissionRateModifier = 1f;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroFogQualitySettings
|
||||
{
|
||||
public bool fog = true;
|
||||
public EnviroFogSettings.FogQualityMode fogQualityMode = EnviroFogSettings.FogQualityMode.Normal;
|
||||
public bool volumetrics = true;
|
||||
public bool unityFog = false;
|
||||
public EnviroFogSettings.Quality quality;
|
||||
[Range(16,96)]
|
||||
public int steps = 32;
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroQuality : ScriptableObject
|
||||
{
|
||||
//Inspector
|
||||
public bool showEditor, showSky, showVolumeClouds, showFog, showFlatClouds, showEffects, showAurora;
|
||||
public EnviroSkyQualitySettings skyOverride;
|
||||
public EnviroVolumetricCloudsQualitySettings volumetricCloudsOverride;
|
||||
public EnviroFogQualitySettings fogOverride;
|
||||
public EnviroFlatCloudsQualitySettings flatCloudsOverride;
|
||||
public EnviroAuroraQualitySettings auroraOverride;
|
||||
public EnviroEffectsQualitySettings effectsOverride;
|
||||
}
|
||||
|
||||
|
||||
public class EnviroQualityCreation
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
[UnityEditor.MenuItem("Assets/Create/Enviro3/Quality")]
|
||||
#endif
|
||||
public static EnviroQuality CreateMyAsset()
|
||||
{
|
||||
EnviroQuality wpreset = ScriptableObject.CreateInstance<EnviroQuality>();
|
||||
#if UNITY_EDITOR
|
||||
// Create and save the new profile with unique name
|
||||
string path = UnityEditor.AssetDatabase.GetAssetPath (UnityEditor.Selection.activeObject);
|
||||
if (path == "")
|
||||
{
|
||||
path = EnviroHelper.assetPath;
|
||||
}
|
||||
string assetPathAndName = UnityEditor.AssetDatabase.GenerateUniqueAssetPath (path + "/New " + "Quality" + ".asset");
|
||||
UnityEditor.AssetDatabase.CreateAsset (wpreset, assetPathAndName);
|
||||
UnityEditor.AssetDatabase.SaveAssets ();
|
||||
UnityEditor.AssetDatabase.Refresh();
|
||||
#endif
|
||||
return wpreset;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: cfcd10a1b99270a488a19072f6176530
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 236601
|
||||
packageName: Enviro 3 - Sky and Weather
|
||||
packageVersion: 3.1.2
|
||||
assetPath: Assets/Enviro 3 - Sky and Weather/Scripts/Runtime/Modules/Quality/EnviroQuality.cs
|
||||
uploadId: 660896
|
||||
@@ -0,0 +1,160 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using System;
|
||||
|
||||
namespace Enviro
|
||||
{
|
||||
[Serializable]
|
||||
public class EnviroQualities
|
||||
{
|
||||
public EnviroQuality defaultQuality;
|
||||
public List<EnviroQuality> Qualities = new List<EnviroQuality>();
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public class EnviroQualityModule : EnviroModule
|
||||
{
|
||||
public EnviroQualities Settings = new EnviroQualities();
|
||||
public EnviroQualityModule preset;
|
||||
public bool showQualityControls;
|
||||
|
||||
|
||||
public override void Enable()
|
||||
{
|
||||
base.Enable();
|
||||
|
||||
//Make sure that we always have at least one quality profile!
|
||||
if(Settings.defaultQuality == null)
|
||||
{
|
||||
if(Settings.Qualities.Count > 0)
|
||||
{
|
||||
Settings.defaultQuality = Settings.Qualities[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateNewQuality();
|
||||
Settings.defaultQuality = Settings.Qualities[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override void UpdateModule ()
|
||||
{
|
||||
if(EnviroManager.instance == null)
|
||||
return;
|
||||
|
||||
if(Settings.defaultQuality != null)
|
||||
{
|
||||
if(EnviroManager.instance.Sky != null)
|
||||
{
|
||||
EnviroManager.instance.Sky.Settings.skyMode = Settings.defaultQuality.skyOverride.skyMode;
|
||||
}
|
||||
|
||||
if(EnviroManager.instance.VolumetricClouds != null)
|
||||
{
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.volumetricClouds = Settings.defaultQuality.volumetricCloudsOverride.volumetricClouds;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.lightningSupport = Settings.defaultQuality.volumetricCloudsOverride.lightningSupport;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.variableBottomNoise = Settings.defaultQuality.volumetricCloudsOverride.variableBottomNoise;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.downsampling = Settings.defaultQuality.volumetricCloudsOverride.downsampling;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.stepsLayer1 = Settings.defaultQuality.volumetricCloudsOverride.stepsLayer1;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.blueNoiseIntensity = Settings.defaultQuality.volumetricCloudsOverride.blueNoiseIntensity;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.reprojectionBlendTime = Settings.defaultQuality.volumetricCloudsOverride.reprojectionBlendTime;
|
||||
EnviroManager.instance.VolumetricClouds.settingsQuality.lodDistance = Settings.defaultQuality.volumetricCloudsOverride.lodDistance;
|
||||
}
|
||||
|
||||
if(EnviroManager.instance.Fog != null)
|
||||
{
|
||||
EnviroManager.instance.Fog.Settings.fog = Settings.defaultQuality.fogOverride.fog;
|
||||
EnviroManager.instance.Fog.Settings.fogQualityMode = Settings.defaultQuality.fogOverride.fogQualityMode;
|
||||
EnviroManager.instance.Fog.Settings.volumetrics = Settings.defaultQuality.fogOverride.volumetrics;
|
||||
EnviroManager.instance.Fog.Settings.unityFog = Settings.defaultQuality.fogOverride.unityFog;
|
||||
EnviroManager.instance.Fog.Settings.quality = Settings.defaultQuality.fogOverride.quality;
|
||||
EnviroManager.instance.Fog.Settings.steps = Settings.defaultQuality.fogOverride.steps;
|
||||
}
|
||||
|
||||
if(EnviroManager.instance.FlatClouds != null)
|
||||
{
|
||||
EnviroManager.instance.FlatClouds.settings.useFlatClouds = Settings.defaultQuality.flatCloudsOverride.flatClouds;
|
||||
EnviroManager.instance.FlatClouds.settings.useCirrusClouds = Settings.defaultQuality.flatCloudsOverride.cirrusClouds;
|
||||
EnviroManager.instance.FlatClouds.settings.flatCloudsShadowSteps = Settings.defaultQuality.flatCloudsOverride.flatCloudsShadowSteps;
|
||||
|
||||
|
||||
}
|
||||
|
||||
if(EnviroManager.instance.Aurora != null)
|
||||
{
|
||||
EnviroManager.instance.Aurora.Settings.useAurora = Settings.defaultQuality.auroraOverride.aurora;
|
||||
EnviroManager.instance.Aurora.Settings.auroraSteps = Settings.defaultQuality.auroraOverride.steps;
|
||||
}
|
||||
|
||||
if(EnviroManager.instance.Effects != null)
|
||||
{
|
||||
EnviroManager.instance.Effects.Settings.particeEmissionRateModifier = Settings.defaultQuality.effectsOverride.particeEmissionRateModifier;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void CleanupQualityList()
|
||||
{
|
||||
for (int i = 0; i < Settings.Qualities.Count; i++)
|
||||
{
|
||||
if(Settings.Qualities[i] == null)
|
||||
Settings.Qualities.RemoveAt(i);
|
||||
}
|
||||
}
|
||||
|
||||
//Add new or assigned quality
|
||||
public void CreateNewQuality()
|
||||
{
|
||||
EnviroQuality quality = EnviroQualityCreation.CreateMyAsset();
|
||||
Settings.Qualities.Add(quality);
|
||||
}
|
||||
|
||||
/// Removes the quality from the list.
|
||||
public void RemoveQuality(EnviroQuality quality)
|
||||
{
|
||||
Settings.Qualities.Remove(quality);
|
||||
}
|
||||
|
||||
|
||||
//Save and Load
|
||||
public void LoadModuleValues ()
|
||||
{
|
||||
if(preset != null)
|
||||
{
|
||||
Settings = JsonUtility.FromJson<Enviro.EnviroQualities>(JsonUtility.ToJson(preset.Settings));
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("Please assign a saved module to load from!");
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveModuleValues ()
|
||||
{
|
||||
#if UNITY_EDITOR
|
||||
EnviroQualityModule t = ScriptableObject.CreateInstance<EnviroQualityModule>();
|
||||
t.name = "Quality Module Preset";
|
||||
t.Settings = JsonUtility.FromJson<Enviro.EnviroQualities>(JsonUtility.ToJson(Settings));
|
||||
|
||||
string assetPathAndName = UnityEditor.AssetDatabase.GenerateUniqueAssetPath(EnviroHelper.assetPath + "/New " + t.name + ".asset");
|
||||
UnityEditor.AssetDatabase.CreateAsset(t, assetPathAndName);
|
||||
UnityEditor.AssetDatabase.SaveAssets();
|
||||
UnityEditor.AssetDatabase.Refresh();
|
||||
#endif
|
||||
}
|
||||
public void SaveModuleValues (EnviroQualityModule module)
|
||||
{
|
||||
module.Settings = JsonUtility.FromJson<Enviro.EnviroQualities>(JsonUtility.ToJson(Settings));
|
||||
|
||||
#if UNITY_EDITOR
|
||||
UnityEditor.EditorUtility.SetDirty(module);
|
||||
UnityEditor.AssetDatabase.SaveAssets();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 456bf221b186fde4096dcf2c1841b35a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 236601
|
||||
packageName: Enviro 3 - Sky and Weather
|
||||
packageVersion: 3.1.2
|
||||
assetPath: Assets/Enviro 3 - Sky and Weather/Scripts/Runtime/Modules/Quality/EnviroQualityModule.cs
|
||||
uploadId: 660896
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0fd49af59609e246bc7e5be19f334f3
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,27 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 456bf221b186fde4096dcf2c1841b35a, type: 3}
|
||||
m_Name: Default Quality Module Preset
|
||||
m_EditorClassIdentifier:
|
||||
showModuleInspector: 0
|
||||
showSaveLoad: 0
|
||||
active: 1
|
||||
Settings:
|
||||
defaultQuality: {fileID: 11400000, guid: 60e887b1524da0a4a8f1318ef102e22a, type: 2}
|
||||
Qualities:
|
||||
- {fileID: 11400000, guid: a002704085c17f1439758fcee25df529, type: 2}
|
||||
- {fileID: 11400000, guid: 2e0aaa075bca92245a9e8300b7eace9c, type: 2}
|
||||
- {fileID: 11400000, guid: 60e887b1524da0a4a8f1318ef102e22a, type: 2}
|
||||
- {fileID: 11400000, guid: e653a1dee3c47bb42a13eba46069720c, type: 2}
|
||||
- {fileID: 11400000, guid: ce2712a713d73094fa9c2775886f182d, type: 2}
|
||||
preset: {fileID: 0}
|
||||
showQualityControls: 0
|
||||
@@ -0,0 +1,16 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 87fc95b058753524e807e3f229e77c2f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
AssetOrigin:
|
||||
serializedVersion: 1
|
||||
productId: 236601
|
||||
packageName: Enviro 3 - Sky and Weather
|
||||
packageVersion: 3.1.2
|
||||
assetPath: Assets/Enviro 3 - Sky and Weather/Scripts/Runtime/Modules/Quality/Preset/Default
|
||||
Quality Module Preset.asset
|
||||
uploadId: 660896
|
||||
Reference in New Issue
Block a user