ShaderForge-河流效果

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wwlcsdn000/article/details/78876305
                                        <div class="markdown_views prism-atom-one-dark">
                        <!-- flowchart 箭头图标 勿删 -->
                        <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
                        <h1 id="shaderforge-河流效果"><a name="t0"></a>ShaderForge-河流效果</h1>

本系列开始进行ShaderForge实战案例分析,案例的参考来源自朧老师的ShaderForge教程。
附带教程链接地址:http://www.aboutcg.org/?s=shaderForge&post_type=course
文末我会提供相关使用的素材。

效果预览

这里写图片描述

思路分析

水面的流动效果,我们使用UV偏移来做,水面的波形运动,可以用顶点偏移来做,并且水面还有简单的反射效果,我们使用反射来做,并且添加菲尼尔反射的效果。做河流效果的时候,水面的UV我们需要的是展平的UV,这样才能做贴图的流动效果,但是河流的透明效果,我们需要UV是和河流映射形状对应的,才可以制作。我们需要使用双UV来处理这种问题。

开始制作

创建默认的自定义光照模式Shader,并且删除默认的节点。
我们首先添加两个Tex2D节点,并且添加对应的UV,并且选择UV节点的UV通道。
这里写图片描述
我们需要一张河流的纹理,以及一张透明贴图。如何制作透明贴图,首先我们需要在Unity中为陆地和水面赋给不同的材质,最好是纯色,便于后期抠色,然后截取一张图片。
这里写图片描述

我们在PS中打开,把河流的像素抠出来,填充为白色,并且添加一个内发光为黑色的特效。模式改为正常,透明度改为100,调节一个柔和的透明过渡,保存好图片。
这里写图片描述
这里写图片描述

接下来我们添加贴图的流动效果,使用噪点图的方式,这样的随机变化更大,并且进行相关的变量的速度控制,最后将UV信息和噪点图的输出偏移相加,输入到最后的主贴图上。
这里写图片描述

在场景中预览一下效果,河流开始流动了,河水和河岸的边缘也可以平缓过渡了。
这里写图片描述

接下来我们来做河流的折射效果,折射效果我们需要给折射通道提供随机变量,可以利用之前的噪点图输出的变量。
这里写图片描述

我们在场景中,调节参数看看效果。
这里写图片描述
这里写图片描述

我们添加反射效果,反射效果一般是具有菲尼尔特性的,我们添加一个环境纹理节点和菲尼尔节点,将其输入到环境反射通道中。我们需要提前将上边的主贴图输入到漫反射通道,否则无法使用这个漫反射环境通道。
这里写图片描述

接下来我们只做高光节点,我们需要用到高光效果。我们直接采用一个取巧的办法,给他叠加上之前的噪点图偏移不就亮了吗?
这里写图片描述

最后我们来做波形效果。还是和之前一样的思路,分别调节频率,波长,振幅。最后的节点可以选择用Z轴方向偏移,也可以直接乘一个法线信息。
这里写图片描述

调节参数看一下最后的效果。
这里写图片描述

最终的节点效果图。
这里写图片描述

相关素材

链接: https://pan.baidu.com/s/1ci7ato 密码: 6x3p



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wwlcsdn000/article/details/78876305
                                        <div class="markdown_views prism-atom-one-dark">
                        <!-- flowchart 箭头图标 勿删 -->
                        <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
                        <h1 id="shaderforge-河流效果"><a name="t0"></a>ShaderForge-河流效果</h1>

本系列开始进行ShaderForge实战案例分析,案例的参考来源自朧老师的ShaderForge教程。
附带教程链接地址:http://www.aboutcg.org/?s=shaderForge&post_type=course
文末我会提供相关使用的素材。

效果预览

这里写图片描述

思路分析

水面的流动效果,我们使用UV偏移来做,水面的波形运动,可以用顶点偏移来做,并且水面还有简单的反射效果,我们使用反射来做,并且添加菲尼尔反射的效果。做河流效果的时候,水面的UV我们需要的是展平的UV,这样才能做贴图的流动效果,但是河流的透明效果,我们需要UV是和河流映射形状对应的,才可以制作。我们需要使用双UV来处理这种问题。

开始制作

创建默认的自定义光照模式Shader,并且删除默认的节点。
我们首先添加两个Tex2D节点,并且添加对应的UV,并且选择UV节点的UV通道。
这里写图片描述
我们需要一张河流的纹理,以及一张透明贴图。如何制作透明贴图,首先我们需要在Unity中为陆地和水面赋给不同的材质,最好是纯色,便于后期抠色,然后截取一张图片。
这里写图片描述

我们在PS中打开,把河流的像素抠出来,填充为白色,并且添加一个内发光为黑色的特效。模式改为正常,透明度改为100,调节一个柔和的透明过渡,保存好图片。
这里写图片描述
这里写图片描述

接下来我们添加贴图的流动效果,使用噪点图的方式,这样的随机变化更大,并且进行相关的变量的速度控制,最后将UV信息和噪点图的输出偏移相加,输入到最后的主贴图上。
这里写图片描述

在场景中预览一下效果,河流开始流动了,河水和河岸的边缘也可以平缓过渡了。
这里写图片描述

接下来我们来做河流的折射效果,折射效果我们需要给折射通道提供随机变量,可以利用之前的噪点图输出的变量。
这里写图片描述

我们在场景中,调节参数看看效果。
这里写图片描述
这里写图片描述

我们添加反射效果,反射效果一般是具有菲尼尔特性的,我们添加一个环境纹理节点和菲尼尔节点,将其输入到环境反射通道中。我们需要提前将上边的主贴图输入到漫反射通道,否则无法使用这个漫反射环境通道。
这里写图片描述

接下来我们只做高光节点,我们需要用到高光效果。我们直接采用一个取巧的办法,给他叠加上之前的噪点图偏移不就亮了吗?
这里写图片描述

最后我们来做波形效果。还是和之前一样的思路,分别调节频率,波长,振幅。最后的节点可以选择用Z轴方向偏移,也可以直接乘一个法线信息。
这里写图片描述

调节参数看一下最后的效果。
这里写图片描述

最终的节点效果图。
这里写图片描述

相关素材

链接: https://pan.baidu.com/s/1ci7ato 密码: 6x3p

猜你喜欢

转载自blog.csdn.net/u014028063/article/details/82712392