1299 lines
69 KiB
C#
1299 lines
69 KiB
C#
using UnityEngine;
|
|
|
|
namespace Artngame.SKYMASTER
|
|
{
|
|
[ExecuteInEditMode]
|
|
public class WaterHandlerSM : MonoBehaviour
|
|
{
|
|
public enum WaterPreset
|
|
{
|
|
Custom = 0,
|
|
Emerald = 1,
|
|
Muddy = 2,
|
|
Caribbean = 3,
|
|
River = 4,
|
|
Ocean = 5,
|
|
DarkOcean = 6,
|
|
FocusOcean = 7,
|
|
SmallWaves = 8,
|
|
Lake = 9,
|
|
Atoll = 10,
|
|
Mobile = 11,
|
|
LitOcean = 12
|
|
}
|
|
|
|
public enum UnderWaterPreset
|
|
{
|
|
Custom = 0,
|
|
Fancy = 1,
|
|
Turbulent = 2,
|
|
Calm = 3
|
|
}
|
|
|
|
public float foamExtendOffset;
|
|
|
|
public Color FogTint = new Color(1f, 1f, 1f, 1f);
|
|
|
|
public bool useCloudGradFogTint;
|
|
|
|
public float volumeFogDensityUnderwater = 50f;
|
|
|
|
private float volumeFogDensityOverwater;
|
|
|
|
private bool toggledUnderwater;
|
|
|
|
public float autoColorfogBrightness = 0.77f;
|
|
|
|
public float underwaterFogDensity = 0.05f;
|
|
|
|
public Color underwaterFogColorShader = new Color(26f / 51f, 0.827451f, 0.9411765f, 1f);
|
|
|
|
public Color fogColorShaderDay = new Color(0.87f, 0.87f, 0.9f, 1f);
|
|
|
|
public Color fogColorShaderDusk = new Color(0.7f, 0.5f, 0.55f, 1f);
|
|
|
|
public Color fogColorShaderDawn = new Color(0.7f, 0.5f, 0.72f, 1f);
|
|
|
|
public Color fogStormColorShader = new Color(0.1f, 0.1f, 0.1f, 1f);
|
|
|
|
public float fogDensity = 0.4f;
|
|
|
|
public float fogBias = 2f;
|
|
|
|
public float fogStartDistance = 1000f;
|
|
|
|
public float underwaterfogDensity = 1f;
|
|
|
|
public float underwaterfogBias = 15f;
|
|
|
|
public float underwaterfogStartDistance = 20f;
|
|
|
|
public bool UseSkyGradient;
|
|
|
|
public float GradReflIntensity = 0.7f;
|
|
|
|
public float GradTransp = 0.7f;
|
|
|
|
public WaterHeightSM heightController;
|
|
|
|
public bool UnderOnWave;
|
|
|
|
public float TransYOffset = 1f;
|
|
|
|
public bool followCamera;
|
|
|
|
public bool DisableUnderwater;
|
|
|
|
public float HeightSpecularCorrect;
|
|
|
|
public float RefractOffset;
|
|
|
|
public float BumpFocusOffset;
|
|
|
|
public float FresnelOffset;
|
|
|
|
public float FresnelBias;
|
|
|
|
public Color ReflectColor;
|
|
|
|
public bool OverrideReflectColor;
|
|
|
|
public float TerrainScale = 500f;
|
|
|
|
public float ShoreWavesFade;
|
|
|
|
public Transform TerrainDepthCamera;
|
|
|
|
public TerrainDepthSM DepthRenderController;
|
|
|
|
public float FoamCutoff;
|
|
|
|
public float FoamOffset;
|
|
|
|
public AudioSource SeaAudio;
|
|
|
|
public bool DisableSeaAudio;
|
|
|
|
public float maxAudioVolume = 0.65f;
|
|
|
|
public float SoundFadeSpeed = 0.02f;
|
|
|
|
public float ShoreBlendOffset;
|
|
|
|
public float minShiftSpeed = 5f;
|
|
|
|
public Vector4 WaveAmpOffset = new Vector4(0f, 0f, 0f, 0f);
|
|
|
|
public Vector4 WaveFreqOffset = new Vector4(0f, 0f, 0f, 0f);
|
|
|
|
public Vector4 WaveSpeedOffset = new Vector4(0f, 0f, 0f, 0f);
|
|
|
|
public Vector4 WaveDir1Offset = new Vector4(0f, 0f, 0f, 0f);
|
|
|
|
public Vector4 WaveDir2Offset = new Vector4(0f, 0f, 0f, 0f);
|
|
|
|
public float DepthColorOffset;
|
|
|
|
public Vector4 ExtraWavesFactor = new Vector4(0f, 0f, 0f, 0f);
|
|
|
|
public Vector4 ExtraWavesFreqFactor = new Vector4(2.33f, 2.11f, 1.24f, 1f);
|
|
|
|
public Vector4 ExtraWavesAmpFactor = new Vector4(0.09f, 1f, 1f, 1f);
|
|
|
|
public Vector4 ExtraWavesDirFactor = new Vector4(-4.61f, 1f, 1f, 1f);
|
|
|
|
public Vector4 ExtraWavesSteepFactor = new Vector4(2f, 1f, 2f, 1f);
|
|
|
|
public Projector CausticsProjector;
|
|
|
|
public Material CausticsMat;
|
|
|
|
public float CausticIntensity = 0.4f;
|
|
|
|
public float CausticSize = 40f;
|
|
|
|
public WaterBaseSM WaterBase;
|
|
|
|
public float SunShaftsInt = 100f;
|
|
|
|
public float bumpTilingXoffset;
|
|
|
|
public float bumpTilingYoffset;
|
|
|
|
public float DepthFogSwitch = 10f;
|
|
|
|
public bool BelowWater;
|
|
|
|
public WaterPreset waterType = WaterPreset.Caribbean;
|
|
|
|
public UnderWaterPreset underWaterType = UnderWaterPreset.Turbulent;
|
|
|
|
public Vector3 waterScaleFactor = Vector3.one;
|
|
|
|
public Vector3 waterScaleOffset = Vector3.zero;
|
|
|
|
private bool prev_fog_setting;
|
|
|
|
private int prev_fog_mode;
|
|
|
|
private float prev_fog_density;
|
|
|
|
public UnderWaterImageEffect UnderwaterBlur;
|
|
|
|
public UnderWaterImageEffect UnderwaterBlurL;
|
|
|
|
public UnderWaterImageEffect UnderwaterBlurR;
|
|
|
|
private Color prev_fog_color;
|
|
|
|
private Vector2 PrevStartEndDist;
|
|
|
|
public Color Fog_Color = new Color(14f / 51f, 22f / 51f, 0.5254902f, 1f);
|
|
|
|
public SkyMasterManager SkyManager;
|
|
|
|
public Material oceanMat;
|
|
|
|
public Color NightWaterColor = new Color(10f / 51f, 10f / 51f, 10f / 51f, 1f);
|
|
|
|
public Color StormWaterColor = new Color(7f / 51f, 7f / 51f, 7f / 51f, 1f);
|
|
|
|
public Color SnowStormWaterColor = new Color(47f / 51f, 47f / 51f, 47f / 51f, 1f);
|
|
|
|
public Color DayWaterColor = new Color(0.35686275f, 0.54509807f, 43f / 85f, 0.81960785f);
|
|
|
|
public Color DuskWaterColor = new Color(0.7490196f, 33f / 85f, 7f / 15f, 0.81960785f);
|
|
|
|
public Color NightReflectColor = new Color(0f, 0f, 0f, 1f);
|
|
|
|
public Color DayReflectColor = new Color(0.050980393f, 49f / 51f, 1f, 22f / 51f);
|
|
|
|
public Color DuskReflectColor = new Color(0.88235295f, 43f / 51f, 43f / 51f, 25f / 51f);
|
|
|
|
public Color DayRiverColor = new Color(7f / 51f, 0.29411766f, 0.2627451f, 0.95686275f);
|
|
|
|
public Color DayRiverReflectColor = new Color(78f / 85f, 78f / 85f, 78f / 85f, 0.80784315f);
|
|
|
|
public Color DayOceanColor = new Color(8f / 51f, 20f / 51f, 0.3529412f, 40f / 51f);
|
|
|
|
public Color DayOceanReflectColor = new Color(0.5882353f, 0.8235294f, 46f / 51f, 0.5882353f);
|
|
|
|
public Color DarkOceanColor = new Color(12f / 85f, 0.23529412f, 10f / 51f, 0.9411765f);
|
|
|
|
public Color DarkOceanReflectColor = new Color(0.5882353f, 0.8235294f, 46f / 51f, 0.5882353f);
|
|
|
|
public Color MuddyWaterColor = new Color(50f / 51f, 5f / 51f, 0.29411766f, 41f / 51f);
|
|
|
|
public Color MuddyReflectColor = new Color(32f / 51f, 22f / 51f, 0.5294118f, 0.8235294f);
|
|
|
|
public Color EmeraldWaterColor = new Color(1f / 3f, 0.88235295f, 37f / 51f, 41f / 51f);
|
|
|
|
public Color EmeraldReflectColor = new Color(23f / 51f, 0.9411765f, 1f, 36f / 85f);
|
|
|
|
public Color AtollWaterColor = new Color(0.4627451f, 0.88235295f, 0.72156864f, 0.4117647f);
|
|
|
|
public Color AtollReflectColor = new Color(0.8235294f, 0.9411765f, 50f / 51f, 1f);
|
|
|
|
public Color MobileWaterColor = new Color(2f / 3f, 44f / 51f, 50f / 51f, 0.4117647f);
|
|
|
|
public Color MobileReflectColor = new Color(46f / 51f, 44f / 51f, 44f / 51f, 10f / 51f);
|
|
|
|
public SpecularLightingSM SpecularSource;
|
|
|
|
public Vector3 Water_start;
|
|
|
|
public Vector2 Water_size = new Vector2(0f, 0f);
|
|
|
|
public SeasonalTerrainSKYMASTER TerrainManager;
|
|
|
|
private Transform this_transf;
|
|
|
|
private Transform cam_transf;
|
|
|
|
private int prev_preset;
|
|
|
|
private void Start()
|
|
{
|
|
if (TerrainDepthCamera != null && oceanMat != null)
|
|
{
|
|
oceanMat.SetVector("_DepthCameraPos", new Vector4(TerrainDepthCamera.position.x, TerrainDepthCamera.position.y, TerrainDepthCamera.position.z, 1f));
|
|
}
|
|
if (oceanMat != null)
|
|
{
|
|
oceanMat.SetFloat("_ShoreFadeFactor", ShoreWavesFade);
|
|
oceanMat.SetFloat("_TerrainScale", TerrainScale);
|
|
}
|
|
if (UnderwaterBlur == null)
|
|
{
|
|
UnderwaterBlur = Camera.main.gameObject.GetComponent<UnderWaterImageEffect>();
|
|
if (UnderwaterBlur == null)
|
|
{
|
|
Debug.Log("Please add 'UnderWaterImageEffect' script to the main camera");
|
|
}
|
|
if (UnderwaterBlur != null)
|
|
{
|
|
UnderwaterBlur.enabled = false;
|
|
}
|
|
}
|
|
if (Application.isPlaying)
|
|
{
|
|
Water_start = base.transform.position;
|
|
this_transf = base.transform;
|
|
cam_transf = Camera.main.transform;
|
|
if (TerrainManager != null)
|
|
{
|
|
prev_preset = TerrainManager.FogPreset;
|
|
}
|
|
if (oceanMat == null)
|
|
{
|
|
oceanMat = GetComponentsInChildren<MeshRenderer>(includeInactive: true)[0].material;
|
|
}
|
|
SpecularSource = base.gameObject.GetComponent<SpecularLightingSM>();
|
|
if (RenderSettings.fogMode == FogMode.Exponential)
|
|
{
|
|
prev_fog_mode = 0;
|
|
}
|
|
if (RenderSettings.fogMode == FogMode.ExponentialSquared)
|
|
{
|
|
prev_fog_mode = 1;
|
|
}
|
|
if (RenderSettings.fogMode == FogMode.Linear)
|
|
{
|
|
prev_fog_mode = 2;
|
|
}
|
|
prev_fog_density = RenderSettings.fogDensity;
|
|
prev_fog_color = RenderSettings.fogColor;
|
|
PrevStartEndDist = new Vector2(RenderSettings.fogStartDistance, RenderSettings.fogEndDistance);
|
|
if (SkyManager != null && oceanMat != null)
|
|
{
|
|
UpdateWaterParams(Init: true);
|
|
}
|
|
}
|
|
}
|
|
|
|
public void DisableColliders()
|
|
{
|
|
MeshCollider[] componentsInChildren = base.gameObject.GetComponentsInChildren<MeshCollider>();
|
|
if (componentsInChildren != null && componentsInChildren.Length != 0)
|
|
{
|
|
for (int i = 0; i < componentsInChildren.Length; i++)
|
|
{
|
|
componentsInChildren[i].enabled = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void EnableColliders()
|
|
{
|
|
MeshCollider[] componentsInChildren = base.gameObject.GetComponentsInChildren<MeshCollider>();
|
|
if (componentsInChildren != null && componentsInChildren.Length != 0)
|
|
{
|
|
for (int i = 0; i < componentsInChildren.Length; i++)
|
|
{
|
|
componentsInChildren[i].enabled = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void UpdateWaterParams(bool Init)
|
|
{
|
|
bool flag = (SkyManager.AutoSunPosition && SkyManager.Rot_Sun_X > 0f) | (!SkyManager.AutoSunPosition && ((SkyManager.Current_Time > 9f + SkyManager.Shift_dawn) & (SkyManager.Current_Time <= SkyManager.NightTimeMax + SkyManager.Shift_dawn)));
|
|
bool flag2 = (SkyManager.AutoSunPosition && SkyManager.Rot_Sun_X < 5f) | (!SkyManager.AutoSunPosition && SkyManager.Current_Time > 21f + SkyManager.Shift_dawn);
|
|
bool flag3 = (SkyManager.AutoSunPosition && SkyManager.Rot_Sun_X > 65f) | (!SkyManager.AutoSunPosition && SkyManager.Current_Time > 17f + SkyManager.Shift_dawn);
|
|
float t = 0.1f * Time.deltaTime * (SkyManager.SPEED + minShiftSpeed);
|
|
if (Init)
|
|
{
|
|
t = 100000f;
|
|
if (!OverrideReflectColor)
|
|
{
|
|
ReflectColor = oceanMat.GetColor("_ReflectionColor");
|
|
}
|
|
}
|
|
Vector4 vector = oceanMat.GetVector("_Foam");
|
|
if (Init)
|
|
{
|
|
oceanMat.SetVector("_Foam", Vector4.Lerp(vector, new Vector4(0f + FoamOffset, 0f + FoamCutoff, -0.16f, -0.21f), t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetVector("_Foam", Vector4.Lerp(vector, new Vector4(0f + FoamOffset, 0f + FoamCutoff, -0.16f, -0.21f), t));
|
|
}
|
|
if (!UseSkyGradient)
|
|
{
|
|
if (OverrideReflectColor)
|
|
{
|
|
if (!Init)
|
|
{
|
|
oceanMat.SetColor("_ReflectionColor", ReflectColor);
|
|
}
|
|
}
|
|
else if (SkyManager.currentWeatherName == SkyMasterManager.Volume_Weather_types.HeavyStorm)
|
|
{
|
|
SpecularSource.specularLight = null;
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), StormWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), NightReflectColor, t));
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), fogStormColorShader, t));
|
|
}
|
|
else if (SkyManager.currentWeatherName == SkyMasterManager.Volume_Weather_types.SnowStorm)
|
|
{
|
|
SpecularSource.specularLight = null;
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), SnowStormWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), SnowStormWaterColor, t));
|
|
}
|
|
else if (flag)
|
|
{
|
|
SpecularSource.specularLight = SkyManager.SunObj.transform;
|
|
if (flag2)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DuskWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DuskReflectColor * 0.9f, t));
|
|
if (!BelowWater)
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), fogStormColorShader, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), underwaterFogColorShader, t));
|
|
}
|
|
}
|
|
else if (flag3)
|
|
{
|
|
if (!BelowWater)
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), fogColorShaderDusk, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), underwaterFogColorShader, t));
|
|
}
|
|
if (waterType == WaterPreset.Muddy)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), MuddyWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), MuddyReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Atoll)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), AtollWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), AtollReflectColor, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DuskWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DuskReflectColor, t));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!BelowWater)
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), fogColorShaderDay, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), underwaterFogColorShader, t));
|
|
}
|
|
if (waterType != WaterPreset.Custom)
|
|
{
|
|
if ((waterType == WaterPreset.Caribbean) | (waterType == WaterPreset.FocusOcean))
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DayWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DayReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Emerald)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), EmeraldWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), EmeraldReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.SmallWaves)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), EmeraldWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), EmeraldReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Lake)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), EmeraldWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), EmeraldReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Muddy)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), MuddyWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), MuddyReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.River)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DayRiverColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DayRiverReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Ocean)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DayOceanColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DayOceanReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.DarkOcean)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DarkOceanColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DarkOceanReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Atoll)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), AtollWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), AtollReflectColor, t));
|
|
}
|
|
else if (waterType == WaterPreset.Mobile)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), MobileWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), MobileReflectColor, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), DayWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), DayReflectColor, t));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (!BelowWater)
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), fogStormColorShader, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), underwaterFogColorShader, t));
|
|
}
|
|
SpecularSource.specularLight = SkyManager.MOON_LIGHT.transform;
|
|
if (waterType == WaterPreset.Atoll)
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), AtollWaterColor * 0.6f, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), AtollReflectColor * 0.6f, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("_BaseColor", Color.Lerp(oceanMat.GetColor("_BaseColor"), NightWaterColor, t));
|
|
oceanMat.SetColor("_ReflectionColor", Color.Lerp(oceanMat.GetColor("_ReflectionColor"), NightReflectColor, t));
|
|
}
|
|
}
|
|
}
|
|
if (UseSkyGradient && SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm && SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStormDark)
|
|
{
|
|
Color gradSkyColor = SkyManager.gradSkyColor;
|
|
gradSkyColor *= Mathf.Clamp01(1.2f + (SkyManager.m_Coloration + SkyManager.SkyColorationOffset));
|
|
Color color = new Color(Mathf.Pow(gradSkyColor.r, SkyManager.FogWaterPow), Mathf.Pow(gradSkyColor.g, SkyManager.FogWaterPow), Mathf.Pow(gradSkyColor.b, SkyManager.FogWaterPow), GradReflIntensity);
|
|
if (!Application.isPlaying && !BelowWater)
|
|
{
|
|
oceanMat.SetColor("_ReflectionColor", color);
|
|
}
|
|
OverrideReflectColor = true;
|
|
if (Application.isPlaying)
|
|
{
|
|
ReflectColor = Color.Lerp(ReflectColor, color, Time.deltaTime * 0.1f);
|
|
}
|
|
else
|
|
{
|
|
ReflectColor = color;
|
|
}
|
|
oceanMat.SetColor("_BaseColor", new Color(gradSkyColor.r * 0.5f, gradSkyColor.g * 0.5f, gradSkyColor.b * 0.5f, GradTransp));
|
|
if (useCloudGradFogTint)
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), new Color(gradSkyColor.r * autoColorfogBrightness, gradSkyColor.g * autoColorfogBrightness, gradSkyColor.b * autoColorfogBrightness, 1f) * SkyManager.gradCloudFogColor, t));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetColor("fogColor", Color.Lerp(oceanMat.GetColor("fogColor"), new Color(gradSkyColor.r * autoColorfogBrightness, gradSkyColor.g * autoColorfogBrightness, gradSkyColor.b * autoColorfogBrightness, 1f) * FogTint, t));
|
|
}
|
|
}
|
|
float num = SkyManager.SPEED + minShiftSpeed;
|
|
float num2 = Time.deltaTime;
|
|
if (Init)
|
|
{
|
|
num = 10000f;
|
|
num2 = 10000f;
|
|
}
|
|
if (cam_transf != null && cam_transf.position.y < this_transf.position.y && !DisableUnderwater)
|
|
{
|
|
oceanMat.SetFloat("fogDepth", Mathf.Lerp(oceanMat.GetFloat("fogDepth"), underwaterfogDensity, num2 * num * 10f));
|
|
oceanMat.SetFloat("fogBias", Mathf.Lerp(oceanMat.GetFloat("fogBias"), underwaterfogBias, num2 * num * 10f));
|
|
oceanMat.SetFloat("fogThres", Mathf.Lerp(oceanMat.GetFloat("fogThres"), underwaterfogStartDistance, num2 * num * 10f));
|
|
if (underWaterType != UnderWaterPreset.Custom)
|
|
{
|
|
if (underWaterType == UnderWaterPreset.Fancy)
|
|
{
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.17f, 0.27f * num2 * num));
|
|
float num3 = 2E-05f;
|
|
float num4 = 1.6E-05f;
|
|
float num5 = -582f;
|
|
num3 = 1f;
|
|
num4 = 1f;
|
|
num5 = 0f - SunShaftsInt;
|
|
float num6 = this_transf.position.y - cam_transf.position.y;
|
|
if (cam_transf.position.y < this_transf.position.y - DepthFogSwitch)
|
|
{
|
|
if (flag & (SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm))
|
|
{
|
|
Vector4 vector2 = oceanMat.GetVector("_InvFadeParemeter");
|
|
float num7 = num5 + (num6 - DepthFogSwitch) * 35f;
|
|
if (num7 > 5f)
|
|
{
|
|
num7 = 5f;
|
|
}
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector2, new Vector4(num3 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num7), 222.57f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
Vector4 vector3 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector3, new Vector4(num3 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 1f), 22.57f * num2 * num));
|
|
}
|
|
}
|
|
else if (flag & (SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm))
|
|
{
|
|
Vector4 vector4 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector4, new Vector4(num4 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num5), 225.57f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
Vector4 vector5 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector5, new Vector4(num4 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 1f), 222.57f * num2 * num));
|
|
}
|
|
Vector4 vector6 = oceanMat.GetVector("_DistortParams");
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector6, new Vector4(7.82f, 0.1f, -0.74f, 569.9f), 0.27f * num2 * num));
|
|
Vector4 vector7 = oceanMat.GetVector("_BumpTiling");
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector7, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
}
|
|
else if (underWaterType == UnderWaterPreset.Turbulent)
|
|
{
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 329f, 0.27f * num2 * num));
|
|
float num8 = 2E-05f;
|
|
float num9 = 1.6E-05f;
|
|
float num10 = -582f;
|
|
num8 = 1.81f;
|
|
num9 = 1.81f;
|
|
num10 = 0f - SunShaftsInt - 200f;
|
|
float num11 = this_transf.position.y - cam_transf.position.y;
|
|
if (cam_transf.position.y < this_transf.position.y - DepthFogSwitch)
|
|
{
|
|
if (flag & (SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm))
|
|
{
|
|
Vector4 vector8 = oceanMat.GetVector("_InvFadeParemeter");
|
|
float num12 = num10 + (num11 - DepthFogSwitch) * 35f;
|
|
if (num12 > 5f)
|
|
{
|
|
num12 = 5f;
|
|
}
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector8, new Vector4(num8 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num12), 222.57f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
Vector4 vector9 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector9, new Vector4(num8 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 1f), 22.57f * num2 * num));
|
|
}
|
|
}
|
|
else if (flag & (SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm))
|
|
{
|
|
Vector4 vector10 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector10, new Vector4(num9 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num10), 225.57f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
Vector4 vector11 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector11, new Vector4(num9 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 1f), 222.57f * num2 * num));
|
|
}
|
|
Vector4 vector12 = oceanMat.GetVector("_DistortParams");
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector12, new Vector4(22.17f, 0.1f, -0.74f, 1.19f), 0.27f * num2 * num));
|
|
Vector4 vector13 = oceanMat.GetVector("_BumpTiling");
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector13, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
Vector4 vector14 = oceanMat.GetVector("_GAmplitude");
|
|
Vector4 vector15 = oceanMat.GetVector("_GFrequency");
|
|
Vector4 vector16 = oceanMat.GetVector("_GSteepness");
|
|
Vector4 vector17 = oceanMat.GetVector("_GSpeed");
|
|
Vector4 vector18 = oceanMat.GetVector("_GDirectionAB");
|
|
Vector4 vector19 = oceanMat.GetVector("_GDirectionCD");
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector14, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector15, new Vector4(2.54f, 8.52f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector16, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector17, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector18, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector19, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 5.71f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
}
|
|
else if (underWaterType == UnderWaterPreset.Calm)
|
|
{
|
|
Color color2 = oceanMat.GetColor("_BaseColor");
|
|
oceanMat.SetColor("_BaseColor", new Color(color2.r, color2.g, color2.b, 0.04f));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 329f, 0.27f * num2 * num));
|
|
float num13 = 2E-05f;
|
|
float num14 = 1.6E-05f;
|
|
float num15 = 0f;
|
|
num13 = 1.81f;
|
|
num14 = 1.81f;
|
|
float num16 = this_transf.position.y - cam_transf.position.y;
|
|
if (cam_transf.position.y < this_transf.position.y - DepthFogSwitch)
|
|
{
|
|
if (flag & (SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm))
|
|
{
|
|
Vector4 vector20 = oceanMat.GetVector("_InvFadeParemeter");
|
|
_ = num15 + (num16 - DepthFogSwitch) * 35f;
|
|
_ = 5f;
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector20, new Vector4(num13 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num15), 222.57f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
Vector4 vector21 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector21, new Vector4(num13 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num15), 22.57f * num2 * num));
|
|
}
|
|
}
|
|
else if (flag & (SkyManager.currentWeatherName != SkyMasterManager.Volume_Weather_types.HeavyStorm))
|
|
{
|
|
Vector4 vector22 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector22, new Vector4(num14 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num15), 225.57f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
Vector4 vector23 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector23, new Vector4(num14 + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, num15), 222.57f * num2 * num));
|
|
}
|
|
Vector4 vector24 = oceanMat.GetVector("_DistortParams");
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector24, new Vector4(222.17f, 0.011f, 1f, -25f), 0.27f * num2 * num));
|
|
Vector4 vector25 = oceanMat.GetVector("_BumpTiling");
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector25, new Vector4(0.82f + bumpTilingXoffset, 0.77f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
Vector4 vector26 = oceanMat.GetVector("_GAmplitude");
|
|
Vector4 vector27 = oceanMat.GetVector("_GFrequency");
|
|
Vector4 vector28 = oceanMat.GetVector("_GSteepness");
|
|
Vector4 vector29 = oceanMat.GetVector("_GSpeed");
|
|
Vector4 vector30 = oceanMat.GetVector("_GDirectionAB");
|
|
Vector4 vector31 = oceanMat.GetVector("_GDirectionCD");
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector26, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector27, new Vector4(2.54f, 8.52f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector28, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector29, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector30, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector31, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 5.71f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetFloat("fogDepth", Mathf.Lerp(oceanMat.GetFloat("fogDepth"), fogDensity, num2 * 20f * num));
|
|
oceanMat.SetFloat("fogBias", Mathf.Lerp(oceanMat.GetFloat("fogBias"), fogBias, num2 * 20f * num));
|
|
oceanMat.SetFloat("fogThres", Mathf.Lerp(oceanMat.GetFloat("fogThres"), fogStartDistance, num2 * 20f * num));
|
|
Vector4 vector32 = oceanMat.GetVector("_InvFadeParemeter");
|
|
Vector4 vector33 = oceanMat.GetVector("_DistortParams");
|
|
Vector4 vector34 = oceanMat.GetVector("_BumpTiling");
|
|
Vector4 vector35 = oceanMat.GetVector("_GAmplitude");
|
|
Vector4 vector36 = oceanMat.GetVector("_GFrequency");
|
|
Vector4 vector37 = oceanMat.GetVector("_GSteepness");
|
|
Vector4 vector38 = oceanMat.GetVector("_GSpeed");
|
|
Vector4 vector39 = oceanMat.GetVector("_GDirectionAB");
|
|
Vector4 vector40 = oceanMat.GetVector("_GDirectionCD");
|
|
if (oceanMat.HasProperty("_GerstnerIntensities"))
|
|
{
|
|
Vector4 vector41 = oceanMat.GetVector("_GerstnerIntensities");
|
|
Vector4 vector42 = oceanMat.GetVector("_Gerstnerfactors");
|
|
Vector4 vector43 = oceanMat.GetVector("_Gerstnerfactors2");
|
|
Vector4 vector44 = oceanMat.GetVector("_GerstnerfactorsDir");
|
|
Vector4 vector45 = oceanMat.GetVector("_GerstnerfactorsSteep");
|
|
if (waterType == WaterPreset.Atoll)
|
|
{
|
|
oceanMat.SetVector("_GerstnerIntensities", Vector4.Lerp(vector41, new Vector4(0.13f, 0.01f, 0.01f, 0f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_Gerstnerfactors", Vector4.Lerp(vector42, new Vector4(2.33f, 2.11f, 40f, 1f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_Gerstnerfactors2", Vector4.Lerp(vector43, new Vector4(0.09f, 1f, 1.43f, 1f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GerstnerfactorsDir", Vector4.Lerp(vector44, new Vector4(-4.61f, 1f, 1f, 1f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GerstnerfactorsSteep", Vector4.Lerp(vector45, new Vector4(2f, 1f, 2f, 1f), 110.27f * num2 * num));
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetVector("_GerstnerIntensities", Vector4.Lerp(vector41, ExtraWavesFactor, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_Gerstnerfactors", Vector4.Lerp(vector42, ExtraWavesFreqFactor, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_Gerstnerfactors2", Vector4.Lerp(vector43, ExtraWavesAmpFactor, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GerstnerfactorsDir", Vector4.Lerp(vector44, ExtraWavesDirFactor, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GerstnerfactorsSteep", Vector4.Lerp(vector45, ExtraWavesSteepFactor, 110.27f * num2 * num));
|
|
}
|
|
}
|
|
if (waterType != WaterPreset.Custom)
|
|
{
|
|
if (waterType == WaterPreset.Caribbean)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(7.82f + BumpFocusOffset, 0.1f + RefractOffset, -0.74f + FresnelOffset, 6f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 368f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.16f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.5f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 5.71f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.Emerald)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(9.78f + BumpFocusOffset, 0.1f + RefractOffset, -0.74f + FresnelOffset, 6f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 65f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.077f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.4f + bumpTilingXoffset, 0.4f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 8.5f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(1.14f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.85f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, -1.3f, 0.06f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 3.73f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), 0f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), 0f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.SmallWaves)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(4.49f + BumpFocusOffset, 0.15f + RefractOffset, -0.04f + FresnelOffset, 66.9f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 7f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.11f + ShoreBlendOffset, 6.3f + foamExtendOffset, 0.76f, -7.4f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.59f + bumpTilingXoffset, 0.97f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), -0.58f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.2f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(1.71f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 15.56f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.188599f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), 0f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.Lake)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(1.8f + BumpFocusOffset, 0.27f + RefractOffset, 0.19f + FresnelOffset, 6f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 472f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.09f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.16f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.02f, 0f, 0f, 0f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(3f, 1.74f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), -1f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), 0f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.FocusOcean)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(4.49f + BumpFocusOffset, 0.36f + RefractOffset, -0.06f + FresnelOffset, 73.47f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 188f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.1f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 0.72f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.59f + bumpTilingXoffset, 0.97f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), -0.59f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.32f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(1.71f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 12.17f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.1886f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.Muddy)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(6.37f + BumpFocusOffset, 0.1f + RefractOffset, -0.74f + FresnelOffset, 6f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 113f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.07f + ShoreBlendOffset, 0.15f + foamExtendOffset, 1.29f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.5f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 5.71f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.River)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(6.59f + BumpFocusOffset, 0.1f + RefractOffset, -0.74f + FresnelOffset, 6f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 63f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.16f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.5f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 5.71f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if ((waterType == WaterPreset.Ocean) | (waterType == WaterPreset.DarkOcean))
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(3.04f + BumpFocusOffset, -1.23f + RefractOffset, 1.85f + FresnelOffset, -0.5f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 93f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.43f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.21f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.02f + bumpTilingXoffset, 0.02f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 9.47f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.18f, 0.83f, 0.06f, 0.222f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.5f, 0.38f, 0.59f, 0.35f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(0f, 22f, 0f, 0f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-3f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.46f, 0.35f, -0.11f, -0.07f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.7f, -0.04f, 0.7175f, 0.31f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 8.14f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.06f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), 0f, 0.15f * num2 * num));
|
|
waterScaleFactor = new Vector3(1f, 6f, 1f);
|
|
}
|
|
else if (waterType == WaterPreset.Atoll)
|
|
{
|
|
if (cam_transf != null)
|
|
{
|
|
HeightSpecularCorrect = (cam_transf.position.y - this_transf.position.y) * 0.001f;
|
|
}
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(3.91f + BumpFocusOffset, 0.36f + RefractOffset, -0.035f - HeightSpecularCorrect + FresnelOffset, 65.85f + FresnelBias), 0.27f * num2 * num * 5f));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 204f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.29f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.034f + ShoreBlendOffset, 0.15f + foamExtendOffset, 0.043f, 0.72f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.89f + bumpTilingXoffset, 1.27f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 1.16f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.32f, -0.22f, 0f, 0.36f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(1.71f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 12.17f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.188599f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), 0f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.Mobile)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(0.67f + BumpFocusOffset, 25f + RefractOffset, 2.25f - HeightSpecularCorrect + FresnelOffset, 0.84f + FresnelBias), 0.27f * num2 * num * 5f));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 20f, 0.27f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.01f + ShoreBlendOffset, 0.04f + foamExtendOffset, 0.043f, 0.7f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(1f + bumpTilingXoffset, 1f + bumpTilingYoffset, 0.08f, 0.16f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.16f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(1f, 1.8f, 0f, 0.36f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.27f, 0.74f, 0f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 12.17f + DepthColorOffset, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else if (waterType == WaterPreset.LitOcean)
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(1f + BumpFocusOffset, 0.36f + RefractOffset, -0.078f - HeightSpecularCorrect + FresnelOffset, 40.9f + FresnelBias), 0.27f * num2 * num * 5f));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 196f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 3.95f, 0.25f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.034f + ShoreBlendOffset, 0.17f + foamExtendOffset, 0.043f, -18.5f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_Foam", Vector4.Lerp(oceanMat.GetVector("_Foam"), new Vector4(2.56f, 0.6f, -0.16f, -0.21f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.89f + bumpTilingXoffset, 1.27f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 1.16f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.12f, 0.14f, 0.03f, 0.12f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.71f, 0.58f, 0.45f, 0.45f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 49.3f + DepthColorOffset, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
else
|
|
{
|
|
oceanMat.SetVector("_DistortParams", Vector4.Lerp(vector33, new Vector4(7.82f + BumpFocusOffset, 0.1f + RefractOffset, -0.74f + FresnelOffset, 6f + FresnelBias), 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_Shininess", Mathf.Lerp(oceanMat.GetFloat("_Shininess"), 368f, 0.27f * num2 * num));
|
|
oceanMat.SetFloat("_FresnelScale", Mathf.Lerp(oceanMat.GetFloat("_FresnelScale"), 0.15f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_InvFadeParemeter", Vector4.Lerp(vector32, new Vector4(0.16f + ShoreBlendOffset, 0.1594f + foamExtendOffset, 0.043f, 4.2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_BumpTiling", Vector4.Lerp(vector34, new Vector4(0.12f + bumpTilingXoffset, 0.07f + bumpTilingYoffset, 0.08f, 0.06f), 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity"), 18.21f, 0.15f * num2 * num));
|
|
oceanMat.SetVector("_GAmplitude", Vector4.Lerp(vector35, new Vector4(0.16f, -0.22f, 0f, -0.11f) + WaveAmpOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GFrequency", Vector4.Lerp(vector36, new Vector4(0.5f, 1.58f, 2.45f, 0.75f) + WaveFreqOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSteepness", Vector4.Lerp(vector37, new Vector4(6.96f, 2f, 5.92f, 2f), 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GSpeed", Vector4.Lerp(vector38, new Vector4(-2.53f, 2f, 1f, 3f) + WaveSpeedOffset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionAB", Vector4.Lerp(vector39, new Vector4(0.1f, -0.41f, -0.2f, 0.1f) + WaveDir1Offset, 110.27f * num2 * num));
|
|
oceanMat.SetVector("_GDirectionCD", Vector4.Lerp(vector40, new Vector4(0.52f, -0.6799f, 0.7175f, -0.2f) + WaveDir2Offset, 110.27f * num2 * num));
|
|
oceanMat.SetFloat("_MultiplyEffect", Mathf.Lerp(oceanMat.GetFloat("_MultiplyEffect"), 5.71f + DepthColorOffset, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity1", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity1"), -0.18f, 0.15f * num2 * num));
|
|
oceanMat.SetFloat("_GerstnerIntensity2", Mathf.Lerp(oceanMat.GetFloat("_GerstnerIntensity2"), -0.03f, 0.15f * num2 * num));
|
|
waterScaleFactor = Vector3.one;
|
|
}
|
|
}
|
|
}
|
|
if (Application.isPlaying)
|
|
{
|
|
this_transf.localScale = Vector3.Lerp(this_transf.localScale, waterScaleFactor + waterScaleOffset, 0.15f * num2 * num);
|
|
}
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (Application.isPlaying)
|
|
{
|
|
if (cam_transf == null)
|
|
{
|
|
cam_transf = Camera.main.transform;
|
|
}
|
|
if (followCamera && Camera.main != null)
|
|
{
|
|
Vector3 position = Camera.main.transform.position;
|
|
if (TerrainDepthCamera != null)
|
|
{
|
|
TerrainDepthCamera.position = new Vector3(position.x, TerrainDepthCamera.position.y, position.z);
|
|
}
|
|
}
|
|
}
|
|
if (TerrainDepthCamera != null && oceanMat != null)
|
|
{
|
|
oceanMat.SetVector("_DepthCameraPos", new Vector4(TerrainDepthCamera.position.x, TerrainDepthCamera.position.y, TerrainDepthCamera.position.z, 1f));
|
|
}
|
|
if (oceanMat != null)
|
|
{
|
|
oceanMat.SetFloat("_ShoreFadeFactor", ShoreWavesFade);
|
|
oceanMat.SetFloat("_TerrainScale", TerrainScale);
|
|
}
|
|
if (SeaAudio != null)
|
|
{
|
|
if (DisableSeaAudio)
|
|
{
|
|
SeaAudio.volume = Mathf.Lerp(SeaAudio.volume, 0f, Time.deltaTime * SoundFadeSpeed);
|
|
}
|
|
else if (SkyManager != null)
|
|
{
|
|
if ((SkyManager.currentWeatherName == SkyMasterManager.Volume_Weather_types.HeavyStorm) | (SkyManager.currentWeatherName == SkyMasterManager.Volume_Weather_types.HeavyStormDark))
|
|
{
|
|
SeaAudio.volume = Mathf.Lerp(SeaAudio.volume, 0f, Time.deltaTime * SoundFadeSpeed);
|
|
}
|
|
else
|
|
{
|
|
SeaAudio.volume = Mathf.Lerp(SeaAudio.volume, maxAudioVolume, Time.deltaTime * SoundFadeSpeed);
|
|
}
|
|
}
|
|
}
|
|
if (CausticsMat != null)
|
|
{
|
|
if (BelowWater)
|
|
{
|
|
CausticsMat.SetFloat("_Intensity", Mathf.Lerp(CausticsMat.GetFloat("_Intensity"), CausticIntensity / 10f, Time.deltaTime * 2f));
|
|
}
|
|
else
|
|
{
|
|
CausticsMat.SetFloat("_Intensity", Mathf.Lerp(CausticsMat.GetFloat("_Intensity"), CausticIntensity, Time.deltaTime * 2f));
|
|
}
|
|
}
|
|
if (CausticsProjector != null)
|
|
{
|
|
CausticsProjector.orthographicSize = CausticSize;
|
|
}
|
|
if (UnderwaterBlur == null)
|
|
{
|
|
UnderwaterBlur = Camera.main.gameObject.GetComponent<UnderWaterImageEffect>();
|
|
_ = UnderwaterBlur == null;
|
|
if (UnderwaterBlur != null)
|
|
{
|
|
UnderwaterBlur.enabled = false;
|
|
}
|
|
}
|
|
if ((((UnderwaterBlurL == null) | (UnderwaterBlurR == null)) & (TerrainManager != null)) && TerrainManager.LeftCam != null && TerrainManager.RightCam != null)
|
|
{
|
|
UnderwaterBlurL = TerrainManager.LeftCam.GetComponent<UnderWaterImageEffect>();
|
|
UnderwaterBlurR = TerrainManager.RightCam.GetComponent<UnderWaterImageEffect>();
|
|
UnderwaterBlurL.enabled = false;
|
|
UnderwaterBlurR.enabled = false;
|
|
}
|
|
if (SkyManager != null && oceanMat != null)
|
|
{
|
|
if (Application.isPlaying)
|
|
{
|
|
UpdateWaterParams(Init: false);
|
|
}
|
|
else
|
|
{
|
|
UpdateWaterParams(Init: true);
|
|
}
|
|
}
|
|
if (!Application.isPlaying)
|
|
{
|
|
return;
|
|
}
|
|
if (TerrainManager != null)
|
|
{
|
|
if (TerrainManager.UseFogCurves)
|
|
{
|
|
if (BelowWater)
|
|
{
|
|
if (!toggledUnderwater || TerrainManager.fogDensity != volumeFogDensityUnderwater)
|
|
{
|
|
if (!toggledUnderwater)
|
|
{
|
|
volumeFogDensityOverwater = TerrainManager.fogDensity;
|
|
}
|
|
TerrainManager.fogDensity = volumeFogDensityUnderwater;
|
|
toggledUnderwater = true;
|
|
}
|
|
}
|
|
else if (toggledUnderwater)
|
|
{
|
|
TerrainManager.fogDensity = volumeFogDensityOverwater;
|
|
toggledUnderwater = false;
|
|
}
|
|
}
|
|
if (!(Camera.main != null))
|
|
{
|
|
return;
|
|
}
|
|
Vector3 vector = this_transf.position;
|
|
float num = (waterScaleFactor.y / 1f + waterScaleOffset.y) / 1f;
|
|
if (UnderOnWave && heightController != null)
|
|
{
|
|
Vector4 vector2 = heightController.WaterMaterial.GetVector("_GAmplitude");
|
|
Vector4 vector3 = heightController.WaterMaterial.GetVector("_GFrequency");
|
|
Vector4 vector4 = heightController.WaterMaterial.GetVector("_GSteepness");
|
|
Vector4 vector5 = heightController.WaterMaterial.GetVector("_GSpeed");
|
|
Vector4 vector6 = heightController.WaterMaterial.GetVector("_GDirectionAB");
|
|
Vector4 vector7 = heightController.WaterMaterial.GetVector("_GDirectionCD");
|
|
vector = heightController.GerstnerOffset(new Vector2(cam_transf.position.x, cam_transf.position.z), cam_transf.position.y, new Vector2(cam_transf.position.x, cam_transf.position.z), vector2, vector3, vector4, vector5, vector6, vector7);
|
|
vector = vector * num + this_transf.position - new Vector3(0f, TransYOffset, 0f);
|
|
}
|
|
if ((((cam_transf.position.y < this_transf.position.y) & (!UnderOnWave | (UnderOnWave & (heightController == null)))) | (UnderOnWave & (heightController != null) & ((cam_transf.position.y < vector.y * 1f) | (cam_transf.position.y < this_transf.position.y)))) & !DisableUnderwater)
|
|
{
|
|
if (TerrainManager.FogPreset != 9 && TerrainManager.FogPreset != 10)
|
|
{
|
|
prev_preset = TerrainManager.FogPreset;
|
|
}
|
|
TerrainManager.FogPreset = 9;
|
|
if (((cam_transf.position.y < this_transf.position.y - DepthFogSwitch) & (!UnderOnWave | (UnderOnWave & (heightController == null)))) | (UnderOnWave & (heightController != null) & ((cam_transf.position.y < vector.y * 1f - DepthFogSwitch) | (cam_transf.position.y < this_transf.position.y - DepthFogSwitch))))
|
|
{
|
|
TerrainManager.FogPreset = 10;
|
|
}
|
|
if (UnderwaterBlur != null && !UnderwaterBlur.enabled)
|
|
{
|
|
UnderwaterBlur.enabled = true;
|
|
}
|
|
if (UnderwaterBlurL != null && !UnderwaterBlurL.enabled)
|
|
{
|
|
UnderwaterBlurL.enabled = true;
|
|
}
|
|
if (UnderwaterBlurR != null && !UnderwaterBlurR.enabled)
|
|
{
|
|
UnderwaterBlurR.enabled = true;
|
|
}
|
|
RenderSettings.fogMode = FogMode.ExponentialSquared;
|
|
if (UnderOnWave)
|
|
{
|
|
RenderSettings.fogDensity = Mathf.Lerp(RenderSettings.fogDensity, underwaterFogDensity, Time.deltaTime * 0.1f);
|
|
RenderSettings.fogColor = Color.Lerp(RenderSettings.fogColor, Fog_Color, Time.deltaTime);
|
|
}
|
|
else
|
|
{
|
|
RenderSettings.fogDensity = underwaterFogDensity;
|
|
RenderSettings.fogColor = Fog_Color;
|
|
}
|
|
RenderSettings.fogStartDistance = 0f;
|
|
RenderSettings.fogEndDistance = 1000f;
|
|
BelowWater = true;
|
|
return;
|
|
}
|
|
if (TerrainManager.FogPreset == 9)
|
|
{
|
|
TerrainManager.FogPreset = prev_preset;
|
|
Vector4 vector8 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", new Vector4(vector8.x, vector8.y, vector8.z, 4f));
|
|
if (prev_fog_mode == 0)
|
|
{
|
|
RenderSettings.fogMode = FogMode.Exponential;
|
|
}
|
|
if (prev_fog_mode == 1)
|
|
{
|
|
RenderSettings.fogMode = FogMode.ExponentialSquared;
|
|
}
|
|
if (prev_fog_mode == 2)
|
|
{
|
|
RenderSettings.fogMode = FogMode.Linear;
|
|
}
|
|
if (UnderOnWave)
|
|
{
|
|
RenderSettings.fogDensity = Mathf.Lerp(RenderSettings.fogDensity, prev_fog_density, Time.deltaTime * 26f);
|
|
RenderSettings.fogColor = Color.Lerp(RenderSettings.fogColor, prev_fog_color, Time.deltaTime * 1f);
|
|
}
|
|
else
|
|
{
|
|
RenderSettings.fogDensity = prev_fog_density;
|
|
RenderSettings.fogColor = prev_fog_color;
|
|
}
|
|
RenderSettings.fogStartDistance = PrevStartEndDist.x;
|
|
RenderSettings.fogEndDistance = PrevStartEndDist.y;
|
|
WaterBase.waterQuality = WaterQuality.High;
|
|
}
|
|
if (UnderwaterBlur != null && UnderwaterBlur.enabled)
|
|
{
|
|
UnderwaterBlur.enabled = false;
|
|
}
|
|
if (UnderwaterBlurL != null && UnderwaterBlurL.enabled)
|
|
{
|
|
UnderwaterBlurL.enabled = false;
|
|
}
|
|
if (UnderwaterBlurR != null && UnderwaterBlurR.enabled)
|
|
{
|
|
UnderwaterBlurR.enabled = false;
|
|
}
|
|
BelowWater = false;
|
|
return;
|
|
}
|
|
Vector3 vector9 = this_transf.position;
|
|
float num2 = (waterScaleFactor.y / 1f + waterScaleOffset.y) / 1f;
|
|
if (UnderOnWave && heightController != null)
|
|
{
|
|
Vector4 vector10 = heightController.WaterMaterial.GetVector("_GAmplitude");
|
|
Vector4 vector11 = heightController.WaterMaterial.GetVector("_GFrequency");
|
|
Vector4 vector12 = heightController.WaterMaterial.GetVector("_GSteepness");
|
|
Vector4 vector13 = heightController.WaterMaterial.GetVector("_GSpeed");
|
|
Vector4 vector14 = heightController.WaterMaterial.GetVector("_GDirectionAB");
|
|
Vector4 vector15 = heightController.WaterMaterial.GetVector("_GDirectionCD");
|
|
vector9 = heightController.GerstnerOffset(new Vector2(cam_transf.position.x, cam_transf.position.z), cam_transf.position.y, new Vector2(cam_transf.position.x, cam_transf.position.z), vector10, vector11, vector12, vector13, vector14, vector15);
|
|
vector9 = vector9 * num2 + this_transf.position - new Vector3(0f, TransYOffset, 0f);
|
|
}
|
|
if ((((cam_transf.position.y < this_transf.position.y) & (!UnderOnWave | (UnderOnWave & (heightController == null)))) | (UnderOnWave & (heightController != null) & ((cam_transf.position.y < vector9.y * 1f) | (cam_transf.position.y < this_transf.position.y)))) & !DisableUnderwater)
|
|
{
|
|
if (UnderwaterBlur != null && !UnderwaterBlur.enabled)
|
|
{
|
|
UnderwaterBlur.enabled = true;
|
|
}
|
|
if (UnderwaterBlurL != null && !UnderwaterBlurL.enabled)
|
|
{
|
|
UnderwaterBlurL.enabled = true;
|
|
}
|
|
if (UnderwaterBlurR != null && !UnderwaterBlurR.enabled)
|
|
{
|
|
UnderwaterBlurR.enabled = true;
|
|
}
|
|
RenderSettings.fogMode = FogMode.ExponentialSquared;
|
|
if (UnderOnWave)
|
|
{
|
|
RenderSettings.fogDensity = Mathf.Lerp(RenderSettings.fogDensity, underwaterFogDensity, Time.deltaTime * 0.1f);
|
|
RenderSettings.fogColor = Color.Lerp(RenderSettings.fogColor, Fog_Color, Time.deltaTime);
|
|
}
|
|
else
|
|
{
|
|
RenderSettings.fogDensity = underwaterFogDensity;
|
|
RenderSettings.fogColor = Fog_Color;
|
|
}
|
|
RenderSettings.fogStartDistance = 0f;
|
|
RenderSettings.fogEndDistance = 1000f;
|
|
BelowWater = true;
|
|
return;
|
|
}
|
|
Vector4 vector16 = oceanMat.GetVector("_InvFadeParemeter");
|
|
oceanMat.SetVector("_InvFadeParemeter", new Vector4(vector16.x, vector16.y, vector16.z, 4f));
|
|
if (prev_fog_mode == 0)
|
|
{
|
|
RenderSettings.fogMode = FogMode.Exponential;
|
|
}
|
|
if (prev_fog_mode == 1)
|
|
{
|
|
RenderSettings.fogMode = FogMode.ExponentialSquared;
|
|
}
|
|
if (prev_fog_mode == 2)
|
|
{
|
|
RenderSettings.fogMode = FogMode.Linear;
|
|
}
|
|
if (UnderOnWave)
|
|
{
|
|
RenderSettings.fogDensity = Mathf.Lerp(RenderSettings.fogDensity, prev_fog_density, Time.deltaTime * 26f);
|
|
RenderSettings.fogColor = Color.Lerp(RenderSettings.fogColor, prev_fog_color, Time.deltaTime * 1f);
|
|
}
|
|
else
|
|
{
|
|
RenderSettings.fogDensity = prev_fog_density;
|
|
RenderSettings.fogColor = prev_fog_color;
|
|
}
|
|
RenderSettings.fogStartDistance = PrevStartEndDist.x;
|
|
RenderSettings.fogEndDistance = PrevStartEndDist.y;
|
|
WaterBase.waterQuality = WaterQuality.High;
|
|
if (UnderwaterBlur != null && UnderwaterBlur.enabled)
|
|
{
|
|
UnderwaterBlur.enabled = false;
|
|
}
|
|
if (UnderwaterBlurL != null && UnderwaterBlurL.enabled)
|
|
{
|
|
UnderwaterBlurL.enabled = false;
|
|
}
|
|
if (UnderwaterBlurR != null && UnderwaterBlurR.enabled)
|
|
{
|
|
UnderwaterBlurR.enabled = false;
|
|
}
|
|
BelowWater = false;
|
|
}
|
|
}
|
|
}
|