namespace UnityStandardAssets.ImageEffects
{
[ExecuteInEditMode]
[RequireComponent (typeof(Camera))]
[AddComponentMenu ("Image Effects/Camera/Camera Motion Blur") ]
public class CameraMotionBlur : PostEffectsBase
{
// make sure to match this to MAX_RADIUS in shader ('k' in paper)
static float MAX_RADIUS = 10.0f;
public enum MotionBlurFilter {
CameraMotion = 0,// global screen blur based on cam motion
LocalBlur = 1,// cheap blur, no dilation or scattering
Reconstruction = 2,// advanced filter (simulates scattering) as in plausible motion blur paper
ReconstructionDX11 = 3,// advanced filter (simulates scattering) as in plausible motion blur paper
ReconstructionDisc = 4,// advanced filter using scaled poisson disc sampling
}
// settings
public MotionBlurFilter filterType = MotionBlurFilter.Reconstruction;
public bool preview = false;// show how blur would look like in action ...
public Vector3 previewScale = Vector3.one;// ... given this movement vector
// params
public float movementScale = 0.0f;
public float rotationScale = 1.0f;
public float maxVelocity = 8.0f;// maximum velocity in pixels
public float minVelocity = 0.1f;// minimum velocity in pixels
public float velocityScale = 0.375f;// global velocity scale
public float softZDistance = 0.005f;// for z overlap check softness (reconstruction filter only)
public int velocityDownsample = 1;// low resolution velocity buffer? (optimization)
public LayerMask excludeLayers = 0;
private GameObject tmpCam = null;
// resources
public Shader shader;
public Shader dx11MotionBlurShader;
public Shader replacementClear;
private Material motionBlurMaterial = null;
private Material dx11MotionBlurMaterial = null;
public Texture2D noiseTexture = null;
public float jitter = 0.05f;
// (internal) debug
public bool showVelocity = false;
public float showVelocityScale = 1.0f;
{
[ExecuteInEditMode]
[RequireComponent (typeof(Camera))]
[AddComponentMenu ("Image Effects/Camera/Camera Motion Blur") ]
public class CameraMotionBlur : PostEffectsBase
{
// make sure to match this to MAX_RADIUS in shader ('k' in paper)
static float MAX_RADIUS = 10.0f;
public enum MotionBlurFilter {
CameraMotion = 0,// global screen blur based on cam motion
LocalBlur = 1,// cheap blur, no dilation or scattering
Reconstruction = 2,// advanced filter (simulates scattering) as in plausible motion blur paper
ReconstructionDX11 = 3,// advanced filter (simulates scattering) as in plausible motion blur paper
ReconstructionDisc = 4,// advanced filter using scaled poisson disc sampling
}
// settings
public MotionBlurFilter filterType = MotionBlurFilter.Reconstruction;
public bool preview = false;// show how blur would look like in action ...
public Vector3 previewScale = Vector3.one;// ... given this movement vector
// params
public float movementScale = 0.0f;
public float rotationScale = 1.0f;
public float maxVelocity = 8.0f;// maximum velocity in pixels
public float minVelocity = 0.1f;// minimum velocity in pixels
public float velocityScale = 0.375f;// global velocity scale
public float softZDistance = 0.005f;// for z overlap check softness (reconstruction filter only)
public int velocityDownsample = 1;// low resolution velocity buffer? (optimization)
public LayerMask excludeLayers = 0;
private GameObject tmpCam = null;
// resources
public Shader shader;
public Shader dx11MotionBlurShader;
public Shader replacementClear;
private Material motionBlurMaterial = null;
private Material dx11MotionBlurMaterial = null;
public Texture2D noiseTexture = null;
public float jitter = 0.05f;
// (internal) debug
public bool showVelocity = false;
public float showVelocityScale = 1.0f;









