| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | 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;
|
| | | }
|
| | | }
|
| | | }
|