您的位置:首页 > 移动开发 > Unity3D

Unity shader学习之屏幕后期处理效果之运动模糊

2017-08-03 10:48 597 查看
运动模糊,代码如下:

1 // Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
2
3 Shader "Custom/Study/Motion Shader"
4 {
5     Properties
6     {
7         _MainTex ("Main Texture", 2D) = "white" {}
8         _BlurAmount ("Blur Amount", Range(0,1)) = 0.5
9     }
10
11     SubShader
12     {
13         ZWrite Off
14         ZTest Always
15         Cull Off
16
17         Pass
18         {
19             Blend SrcAlpha OneMinusSrcAlpha
20
21             CGPROGRAM
22             #pragma vertex vert
23             #pragma fragment frag
24
25             sampler2D _MainTex;
26             fixed _BlurAmount;
27
28             struct appdata
29             {
30                 float4 vertex : POSITION;
31                 float2 uv : TEXCOORD0;
32             };
33
34             struct v2f
35             {
36                 float4 pos : SV_POSITION;
37                 float2 uv : TEXCOORD0;
38             };
39
40             v2f vert(appdata v)
41             {
42                 v2f o;
43                 o.pos = UnityObjectToClipPos(v.vertex);
44                 o.uv = v.uv;
45                 return o;
46             }
47
48             fixed4 frag(v2f i) : SV_TARGET
49             {
50                 fixed4 tex = tex2D(_MainTex, i.uv);
51                 return fixed4(tex.rgb, _BlurAmount);
52             }
53
54             ENDCG
55         }
56     }
57
58     Fallback Off
59 }


Custom/Study/Motion Shader
效果如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: