u3d吧 关注:4,710贴子:7,992
  • 2回复贴,共1

跪求大神帮忙,有一段C#代码看不懂,求帮助,很急

只看楼主收藏回复

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;


1楼2017-05-21 16:19回复
    我也看不懂,老哥


    IP属地:河南来自Android客户端2楼2017-06-25 23:16
    回复
      2025-12-21 20:13:13
      广告
      不感兴趣
      开通SVIP免广告
      命名空间
      namespace UnityStandardAssets.ImageEffects
      {
      //在编辑器模式下运行
      [ExecuteInEditMode]
      使用U3D的组件 Camera
      [RequireComponent (typeof(Camera))]
      在U3D中的菜单栏里添加 这个按钮
      [AddComponentMenu ("Image Effects/Camera/Camera Motion Blur") ]
      声明类并继承PostEffectsBase
      public class CameraMotionBlur : PostEffectsBase
      {
      // make sure to match this to MAX_RADIUS in shader ('k' in paper)
      静态float类型的变量
      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 vecto
      // 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;
      定义3个Shader类型
      // resources
      public Shader shader;
      public Shader dx11MotionBlurShader;
      public Shader replacementClear;
      定义 材质球
      private Material motionBlurMaterial = null;
      private Material dx11MotionBlurMaterial = null;
      定义2图片
      public Texture2D noiseTexture = null;
      public float jitter = 0.05f;
      也是变量
      // (internal) debug
      public bool showVelocity = false;
      public float showVelocityScale = 1.0f;


      IP属地:河南3楼2017-07-31 12:59
      回复