前言
- 本文将使用Unity ShaderGraph制作一个
模型边缘光
的效果,可以直接拿到项目中使用。 - 对ShaderGraph还不了解的小伙伴可以参考这篇文章:【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例
- 下面就开始看一下具体的制作流程,然后自己动手制作一个吧!
【Unity ShaderGraph】| 边缘光效果实战
一、效果展示
二、简易边缘光效果
首先在Project下右键 Creat - > Shader Graph -> URP -> Lit Shader Graph
创建一个Lit Shader Graph
。
双击打开该ShaderGraph,在ShaderGraph 面板中添加Fresnel Effect
、Color
、Multiply
三个节点,然后对三个节点进行连接,如下所示:
此时通过控制Color的颜色值就可以控制不同颜色的自发光效果了,调整 Fresnel Effect的Power值可以调整自发光效果的强度。
效果如下所示:
此效果的核心节点为Fresnel Effect
菲涅耳效应,根据观察角度产生不同反射率从而对表面效果产生影响,当靠近时,会反射更多的光。菲涅耳效应节点通过计算表面法线与视线方向的夹角来近似。这个角度越大,返回值越大。
三、进阶边缘光效果
通过上面的步骤可以非常简单的实现模型的边缘光效果,下面开始在自发光的基础上添加带方向的边缘光效果。
ShaderGraph面板如下所示:
添加一个Dot Product和Vector节点,调整Dot Product的参数可以调节边缘光的方向。
四、应用实例
创建完上述ShaderGraph之后在Project下创建一个材质球Material,然后将该ShaderGraph拖到该材质球上即可应用。
快捷方法是在Project下鼠标选中该ShaderGraph,然后右键Creat创建一个Material,这样我们创建出来的材质球,就自动使用这个Shader了。
然后将材质球拖到对象上就可以使用了。