Files
Convention-Unity-Demo/Assets/Scripts/Volume/MotionBlurVolume.cs
2025-12-12 15:19:10 +08:00

50 lines
1.5 KiB
C#

using Demo.Attr;
using UnityEngine;
using UnityEngine.Rendering.Universal;
namespace Demo.Game
{
[Scriptable]
public class MotionBlurVolume : BaseForSingleVolume<MotionBlur>
{
public static MotionBlurVolume Make()
{
return new GameObject().AddComponent<MotionBlurVolume>();
}
[Convention.RScript.Variable.Attr.Method]
public void SetLowMotionBlurQuality()
{
TargetOverride.quality.value = MotionBlurQuality.Low;
}
[Convention.RScript.Variable.Attr.Method]
public void SetMediumMotionBlurQuality()
{
TargetOverride.quality.value = MotionBlurQuality.Medium;
}
[Convention.RScript.Variable.Attr.Method]
public void SetHighMotionBlurQuality()
{
TargetOverride.quality.value = MotionBlurQuality.High;
}
/// <summary>
/// Use this if you need object motion blur.
/// </summary>
[Convention.RScript.Variable.Attr.Method]
public void EnableObjectsMotionBlur()
{
TargetOverride.mode.value = MotionBlurMode.CameraAndObjects;
}
[Convention.RScript.Variable.Attr.Method]
public void SetIntensity(float value)
{
TargetOverride.intensity.value = value;
}
[Convention.RScript.Variable.Attr.Method]
public void SetClamp(float value)
{
TargetOverride.clamp.value = value;
}
}
}