学习笔记,不喜勿喷,侵权立删,祝愿生活越来越好!
一、问题导入
在创建电影或过场动画时,你常常需要想办法更好地突显角色或场景的轮廓。这时你需要用到一种光照技术,称为边沿光照或边缘光照,它的原理是通过添加额外光源来帮助区分角色轮廓与背景。虽然这能够很好地适用于电影,但将额外光源添加到3D场景会增加额外的复杂度,使其很快变得难以管理。
虚幻引擎在材质层面提供了相应的解决方案。 美术师可以使用 菲涅尔(Fresnel) 在角色或道具的材质中模拟边沿光照,更好地控制效果的外观体验。 菲涅尔是一种固有属性,在许多材质中自然存在,其中包括玻璃、水以及一些类型的织物和油漆。本教程中的技术将帮助你更准确地模拟这些材质。
二、材质蓝图节点定义
菲涅尔(Fresnel) 这一术语用于说明你看到的光线如何根据视角的变化以不同的强度反射。例如,你站在水池边,低头看脚下的水,你会发现水面的反射不是特别强烈。随着你抬起头,使你的视线与水池中的水面平行,你会开始发现水面越来越波光粼粼。水和玻璃都表现出很强的菲涅尔倾向,即视线垂直于表面时,它们看起来相对透明,视线未垂直于表面时,它们会反射更多光线。
从正面看时,相框中的玻璃是透明的,
从侧面看时,玻璃中的反光会更明显。
在虚幻引擎中,菲涅尔(Fresnel) 材质表达式会根据表面法线与摄像机方向的点积来计算衰减。当表面法线指向摄像机时,输出值为0。当表面法线垂直于摄像机时,输出值为1。结果限制在[0,1]范围内,以确保不会在中央产生任何负颜色。下图演示了此概念。
在球体中间(标记为0),没有菲涅尔效果。这是因为摄像机径直指向表面法线。朝向球体边缘(标记为1),表面法线趋于与摄像机垂直,菲涅尔效果也越来越明显。 这会造成球体边缘被照亮的感觉。
三、节点详解
在控制板或上下文菜单中搜索"菲涅尔(Fresnel)"时,你会发现 工具(Utility) 下有一个菲涅尔材质表达式,向量操作(Vector Ops) 下有一个材质函数。虽然这两个节点的用途相同,但设置它们的设置方式有所不同。
1、菲涅尔 材质表达式
工具(Utility) 下的 菲涅尔 材质表达式是本教程中使用的选项,并且在这两个选项中更易于配置。
项目 |
说明 |
|
---|---|---|
属性 |
||
指数(Exponent) |
指定输出值的衰减速度。值越大,意味着衰减越快。 |
|
基本反射小数(Base Reflect Fraction) |
指定从正对表面的方向查看表面时,镜面反射的小数。值为1将有效地禁用菲涅耳效果。 |
|
Inputs </ |