2、创建继承自基类的运动模糊后处理脚本MotionBlur.cs,并将其拖拽至摄像机中 基类脚本见上文 unity shader 后处理实现边缘检测 MotionBlur.cs usingUnityEngine;usingSystem.Collections;publicclassMotionBlur:PostEffectsBase{publicShader motionBlurShader;privateMaterial motionBlurMaterial =null;publicMaterial material {...
Shader"Unity Shaders Book/Chapter 12/Motion Blur"{Properties{//主纹理_MainTex("Base (RGB)",2D)="white"{}// 混合图片时使用的混合系数_BlurAmount("Blur Amount",Float)=1.0}SubShader{CGINCLUDE#include"UnityCG.cginc"sampler2D_MainTex;fixed_BlurAmount;structv2f{float4pos:SV_POSITION;half2uv:TEXC...
public class MotionBlur : PostEffectBase { public Shader shader; private Material mat = null; public Material Mat { get { mat = CheakShaderAndCreateMat(shader, mat); return mat; } } [Header("模糊的程度")] [Range(0,1)] public float blurSize = 0.5f; private Camera blurCamera; public ...
Shader: Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _BlurAmount ("Blur Amount", Float) = 1.0 } SubShader { CGINCLUDE ... // 更新RGB,当前图像。A通道设为模糊值,方便后面混合 fixed4 fragRGB (v2f i) : SV_Target { return fixed4(tex2D(_MainTex, i.uv).rgb, _BlurAmo...
public Shader motionBlurShader; private Material motionBlurMaterial = null; public Material material { get { motionBlurMaterial = CheckShaderAndCreateMaterial(motionBlurShader, motionBlurMaterial); return motionBlurMaterial; } } //定义运动模糊在混合图像时使用的模糊参数,blurAmount的值越大,运动拖尾的效果...
MotionBlur.shader Shader"MyShader/MotionBlur"{ Properties { _MainTex ("Base (RGB)",2D) ="white"{}// 主纹理_BlurAmount ("Blur Amount", Float) =1.0// 模糊值, 通过alpha通道控制当前屏幕纹理与历史屏幕纹理进行混合} SubShader {
var shader = Shader.Find("Hidden/MySelfShader"); mMat = new Material(shader); renderPass = new MySelfRenderPass("PostEffectRender", RenderPassEvent.AfterRenderingTransparents, mMat, 0); } } 1. 2. 3. 4. 5. 6. 7. 8. 9.
2、创建继承自基类的运动模糊后处理脚本MotionBlur.cs,并将其拖拽至摄像机中 基类脚本见上文 unity shader 后处理实现边缘检测 MotionBlur.cs usingUnityEngine;usingSystem.Collections;publicclassMotionBlur:PostEffectsBase{publicShadermotionBlurShader;privateMaterialmotionBlurMaterial=null;publicMaterialmaterial{get{mot...
2.Shader脚本: 代码语言:javascript 复制 1Shader"MyUnlit/MotionBlurWithDepthTex"2{3Properties4{5_MainTex("Texture",2D)="white"{}6}7SubShader8{9Pass10{11ZTest Always Cull Off ZWrite Off1213CGPROGRAM14#pragma vertex vert15#pragma fragment frag1617#include"UnityCG.cginc"1819sampler2D _MainTex;20...
public float BlurSize; private Material m_mat; private const string ShaderName = "MJ/PostEffect/MotionBlur_ObjectMove"; private Vector3 m_curWorldPos; // 当前帧的世界空间坐标 // private Vector3 m_lastWorldPos; // 上一帧的世界空间坐标 // ...