
Shader
文章平均质量分 81
BennyChao
目前从事VR开发工作
展开
-
Unity Shader 案例之 镜面材质制作
打开镜像世界我们在Unity里打开镜像的世界呢,原理很简单,我们再加一个Mirror Camera就可以了,其位置是我们当前Camera相对于镜面的一个镜像的映射(Transform)。镜像矩阵这个概念比较复杂,记公式就可以了。有了公式,代码就好写了public static void CalculateReflectionMatrix(ref Matrix4x4 reflecti...原创 2020-03-30 13:37:43 · 3350 阅读 · 0 评论 -
Unity LWRP学习之Command Buffer 与 Shader Graph SceneColor
CommandBuffer的相关内容参考如下,其用于扩展Build-in的管线,(LWRP中是否好用呢?)https://docs.unity3d.com/Manual/GraphicsCommandBuffers.html总结几点:public void OnWillRenderObject() 中创建CommandBufferbuf.Blit (BuiltinRender...原创 2019-06-13 14:36:34 · 3709 阅读 · 0 评论 -
Unity LWRP 学习之 RenderFeature
RenderFeature是一种扩展LWRP的方法。该方法还是实验版。实现管道的参数的定制,其好处就是不需要修改物体的Shader,比如要实现一个如下图的显示隐藏背后的轮廓的需求。通常是需要修改对应的Shader的,使用两个Pass进行绘制,一个画正面,一个画轮廓,正面使用正常的Pass就可以,轮廓需要关闭Depth Test设置。如果有RenderFeature,或者SRP,那就不需...原创 2019-06-13 13:15:34 · 4517 阅读 · 0 评论 -
Shader Graph第一个
Shader Forge还是正式在2018.3不能使用了。。。无奈之下只能开始使用Shader Graph。第一个效果:Fresnel + HighLight 提示关于Shader源码的查看,CopyShader菜单就可以了,然后在VS中粘贴。代码如下:有很多LightWeight的引用,不能在非LWRP环境中使用。Shader "Unlit Master"...原创 2019-01-16 15:34:09 · 2300 阅读 · 0 评论 -
Shader Forge实现聚光灯舞台效果
聚光灯的开销是很大的,现在通过Shader 实现聚光灯舞台的效果。其主要思路是中间亮边缘暗的效果。引入a, b两个参数,如下图,X轴是距离中心点(舞台中心点)的距离,到达a点时,开始变暗,到达b点时,变为黑色,或者透明。我们可以把函数分为三段,下降的部分,我们可以要所根据点斜式求出其方程,通过与min和max两步,得到另外两段的函数。使用ShaderForge如下:Vector...原创 2018-11-24 22:32:41 · 1494 阅读 · 0 评论 -
Shader Forge Clamp与Remap的区别
其实Clamp这种只是对区域进行了截断处理,还不是进行重新Remap。如下图可以看到Remap与Clamp的区别,以下Remap的使用几个结点进行替换的方案。另外,相关的还有Fmod取模函数,它可以把一个任意大小的值映射到一个范围内,再与以上两个方法进行配合使用。...原创 2018-05-23 18:03:12 · 4164 阅读 · 0 评论 -
Unity Shader Graph简单使用评测
介绍一下本人,试用Unity 2018 新的Shader编辑器的简单过程。安装的可以在新的Package Manage 界面找到(菜单栏Window > Package Manager)安装之后需要创建可编程渲染管线,菜单栏Assets > Create > Rendering>Lightingweight Pipeline Asset这个我刚安装完插件...原创 2018-05-23 16:44:54 · 10264 阅读 · 0 评论 -
Shader GrabPass应用实例——实现扭曲效果
GrabPass简介所谓GrabPass,可以在渲染所在对象之前,获取当前FrameBuffer中的图像,以供在后续Pass中进行处理,有这它就可以实现一些只能通过屏幕后处理进行操作,比如高斯Blur等。下面两篇文章写的不错。https://docs.unity3d.com/Manual/SL-GrabPass.htmlhttps://zhuanlan.zhihu.com/p/29378964(里...原创 2018-05-16 14:40:38 · 2541 阅读 · 0 评论 -
Shader GrabPass应用实例——高度体积雾(2)
体积的表现上一节实现了初步的垂直高度雾效果(点击查看链接),在四周开发的情况下,表现不理想,缺少体积的表现。如下图,目前(上一篇实现方案)P点显示的Fog值是根据P'点的高度h计算的,而实际显示的Fog值是与光线的传递长度L有关的,求出L值就可以了,这里主要是使用微分近似的方法,从P点向P'点进行梯度逼近。学习率(逼近值)使用的是0.01m。核心代码如下: //使用逼...原创 2018-05-21 15:18:09 · 2921 阅读 · 5 评论 -
Unity Shader效果实现汇总
效果1:Edge+Bloom(边缘高光)使用菲涅尔边缘效果,配置局部Bloom,实现边缘高光效果效果2:outline+stencil+bloom(轮廓背光)思路:第一步获取边缘,使用的屏幕处理,使用Soble梯度算子,对生成的DepthNormalMap进行卷积处理。对于单个物体加高光可以使用单独Camera进行渲染物体(为了节省性能,可以使用最小透视矩阵)。第二步对以上...原创 2018-04-30 00:48:34 · 7018 阅读 · 2 评论 -
Shader GrabPass应用实例——高度体积雾
高度雾或者垂直雾是 体积雾的一重要分支,比如以下场景(真实图片,非特效)其中有这篇文章的介绍了一种垂直雾的实现方法,思路、代码写的很详细了,网上有不少转载,这里也就不再说明了。 https://mp.weixin.qq.com/s/yfGNeyip5ebVIvBj-XBd4Qhttp://www.sohu.com/a/231966965_667928另外,还有就是以下这个牛B的插件https://...原创 2018-05-21 09:44:31 · 4869 阅读 · 1 评论