Files
2026-03-04 10:03:45 +08:00

267 lines
4.7 KiB
C#

using System;
using INab.BetterFog.Core;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
namespace INab.BetterFog.BIRP
{
[Serializable]
[PostProcess(typeof(BetterFogRenderer), PostProcessEvent.BeforeStack, "BetterFog", true)]
public sealed class BetterFog : PostProcessEffectSettings
{
public BoolParameter _UseCustomDepthTexture = new BoolParameter
{
value = false
};
public BoolParameter _UseFogOffsetTexture = new BoolParameter
{
value = false
};
[Range(0f, 1f)]
public FloatParameter _FogIntensity = new FloatParameter
{
value = 1f
};
[Range(0f, 1f)]
public FloatParameter _EnergyLoss = new FloatParameter
{
value = 0f
};
public BoolParameter _UseGradient = new BoolParameter
{
value = false
};
public ColorParameter _FogColor = new ColorParameter
{
value = new Color(0.8f, 0.8f, 0.8f, 1f)
};
public FloatParameter _GradientStart = new FloatParameter
{
value = 0f
};
public FloatParameter _GradientEnd = new FloatParameter
{
value = 100f
};
public TextureParameter _GradientTexture = new TextureParameter
{
value = null
};
public BoolParameter _UseSunLight = new BoolParameter
{
value = false
};
public ColorParameter _SunColor = new ColorParameter
{
value = new Color(0.9f, 0.85f, 0.8f, 1f)
};
[Range(0f, 1f)]
public FloatParameter _SunIntensity = new FloatParameter
{
value = 0.5f
};
[Range(0.1f, 12f)]
public FloatParameter _SunPower = new FloatParameter
{
value = 2f
};
public BoolParameter _UseDistanceFog = new BoolParameter
{
value = true
};
public BoolParameter _UseRadialDistance = new BoolParameter
{
value = false
};
public FogParameter _FogType = new FogParameter
{
value = FogMode.ExponentialSquared
};
public FloatParameter _DistanceFogOffset = new FloatParameter
{
value = -20f
};
public FloatParameter _SceneStart = new FloatParameter
{
value = 10f
};
public FloatParameter _SceneEnd = new FloatParameter
{
value = 100f
};
[Range(0f, 0.1f)]
public FloatParameter _FogDensity = new FloatParameter
{
value = 0.001f
};
public BoolParameter _UseSkyboxHeightFog = new BoolParameter
{
value = false
};
[Range(-0.1f, 0.1f)]
public FloatParameter _SkyboxFogOffset = new FloatParameter
{
value = 0f
};
[Range(0f, 0.999f)]
public FloatParameter _SkyboxFogHardness = new FloatParameter
{
value = 0f
};
[Range(0f, 1f)]
public FloatParameter _SkyboxFogIntensity = new FloatParameter
{
value = 1f
};
[Range(0f, 1f)]
public FloatParameter _SkyboxFill = new FloatParameter
{
value = 0f
};
public BoolParameter _UseHeightFog = new BoolParameter
{
value = false
};
public FloatParameter _Height = new FloatParameter
{
value = 4f
};
[Range(0f, 0.5f)]
public FloatParameter _HeightDensity = new FloatParameter
{
value = 0.35f
};
public HeightFogParameter _HeightFogType = new HeightFogParameter
{
value = HeightFogType.ExponentialSquared
};
public BoolParameter _UseNoise = new BoolParameter
{
value = false
};
public NoiseAffectParameter _NoiseAffect = new NoiseAffectParameter
{
value = NoiseAffect.Both
};
[Range(0f, 1f)]
public FloatParameter _NoiseIntensity = new FloatParameter
{
value = 1f
};
public FloatParameter _NoiseDistanceEnd = new FloatParameter
{
value = 80f
};
[Range(1f, 16f)]
public FloatParameter _NoiseEndHardness = new FloatParameter
{
value = 0.35f
};
[Range(5f, 140f)]
public FloatParameter _Scale1 = new FloatParameter
{
value = 40f
};
[Range(0f, 1f)]
public FloatParameter _Lerp1 = new FloatParameter
{
value = 0.5f
};
public Vector3Parameter _NoiseSpeed1 = new Vector3Parameter
{
value = new Vector3(0f, 0f, 0f)
};
[Range(0f, 0.5f)]
public FloatParameter _NoiseTimeScale1 = new FloatParameter
{
value = 0.1f
};
public BoolParameter _UseSSMS = new BoolParameter
{
value = false
};
[Range(-1f, 1f)]
public FloatParameter _Threshold = new FloatParameter
{
value = 0f
};
public FloatParameter _SoftKnee = new FloatParameter
{
value = 0.5f
};
[Range(1f, 7f)]
public FloatParameter _Radius = new FloatParameter
{
value = 7f
};
[Range(0.1f, 100f)]
public FloatParameter _BlurWeight = new FloatParameter
{
value = 1f
};
[Range(0f, 1f)]
public FloatParameter _Intensity = new FloatParameter
{
value = 1f
};
public BoolParameter _HighQuality = new BoolParameter
{
value = false
};
public BoolParameter _AntiFlicker = new BoolParameter
{
value = false
};
public TextureParameter _FadeRamp = new TextureParameter
{
value = null
};
}
}