37 lines
1.5 KiB
C#
37 lines
1.5 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
using UnityEngine.Rendering.Universal;
|
|
|
|
[Serializable]
|
|
[VolumeComponentMenu("Post-processing/Bansonic/Global Glitch")]
|
|
[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))]
|
|
public sealed class GlobalGlitchVolume : VolumeComponent, IPostProcessComponent
|
|
{
|
|
[Tooltip("Base glitch intensity from the volume profile.")]
|
|
public ClampedFloatParameter intensity = new ClampedFloatParameter(0f, 0f, 1f);
|
|
|
|
[Tooltip("How strong the horizontal block tearing is.")]
|
|
public ClampedFloatParameter blockStrength = new ClampedFloatParameter(0.45f, 0f, 1f);
|
|
|
|
[Tooltip("How much the RGB channels split apart.")]
|
|
public ClampedFloatParameter colorSplit = new ClampedFloatParameter(0.01f, 0f, 0.05f);
|
|
|
|
[Tooltip("Per-line horizontal jitter amount.")]
|
|
public ClampedFloatParameter jitterAmount = new ClampedFloatParameter(0.4f, 0f, 1f);
|
|
|
|
[Tooltip("How many horizontal strips are used to drive the glitch pattern.")]
|
|
public ClampedFloatParameter stripFrequency = new ClampedFloatParameter(48f, 1f, 240f);
|
|
|
|
[Tooltip("Dark scanline contribution.")]
|
|
public ClampedFloatParameter scanlineStrength = new ClampedFloatParameter(0.18f, 0f, 1f);
|
|
|
|
[Tooltip("Whether this effect should run in SceneView cameras.")]
|
|
public BoolParameter affectSceneView = new BoolParameter(false);
|
|
|
|
public bool IsActive() => intensity.value > 0.0001f;
|
|
|
|
[Obsolete("Unused #from(2023.1)", false)]
|
|
public bool IsTileCompatible() => false;
|
|
}
|