效果图展示:
二、所用知识点扩充
在创建电影或过场动画时,你常常需要想办法更好地突显角色或场景的轮廓。这时你需要用到一种光照技术,称为边沿光照或边缘光照,它的原理是通过添加额外光源来帮助区分角色轮廓与背景。虽然这能够很好地适用于电影,但将额外光源添加到3D场景会增加额外的复杂度,使其很快变得难以管理。
虚幻引擎在材质层面提供了相应的解决方案。 美术师可以使用 菲涅尔(Fresnel) 在角色或道具的材质中模拟边沿光照,更好地控制效果的外观体验。 菲涅尔是一种固有属性,在许多材质中自然存在,其中包括玻璃、水以及一些类型的织物和油漆。本教程中的技术将帮助你更准确地模拟这些材质。
1、菲涅尔
菲涅尔(Fresnel) 这一术语用于说明你看到的光线如何根据视角的变化以不同的强度反射。例如,你站在水池边,低头看脚下的水,你会发现水面的反射不是特别强烈。随着你抬起头,使你的视线与水池中的水面平行,你会开始发现水面越来越波光粼粼。水和玻璃都表现出很强的菲涅尔倾向,即视线垂直于表面时,它们看起来相对透明,视线未垂直于表面时,它们会反射更多光线。
请注意,从正面看时,相框中的玻璃是透明的,从侧面看时,玻璃的反光会更明显。
在虚幻引擎中,菲涅尔材质表达式 会根据表面法线与摄像机方向的点积计算衰减。当表面法线径直指向摄像机时,会输出值0,意味着应该不会发生菲涅尔效果。当表面法线与摄像机垂直时,会输出值1,意味着应该发生完整的菲涅尔效果。结果会限制在[0, 1]范围内,这样就不会在中心看到负值颜色。下图演示了此概念。
在球体中间(标记为0),没有菲涅尔效果。这是因为摄像机径直指向表面法线。朝向球体边缘(标记为1),表面法线趋于与摄像机垂直,菲涅尔效果也越来越明显。 这会造成球体边缘被照亮的感觉。
2、菲涅尔材质表达式
工具(Utility) 下的 菲涅尔 材质表达式是本教程中