【Unity ShaderGraph】人物模型贴图效果,轮廓光/边缘光效果(小白学习版记录)

【Unity ShaderGraph】人物模型贴图效果,轮廓光/边缘光效果(小白学习版记录)

轮廓光/边缘光效果

效果展示

在这里插入图片描述
在这里插入图片描述

实现过程

创建贴图

1、如何创建一个贴图并且可以实现在属性面板可视化以及修改呢?

首先,在属性面板创建一个Texture2D类型的参数,如下图所示:

我们这里将其命名为:MainTex
点击MainTex属性框,我们可以看到右侧Graph Inspector检视面板上可以看到该参数的相关信息,我们在红框内选择一个需要的贴图填入。
在这里插入图片描述
然后我们将该属性拖入到进来,在面板空格处点敲击空格键,出现以下创建节点(Create Node)功能,我们创建一个该节点

在这里插入图片描述
按照下图所示将参数与节点相连接,得到图片的输出效果
在这里插入图片描述
此时,右侧Main Preview视图可以看到更新后的结果
在这里插入图片描述

最后进行效果的对比:
原模型效果:在这里插入图片描述
增加贴图效果后:
在这里插入图片描述
这样就完成了一个贴图类型的添加~

最后在Unity材质的检视面板可以看到:
在这里插入图片描述

菲涅尔效果

Fresnel Effect 节点
1、概念:
菲涅尔效应 (Fresnel Effect) 是根据视角不同而在表面上产生不同反射率(接近掠射角时的反射光增多)的效果。Fresnel Effect 节点通过计算表面法线和视图方向之间的角度来模拟这一点。该角度越宽,返回值越大。这种效果通常用于实现在许多艺术风格中很常见的边缘光照。
掠射角:指的是投射线与晶体面之间的夹角,在X射线衍射中有所应用。如在特定的掠射角下,入射x射线的波长一定,才能产生x射线的衍射。即X射线衍射产生的必要条件----布拉格方程。(即:入射角的余角)

2、参数与节点
在这里插入图片描述

Shader颜色相乘与相加的区别

1、颜色的rgb的每个值都是[0,1]的,颜色值相乘必然会使颜色值减小(物体更暗),相加必然会使颜色值增加更加接近1(物体更亮)。
2、在计算光照反射时,经过物体材质的反射,光的颜色必然是经过削弱的,所以在计算光照反射时用颜色值相乘。
而在计算贴图采样颜色和环境光颜色时,也用了颜色值相乘,这是因为这时候计算的是两个颜色值的混合。在现实生活中,把很多不同颜色的颜料混合在一起时,他们的颜色最后会变为黑色。这说明他们的颜色值都是越来越小的,rgb值越来越趋近于0,所以才会变成黑色。所以在计算两个颜色值的混合时用颜色相乘。
4、颜色相加,在最后返回像素颜色的时候,用的时环境光颜色和漫反射颜色、高光反射颜色相加。这是因为不同类型的光照计算必然是要让物体变亮的(即颜色值增加),所以在计算各种不同的光照效果叠加时应用颜色值相加。

细节注意

1、法线贴图的使用
法线贴图使用的时候,需要额外修改参数 Type = Normal 类型,若不设置,则该参数无法正常显示
在这里插入图片描述

疑惑

1、菲涅尔效果
菲涅尔效果参数(Power),根据视频教程内应该在0-1的区间浮动,但是设置后没有任何的效果,在设置为-1.4左右时,在场景中看到对应效果,具体原因没有研究明确,望各位大佬看到后指点一二~

视频学习参考:
ShaderGraph 入门教程(初学福音)
UnityShader颜色相乘与相加的区别
Unity Shader:实现菲涅尔+色散效果以及相关原理解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值