【转载】UE4 材质节点入门 第15节 (光照函数与贴花)

918 阅读6分钟

原文链接:UE4 材质节点入门 第15节 (光照函数与贴花) | SakuraWhite

正文

前言:在学习的过程中笔记是不可缺少的,匆匆看过一遍不记笔记和实操的话总会忘掉一些知识点或者是记的不牢固,所以我写了本系列文章,一方面是强迫自己认认真真的看完一章课程,另一方面记笔记加深一下自己的记忆以及思考。所以本系列文章是我学习过程中的笔记,思考,实操以及作业然后分享给大家,欢迎大佬们指正。

光照函数材质

光照函数材质实际上是 灯光的遮罩 。在我们创建光照函数材质的时候我们需要对材质蓝图进行一些设置,首先需要在细节面板中材质一栏中把 材质域 中的 表面 修改为 光照函数 ,然后就会发现我们的材质就只有自发光能输入了。

光照函数

我们随便链接一个 黑白遮罩 然后保存,在我们的 UE4 世界中,创建一个无光照场景,我们创建一个面片之后再创建一个 聚光源 。我们把我们刚做好的材质拖给我们聚光灯的 光照函数 上面去。

聚光灯材质函数

灯光函数实际上就是灯光的遮罩,我们可以通过一些材质的运算自己自定义材质的遮罩以达到不同灯光效果。灯光函数的消耗比较低的,这个消耗是比其他灯光在模型上实时投影的消耗相比是非常低的,我们可以使用这个功能来做虚假的投影

但是我们在灯光函数材质中设置颜色是没有意义的,因为灯光的颜色是根据灯光的细节面板来调整,灯光函数材质中的颜色是不会作用在外部灯光的颜色的。

我们还可以做一些动态的效果,比如我们之前在数学材质章节里做的溶解效果,同样可以制作出让灯光也消融的效果。

  • 消融节点

image.png

动画123.gif

动画123.gif

材质函数不仅仅是可以用在聚光灯下,还可以用在点光源矩形光源上。

  • 矩形光源与点光源

贴花材质

首先我们在 UE4 主界面中的模式里选择 视觉效果 在选中 贴花 ,把它拖出来放到我们的场景中。

  • 贴花

可以看到我们的贴花是有一个箭头指向体积的。这个体积就代表着这个贴花影响的范围,而箭头代表着贴花的朝向。在我们正确朝向的时候,贴花会投影出正确的效果,而模型朝向与贴花朝向不对的时候,那么贴画效果会被拉伸。

  • 贴花的朝向

同时我们还可以对贴花进行缩放,缩放它的范围以及影响的深度

  • 贴花的范围

贴花会覆盖范围内的所有模型的表面。在一些模型角度和贴花较大的地方有无法避免的畸变外,贴花还有一个很好的过渡效果。同样,在我们创建贴花材质的时候需要修改材质属性,需要修改成 延迟贴花,并且混合模式需要修改为 半透明

延迟贴花

  • 延迟贴花

image.png

当我们制作好贴花材质并且使用的时候,我们可以直接把贴花材质给拖入到世界场景中进行使用,或者拖入到贴花细节面板的材质输入框中也是可以的。

在我们修改完成材质属性延迟贴花 后,会多出来一个贴花混合模式的东西供我们修改使用,里面的贴花混合模式非常的多。

延迟贴花的混合模式

  • 贴花混合模式 image.png

贴花混合模式不仅仅有 半透明自发光PBR 都可以使用。半透明模式就是可以 透过贴纸看到背后的模型原本的材质

半透明模式
  • 半透明模式
污渍模式

污渍的材质就是把贴花的颜色与模型本身的材质进行混合。做出模型上有一点污渍的效果。

  • 污渍模式
法线模式

当我们打开法线模式时会发现我们的材质只有 半透明法线世界场景位置偏移 的输入被打开,这个时候的贴花只能改变被贴的模型的法线,其他的颜色以及金属度和粗糙度等等都不会被改变。

  • 法线模式
自发光模式

仅自发光模式中,我们的材质中只有自发光颜色不透明度以及 世界场景位置偏移 才能输入,这个时候我们只能给材质进行自发光的贴花。

  • 自发光模式
Dbuffer XXX 混合模式

在下面就是 Dbuffer 的混合效果,在我们一开始默认的贴画模式半透明中,我们会发现贴纸一直会有一种半透明的效果,会透过贴花看到背面模型的材质。

  • 完整的贴花节点 image.png

  • 总会有一种半透明的感觉

并且我们可以在 UE4 中的场景设置里面把 无光照 打开,会发现我们的贴花 不见 了,也就是说 半透明模式 下的贴花 只能动态光照 环境下使用。

  • 半透明贴花 image.png

然后我们将我们的材质贴花 混合模式 修改为 Dbuffer 半透明颜色法线粗糙度 模式,也就是我们的 DbufferPBR 模式,然后观察 UE4 世界场景中的贴花。会发现我们的贴花 更真实 了,并且在 无光照情况 下也有了颜色与法线的痕迹。

  • DbufferPBR 模式

  • DbufferPBR 模式无光照

在贴花混合材质下面就是各种各样 DbufferPBR 的变种,比如 只有颜色 的,只有颜色与粗糙度的, 只有法线 的,只有粗糙度与法线 的等等。各位同学可以根据自己的需要来选择贴花的模式。

  • Dbuffer 混合变种

贴花材质的使用

  • 贴花的使用 image.png

对于圆形物体或者是有一些形状不是那么平整的模型,我们为了防止贴花拉伸,可以在同一个位置,复制两个模型,其中的一个位置把我们的贴花材质赋予上,就能有效的避免贴花的拉伸效果。

  • 贴花效果

image.png

如果贴花的范围过大,我们又不想让模型被贴花覆盖,那么我们可以点击模型,在细节面板中的 渲染 一栏里有一个 接收贴花 ,可以关闭。关闭后就不会接收贴花了。

  • 模型可选贴花

image.png

贴花也有 透明排序 问题,当我们一个物体上拥有两个贴花的时候,他们就会出现与半透明材质一样的排序问题,与透明排序相同,我们可以在贴花的细节面板中选择 贴花排序 ,手动让我们想要的贴花在最前面。

  • 贴花排序

image.png

参考资料

UE4面向美术的3D数学材质核心原理教学