(转)热空气扭曲效果shader】的更多相关文章

转自:http://blog.sina.com.cn/s/blog_89d90b7c0102vaqy.html 热空气扭曲在大自然中形成是比较复杂的,这里只是通过取屏幕纹理和移动UV来模拟热扭曲效果. 先看效果: 详细的原理和实现在下面的代码中. Shader "Xffect/my_distortion" { Properties { _NoiseTex ("絮乱图", 2D) = "white" {} // 絮乱图 _AreaTex (&quo…
GrabPass GrabPass是Unity为我们提供的一个很方便的功能,可以直接将当前屏幕内容渲染到一张贴图上,我们可以直接在shader中使用这张贴图而不用自己去实现渲染到贴图这样的一个过程,大大的方便了我们的shader编写.GrabPass的使用非常简单,我们在写vertex fragment shader的时候都需要写一个pass,GrabPass也是一个pass,只不过是Unity为我们实现好的一个pass.我们只需要在我们正常的Pass前面加一个GrabPass{}就可以了.官方…
屏幕图像捕捉: Shader的GrabPass GrabPass可以很方便地捕获当前渲染时刻的FrameBuffer中的图像. 其原理就是从当前FrameBuffer中copy一份纹理,通过SetTexture的方式设置纹理. 至于GrabPass的性能问题,一般认为是对FrameBuffer 进行的一些pixel copy operations造成的, 具体Unity是怎么实现的,不得而知. GrabPass { } 不带参数的 默认名字为 "_GrabTexture" 会在当时为每…
//预览图 //原理 一个摄像机CullingMask设置只可见"Distortion"的Layer(需要自己手动加),输入到一张RenderTexture,其实就是用于确定哪里要扭曲. 另外一个摄像机CullingMask设置成对除了"Distortion"的Layer可见,并挂上后期效果脚本. //Shader代码 Shader "Hidden/Distortion" { Properties { _MainTex ("Textur…
[旧博客转移 - 2016年1月13日 13:18 ] 前面的话: 本来我是想写一个水的原理的,但是发现涉及的知识太多,还有好多不懂的,所以就先一步一步来 最近呢,我在网上捡到了一本<热扭曲秘籍>,修炼数日,甚觉精妙 这次分享一个很简单的热扭曲原理   先看效果: 1.这是原图   2.加了特效之后~显得很亮,很柔.. 3.这个神秘的图,才是效果的关键   扰动图: 扰动图其实是把offset信息写入到R,G通道中的图片 下面我们拿一个"照妖镜"随便找一个像素看一下它的真面…
原地址: http://liweizhaolili.blog.163.com/blog/static/1623074420140591864/ 最近在玩游戏<高达破坏者>,里面的高达出现的效果我觉得挺酷的,所以自己写了个shader: 简单思路: 1.模型分好UV 2.shader使用2张贴图通道,第一张是漫反射,第二张是发光网格 3.使用顶点片段程序,在顶点程序记录顶点pos的时候多记录一个y轴坐标 4.设置一个高度显示范围,并根据时间累加. 5.进入片段程序的时候,判断y轴坐标范围与高度显…
背景无限循环滚动效果,有X和Y轴的速度控制,方便控制.见下图,操作步骤同之前的背景循环设置. shader如下: Shader "Custom/Scroll" { Properties{ _MainTint("Diffuse Tint" , Color) = (1,1,1,1) _MainTex("Base (RGB)", 2D) = "white" {} //x轴滚动速度 _ScrollXSpeed("X Scro…
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. CSDN视频网址:http://edu.csdn.net/lecturer/144 对于游戏中使用的类似喷墨效果,在射击类游戏中经常使用比如玩家射击的子弹会在墙上出现类似喷墨效果,效果如下所示: 在默认情况下,屏幕的整个Alpha通道都是黑色的,直到玩家开始喷射油墨,才会使被油墨溅…
技能CD特效 这个效果主要是利用反正切函数完成.atan2(x,y)的返回值是[-PI,PI],这个支持4个象限的反正切函数.关于圆角计算,在上篇文章中有介绍. 现在,我们来看看反正切函数的效果: 在第一象限:返回[0,PI/2],有渐变: 在第二象限:返回[PI/2,PI],为白色: 在第三象限:返回[-PI,-PI/2],为黑色: 在第四象限:返回[-PI/2,0],为黑色: uv = i.uv - fixed2(0.5,0.5); float hui = atan2(uv.y, uv.x)…
MatCap方案 使用说明 制作合适的MatCap贴图 这张图决定冰像不像,网上找.Vray渲个球.ASE或者ShaderForge连,甚至直接手绘,总之只要一张长得像下面的图 注意MatCap图只有中间球形区域有实际作用 必须要制作Alpha通道用于冰的透明效果 MatCap Intensity 调整MatCap强度 法线贴图 法线贴图决定冰块的质感,很重要,建议做高模,以下是有无法线贴图的效果对比 Maintex基础纹理 这张图用来做冰块的基础色,增加一些混合色彩,注意控制亮度 Color调…