111
This commit is contained in:
133
Assets/ThirdParty/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs
vendored
Normal file
133
Assets/ThirdParty/PostProcessing/Runtime/Models/BuiltinDebugViewsModel.cs
vendored
Normal file
@@ -0,0 +1,133 @@
|
||||
using System;
|
||||
|
||||
namespace UnityEngine.PostProcessing
|
||||
{
|
||||
[Serializable]
|
||||
public class BuiltinDebugViewsModel : PostProcessingModel
|
||||
{
|
||||
[Serializable]
|
||||
public struct DepthSettings
|
||||
{
|
||||
[Range(0f, 1f), Tooltip("Scales the camera far plane before displaying the depth map.")]
|
||||
public float scale;
|
||||
|
||||
public static DepthSettings defaultSettings
|
||||
{
|
||||
get
|
||||
{
|
||||
return new DepthSettings
|
||||
{
|
||||
scale = 1f
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public struct MotionVectorsSettings
|
||||
{
|
||||
[Range(0f, 1f), Tooltip("Opacity of the source render.")]
|
||||
public float sourceOpacity;
|
||||
|
||||
[Range(0f, 1f), Tooltip("Opacity of the per-pixel motion vector colors.")]
|
||||
public float motionImageOpacity;
|
||||
|
||||
[Min(0f), Tooltip("Because motion vectors are mainly very small vectors, you can use this setting to make them more visible.")]
|
||||
public float motionImageAmplitude;
|
||||
|
||||
[Range(0f, 1f), Tooltip("Opacity for the motion vector arrows.")]
|
||||
public float motionVectorsOpacity;
|
||||
|
||||
[Range(8, 64), Tooltip("The arrow density on screen.")]
|
||||
public int motionVectorsResolution;
|
||||
|
||||
[Min(0f), Tooltip("Tweaks the arrows length.")]
|
||||
public float motionVectorsAmplitude;
|
||||
|
||||
public static MotionVectorsSettings defaultSettings
|
||||
{
|
||||
get
|
||||
{
|
||||
return new MotionVectorsSettings
|
||||
{
|
||||
sourceOpacity = 1f,
|
||||
|
||||
motionImageOpacity = 0f,
|
||||
motionImageAmplitude = 16f,
|
||||
|
||||
motionVectorsOpacity = 1f,
|
||||
motionVectorsResolution = 24,
|
||||
motionVectorsAmplitude = 64f
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum Mode
|
||||
{
|
||||
None,
|
||||
|
||||
Depth,
|
||||
Normals,
|
||||
MotionVectors,
|
||||
|
||||
AmbientOcclusion,
|
||||
EyeAdaptation,
|
||||
FocusPlane,
|
||||
PreGradingLog,
|
||||
LogLut,
|
||||
UserLut
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public struct Settings
|
||||
{
|
||||
public Mode mode;
|
||||
public DepthSettings depth;
|
||||
public MotionVectorsSettings motionVectors;
|
||||
|
||||
public static Settings defaultSettings
|
||||
{
|
||||
get
|
||||
{
|
||||
return new Settings
|
||||
{
|
||||
mode = Mode.None,
|
||||
depth = DepthSettings.defaultSettings,
|
||||
motionVectors = MotionVectorsSettings.defaultSettings
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[SerializeField]
|
||||
Settings m_Settings = Settings.defaultSettings;
|
||||
public Settings settings
|
||||
{
|
||||
get { return m_Settings; }
|
||||
set { m_Settings = value; }
|
||||
}
|
||||
|
||||
public bool willInterrupt
|
||||
{
|
||||
get
|
||||
{
|
||||
return !IsModeActive(Mode.None)
|
||||
&& !IsModeActive(Mode.EyeAdaptation)
|
||||
&& !IsModeActive(Mode.PreGradingLog)
|
||||
&& !IsModeActive(Mode.LogLut)
|
||||
&& !IsModeActive(Mode.UserLut);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
settings = Settings.defaultSettings;
|
||||
}
|
||||
|
||||
public bool IsModeActive(Mode mode)
|
||||
{
|
||||
return m_Settings.mode == mode;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user