温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Unity Shader怎么实现模糊效果

发布时间:2021-08-09 02:08:47 来源:亿速云 阅读:198 作者:chen 栏目:开发技术

本篇内容主要讲解“Unity Shader怎么实现模糊效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Unity Shader怎么实现模糊效果”吧!

本文实例为大家分享了Unity Shader实现模糊效果的具体代码,供大家参考,具体内容如下

今天分享一个超简单实现模糊效果的方法,先上图:

Unity Shader怎么实现模糊效果

Unity Shader怎么实现模糊效果

核心代码就这句:

注意要在3.0以上的版本才能使用

Unity Shader怎么实现模糊效果

Unity Shader怎么实现模糊效果

在采样后做偏移采样再叠加,效果与下面的代码类似:

float4 frag(v2f o):SV_TARGET{  fixed4 color = tex2D(_MainTex,o.uv);//,float2(_Scale,_Scale),float2(_Scale,_Scale)    float2 uv1= o.uv +float2(_Scale,_Scale);  fixed4 color2 = tex2D(_MainTex,uv1);  float2 uv2= o.uv -float2(_Scale,_Scale);  fixed4 color3 = tex2D(_MainTex,uv2);  return (color+color2+color3)/3; }

下面的完整代码:

Shader "Custom/TestShader40" {  Properties{   _MainTex("MainTex",2D)="White"{}   _Scale("Scale",Range(0,0.1))=0  }  SubShader{   Tags { "RenderType"="Opaque" }   Pass{    CGPROGRAM     #pragma vertex vert     #pragma fragment frag     #pragma target 3.0     #include "Lighting.cginc"     sampler2D  _MainTex;     float4 _MainTex_ST;     float _Scale;     struct a2v{      float4 pos:POSITION;      float4 uv:TEXCOORD0;     };     struct v2f{      float4 wPos:SV_POSITION;      float2 uv:TEXCOORD0;     };     v2f vert(a2v v){      v2f o;      o.wPos = UnityObjectToClipPos(v.pos);      o.uv=TRANSFORM_TEX(v.uv,_MainTex);      return o;     }     float4 frag(v2f o):SV_TARGET{      fixed4 color = tex2D(_MainTex,o.uv,float2(_Scale,_Scale),float2(_Scale,_Scale));      return color;     }    ENDCG   }  } }

到此,相信大家对“Unity Shader怎么实现模糊效果”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI