Unity Shader Graph 制作Rim Light边缘光效果

简介: Unity Shader Graph 制作Rim Light边缘光效果

效果图:

image.gif

模型为Asset Store资源商店中免费资源Robot Kyle机器人


实现原理:通过法线方向和视线方向的夹角来判断点是否处于边缘,从而给其增加边缘光,视线方向和法线方向垂直时,则该点在当前视角来看处于边缘。夹角的判断需要通过向量dot点积,点积结果为0时,法线方向与视线方向垂直,则该点处于边缘,给其增加边缘光。

image.gif

新建PBR Graph,创建以下属性:

       Main Texture(Texture2D 类型):用于模型贴图

       Rim Power(Vector1 类型):用于控制边缘光强度

       Rim Color(HDR类型 Color):用于控制边缘光颜色

image.gif

创建Normal Vector法线向量节点,View Direction视线向量节点,Space空间都选择Object,二者通过Dot Product点积节点求得点积值:

image.gif

点积值通过One Minus节点求得 1 - dot点积 的值,若该值小于 1 - Rim Power属性的值则取0,若大于1则取1,否则取0和1之间的平滑插值,通过Smoothstep节点实现:

image.gif

关于Smoothstep节点的官方文档介绍:

image.gif

将Smoothstep的输出值与Rim Color属性值相乘后输出至PBR Master主节点中的Emission节点:

image.gif

最终将Main Texture通过Sample Texture 2D节点输出到PBR Master主节点中的Albedo节点:

image.gif

image.gif

目录
相关文章
|
1天前
|
图形学
【Unity Shader#自定义材质面板_第二篇】
【Unity Shader#自定义材质面板_第二篇】
|
1天前
|
图形学
【Unity Shader 描边效果_案例分享】
【Unity Shader 描边效果_案例分享】
|
1天前
|
存储 图形学
【Unity Shader 消融效果_案例分享】
【Unity Shader 消融效果_案例分享】
|
1天前
|
图形学 异构计算
【Unity Shader 中Pass相关介绍_第四篇】
【Unity Shader 中Pass相关介绍_第四篇】
|
1天前
|
图形学 C++
【Unity Shader入坑篇---有ASE创建Unity Shader,那么Unity Shader代码的相关知识还有必要学或了解吗?】
【Unity Shader入坑篇---有ASE创建Unity Shader,那么Unity Shader代码的相关知识还有必要学或了解吗?】
|
1天前
|
图形学
【Unity Shader#自定义材质面板_第一篇】
【Unity Shader#自定义材质面板_第一篇】
|
1天前
|
图形学
【#Unity Shader#Amplify Shader Editor(ASE)_第八篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第八篇】
|
1天前
|
图形学
【#Unity Shader#Amplify Shader Editor(ASE)_第三篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第三篇】
|
1天前
|
存储 图形学
【Unity Shader 中Pass相关介绍_第一篇】
【Unity Shader 中Pass相关介绍_第一篇】
|
1天前
|
图形学
【Unity Shader 中SubShader相关介绍】
【Unity Shader 中SubShader相关介绍】