unity Shader新增
This commit is contained in:
1 parent
12dce37dbb
commit
da3087b1d4
36 files changed
+8857
No files matched your search
@@ -0,0 +1,63 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
|
||||
[System.Serializable, VolumeComponentMenu("Post-processing/Mobile Fog")]
|
||||
public class MobileFog : VolumeComponent, IPostProcessComponent
|
||||
{
|
||||
[Header("深度雾设置")]
|
||||
[Tooltip("深度雾密度")]
|
||||
public ClampedFloatParameter fogDensity = new ClampedFloatParameter(0f, 0f, 1f);
|
||||
|
||||
[Tooltip("深度雾开始距离")]
|
||||
public FloatParameter fogStart = new FloatParameter(0f);
|
||||
|
||||
[Tooltip("深度雾结束距离")]
|
||||
public FloatParameter fogEnd = new FloatParameter(100f);
|
||||
|
||||
[Header("高度雾设置")]
|
||||
[Tooltip("高度雾密度")]
|
||||
public ClampedFloatParameter heightFogDensity = new ClampedFloatParameter(0f, 0f, 1f);
|
||||
|
||||
[Tooltip("高度雾基础高度")]
|
||||
public FloatParameter heightFogBase = new FloatParameter(0f);
|
||||
|
||||
[Tooltip("高度雾影响范围")]
|
||||
public FloatParameter heightFogRange = new FloatParameter(50f);
|
||||
|
||||
[Header("噪波设置")]
|
||||
[Tooltip("噪波缩放")]
|
||||
public FloatParameter noiseScale = new FloatParameter(0.01f);
|
||||
|
||||
[Tooltip("噪波强度")]
|
||||
public ClampedFloatParameter noiseIntensity = new ClampedFloatParameter(5f, 0f, 20f);
|
||||
|
||||
[Tooltip("噪波动画速度")]
|
||||
public FloatParameter noiseSpeed = new FloatParameter(0.1f);
|
||||
|
||||
[Header("雾效外观")]
|
||||
[Tooltip("是否启用渐变色")]
|
||||
public BoolParameter useGradientColor = new BoolParameter(false);
|
||||
|
||||
[Tooltip("雾的固定颜色(不使用渐变时)")]
|
||||
public ColorParameter fogColor = new ColorParameter(Color.gray);
|
||||
|
||||
[Tooltip("近处雾的颜色")]
|
||||
public ColorParameter fogColorNear = new ColorParameter(new Color(0.8f, 0.9f, 1f, 1f)); // 偏蓝的近景色
|
||||
|
||||
[Tooltip("远处雾的颜色")]
|
||||
public ColorParameter fogColorFar = new ColorParameter(new Color(0.6f, 0.7f, 0.9f, 1f)); // 偏紫的远景色
|
||||
|
||||
[Tooltip("渐变过渡距离")]
|
||||
public FloatParameter gradientDistance = new FloatParameter(100f);
|
||||
|
||||
[Tooltip("雾效强度")]
|
||||
public ClampedFloatParameter intensity = new ClampedFloatParameter(1f, 0f, 1f);
|
||||
|
||||
[Header("移动端优化")]
|
||||
[Tooltip("使用快速模式(降低质量提升性能)")]
|
||||
public BoolParameter useFastMode = new BoolParameter(true);
|
||||
|
||||
public bool IsActive() => (fogDensity.value > 0f || heightFogDensity.value > 0f) && intensity.value > 0f;
|
||||
public bool IsTileCompatible() => false;
|
||||
}
|
||||
Reference in new issue
Block a user