什么是_MainTex_TexelSize

如果最终屏幕输出是1k x 2k 那么 _MainTex_TexelSize.x = 1/1024 _MainTex_TexelSize.y = 1/2048懂了吧,如果最终输出事一张图铺满屏幕,这个值可以快速取得屏幕上某个像素的值

2017-07-04 16:23:26

阅读数 1694

评论数 0

Unity Shader之Tessellation

这是一个很牛逼的东东,得益于显卡技术的发展,可以将一些粗糙的低精模型,搞出高精的效果,首先,来说说本质是啥 如图所示,Tessellation就是可以在原来的三角形上细分出很多更小的三角形,增加很多顶点。 但是在具体运用中,我们应该怎么使用,达到我们想要的效果呢,这里就不得不先说一个东西置换贴图...

2017-06-29 17:29:08

阅读数 1876

评论数 0

UntiyShader之深度纹理

unity是可以取得物体的深度值,相当于可以取得z-buffer的值,这个需要在相机上获得,另外需要硬件支持 首先在相机上开启获取深度渲染 GetComponent().depthTextureMode =DepthTextureMode.Depth; 然后就可以在shader中使用了,...

2017-06-28 14:15:58

阅读数 170

评论数 0

UnityShader之毛绒绒效果

今天要做一个毛球的效果 核心的算法通过多个pass,从里到外一层一层的糊上一层透明diffuse,越靠外面的地方层次越少看起来越稀疏,越模糊 FurHelper.cginc struct v2f { float4 pos : SV_POSITION; half2 uv : TEXCOOR...

2017-06-28 09:39:16

阅读数 3367

评论数 0

Unity Shader之雾效

Unity可以多种实现雾效的方法,比如在编辑器设置,官方Shader开启,这里介绍一种自己用纹理贴图方式实现的雾效 说明一下,这个雾其实是一个plane上的贴图效果,不适合大距离的拉远拉近,可以用在一些固定视角的游戏中 雾的贴图 遮罩图: shader如下 Sha...

2017-06-23 10:43:51

阅读数 365

评论数 0

Unity Shader之Post Effect抖动重影效果

大家想一下对整张照片做处理,不管照片中物体的材质处理的方法叫Post Effect 有些效果,比如雾啊,Bloom拉,模糊拉,Hdr,都需要用到PostEffect,我们需要单独写一个脚本,绑定在Camera上 在OnRenderImage这个回调函数中,用Graphics.Blit这个方法来处理...

2017-06-22 16:30:24

阅读数 2438

评论数 0

Unity Shader之Blending

今天讲下Unity Shader里面的Blend模式 主要原理就是取得当前片元颜色,和存在颜色缓冲里面的颜色混合,说的就是怎么混合的公式 首先,shader是默认混合关闭的,如果不设置,那么在深度测试之后会将靠近摄像头的片元颜色写入颜色缓冲,之前的会被覆盖掉。 首先注意,RenderType可以设...

2017-06-20 17:13:08

阅读数 800

评论数 0

Unity Shader之燃烧消散效果

这种效果已经很多例子了,但是各种算法区别还是挺大的,不同的噪点图也有不同的效果,可以自己调整算法试试效果 Shader "Custom/Dissolve3D" { Properties { _MainTex("Main Texture", 2D)...

2017-06-20 13:36:14

阅读数 880

评论数 0

UnityShader之OutLine

算法很简单,主要需要不同观察角度看上去线的宽度一样,需要转换到观察空间进行操作,空间变换请看我上一篇博客。 需要两个pass,一个画线,一个填充 Shader "Custom/Outline" { Properties { _OutlineVal("Ou...

2017-06-19 16:17:41

阅读数 259

评论数 0

UnityShader之空间变换解析

都知道要渲染出一个物体,需要经历空间变换,模型坐标(通常由美术决定)----->世界坐标----->观察空间(相机位置决定)------------>裁剪空间(相机类型和参数决定)------->投影 unity提供了一系列的矩阵来帮助用户进行坐标空间变换,这里列个表记录下...

2017-06-19 15:16:46

阅读数 1682

评论数 0

Unity Shader 之Geometry Shader

其实unity shader除了vertex shader和frag shader之外,还有一个geom shader,处理流程在vextex shader和frag shader之间,主要是能获取到一个顶点临近的一些顶点,处理三角形之类的,下面看一个例子 Shader "Custom...

2017-06-19 10:59:09

阅读数 965

评论数 0

Unity Shader之波浪效果

很简单,注意每次传入的顶点值是没有偏移过的 Shader "Custom/Waves" { Properties { _MainTex("Texture", 2D) = "white" {} _WaveSpeed("S...

2017-06-16 13:29:14

阅读数 1558

评论数 0

Unity Shader之uv旋转

uv旋转,注意按照z轴变换的时候旋转公式,还有中心点的设置 Shader "Custom/UV rotation" { Properties { _MainTex("Texture", 2D) = "white" {} _A...

2017-06-15 14:43:51

阅读数 872

评论数 0

Unity Shader之Stencil Buffer

玩过纪念碑谷的人都知道里面有个很酷炫的效果,可以转动一个盒子看到盒子里面不同的建筑物,很好玩,自己做了个类似的效果。 核心是需要用到Unity Shader的Stencil Buffer功能,这里是官方文档 https://docs.unity3d.com/Manual/SL-Stencil.ht...

2017-06-12 14:57:03

阅读数 987

评论数 0

Test

写点关于Unity Shader的东西,欢迎大脚关注并交流

2017-06-12 14:12:41

阅读数 354

评论数 0

提示
确定要删除当前文章?
取消 删除