50 lines
1.5 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|