【Unity ShaderGraph】| 给模型添加一个 边缘光效果 实战

2023-10-19 18:27:49 浏览数 (1)

前言
  • 本文将使用Unity ShaderGraph制作一个模型边缘光的效果,可以直接拿到项目中使用。
  • 对ShaderGraph还不了解的小伙伴可以参考这篇文章:【Unity ShaderGraph】| Shader Graph入门介绍 | 简介 | 配置环境 | 窗口介绍 | 简单案例
  • 下面就开始看一下具体的制作流程,然后自己动手制作一个吧!

【Unity ShaderGraph】| 边缘光效果实战

一、效果展示


二、简易边缘光效果

首先在Project下右键 Creat - > Shader Graph -> URP -> Lit Shader Graph创建一个Lit Shader Graph

双击打开该ShaderGraph,在ShaderGraph 面板中添加Fresnel EffectColorMultiply三个节点,然后对三个节点进行连接,如下所示:

此时通过控制Color的颜色值就可以控制不同颜色的自发光效果了,调整 Fresnel Effect的Power值可以调整自发光效果的强度。

效果如下所示:

此效果的核心节点为Fresnel Effect菲涅耳效应,根据观察角度产生不同反射率从而对表面效果产生影响,当靠近时,会反射更多的光。菲涅耳效应节点通过计算表面法线与视线方向的夹角来近似。这个角度越大,返回值越大。


三、进阶边缘光效果

通过上面的步骤可以非常简单的实现模型的边缘光效果,下面开始在自发光的基础上添加带方向的边缘光效果。

ShaderGraph面板如下所示:

添加一个Dot Product和Vector节点,调整Dot Product的参数可以调节边缘光的方向。


四、应用实例

创建完上述ShaderGraph之后在Project下创建一个材质球Material,然后将该ShaderGraph拖到该材质球上即可应用。

快捷方法是在Project下鼠标选中该ShaderGraph,然后右键Creat创建一个Material,这样我们创建出来的材质球,就自动使用这个Shader了。

然后将材质球拖到对象上就可以使用了。

0 人点赞