You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
3.7 KiB
133 lines
3.7 KiB
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; |
|
} |
|
} |
|
}
|
|
|