![Unreal Engine 4 特效设计必修课](https://wfqqreader-1252317822.image.myqcloud.com/cover/283/27563283/b_27563283.jpg)
2.6 折射纹理制作
在一些大型3D游戏中经常会看到场景中漂亮的水面,水面材质有比较高端的表现,可以对周围环境进行光影折射,透过这种折射材质能看到背面物体形状发生扭曲。如图2-98所示,现在有越来越多的技能特效也利用这种扭曲可视环境的特性,表现技能巨大威力使周围空间发生扭曲。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P51_3247.jpg?sign=1739619170-cyHUkD5ua2yjRy2QD9F6fBmW9U89UHYu-0-cca5744cae6839075108667cafcd5b02)
图2-98
在这一节,将接触并解析折射材质,将它应用到案例制作中。如图2-99所示是一个最基础的折射连接方式,它可以应用在所有的实体模型中。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P52_3259.jpg?sign=1739619170-lCducdyYCfPfa9BT5qulyrOKTaWtJ06J-0-09a40c48e91196411db662a22b554147)
图2-99
这种形态是最为常用的一种表达式连接方式,利用这种最简单的连接方式可以轻松制作出示例中的效果。如图2-100所示,我们发现材质面板上很多输入节点都变成了灰色,这些输入节点被停用了,只启用了几个输入节点,原因是在材质的属性中,把混合模式(Blend Mode)修改成了Translucent(透明)类型,光影模式(Shading Model)修改为Unlit(无光)类型,最后勾选Two Sided(材质双面显示)。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P52_3263.jpg?sign=1739619170-pC8FqtCnupZGo7XkFT3jiNmF0DMT9jeX-0-18d74c19cb53916a6f0f4ddee3ea3de2)
图2-100
如图2-101所示是基础折射材质的制作,使用了一张带有红黄二色纹理的Texture Sample表达式,将表达式的Alpha节点连接到Lerp表达式的Alpha节点。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P52_3268.jpg?sign=1739619170-z3UdGN0IWfBcleM0Uydt0KKHoh8aqEoN-0-cc15187b747b3aada65c92cce819d6c4)
图2-101
为什么在这个案例中要将Texture Sample贴图纹理的Alpha通道提出来连接,而不像之前案例中使用RGB混合通道呢?制作用于折射效果的纹理,只需要黑白二色与单通道就可以了。
案例中使用的贴图纹理是带有Alpha通道的TGA贴图,所以可以将Alpha通道提取出来进行连接,如果是一张不带Alpha通道的JPG或者BMP纹理,应该如何去处理它呢?
如图2-102所示,如果纹理贴图没有Alpha通道,可以使用纹理表达式的任意通道连接一个去色(Desaturation)表达式把纹理变成黑白,再连接到Lerp表达式。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P52_3272.jpg?sign=1739619170-W6yt9pm5BLr2d2o6VPHpz014RoY4W45P-0-a1a99ec35522218f673809deaed97cca)
图2-102
案例中的Lerp表达式属性如图2-103所示,Const Alpha属性有连接其他表达式,所以已经变为灰色不可编辑状态,Const A与Const B数值分别修改为1和1.5,A与B两个数值之间的间隔越大,折射率就越高。读者可以自己试试数值设置为1和3,1和5,1和10等,观察数值间隔大小不同会出现什么样的效果。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P53_3280.jpg?sign=1739619170-Au8mwJESIKve7UqcXx7SvXxtIDjzhDFc-0-380795f880f5828878ad1328e0c1b11a)
图2-103
如图2-104所示,在材质Opacity输入处添加了一个一维常量(Constant,快捷键1),材质自发光(Emissive Color)节点放空缺省。在折射材质中,可以不对材质的基础颜色进行定义,但是不能不给材质的透明通道连接输入数据,即使只是图例中0.01的输入参数,也可以让材质正常显示。毕竟折射扭曲后是要看到物体背后的效果,物体不透明是看不到背后扭曲效果的。如果材质的Opacity节点不连接输入数据,材质就会变得漆黑一片什么都看不到了。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P53_3285.jpg?sign=1739619170-J9ZD8d7I5x3FCjYQueFTpc077pxkJrbp-0-6f0476b059f26096e8d17734650beb74)
图2-104
再来做一个进阶示例,了解了折射效果基础的表达式应用,在上一节的基础之上做一些细节完善。
如图2-105所示,这个示例中给球体添加了一个蓝色高亮边缘发光,球体内部空间有变化的扭曲纹理。我们来解析这个新示例中的材质结构,如图2-106所示。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P53_3289.jpg?sign=1739619170-J0quLtBXJSxJA9NED5uCv1YlT3vpvxzX-0-5cd2168c92eb0c02fa94ff06848582d8)
图2-105
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P53_3290.jpg?sign=1739619170-ieyMvz4kzJ25GqYPX9VmPSLtoNmakBKp-0-676ec2b99e4128793721a708abf4686a)
图2-106
首先来解析材质的自发光(Emissive Color)部分,如图2-107所示,用到的表达式有四个:三维矢量、菲涅耳、线性插值与幂。这里的三维矢量是用来调整颜色与亮度,R、G、B通道分别赋值1、5、30,意义是1倍的红色,5倍的绿色与30倍的蓝色。三维矢量连接到Lerp表达式B输入节点,使Lerp的A输入节点数值默认为0,Fresnel表达式连接Lerp的Alpha节点。把Lerp表达式的结果连接到Power表达式,提升边缘蓝色的亮度。最后连接Power表达式到材质自发光通道。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P53_3295.jpg?sign=1739619170-PZAeooRbOxWgffYuk5fHIiNlh2fL6ZDM-0-efa77825d1532423b504584b81135ebc)
图2-107
接下来处理透明通道(Opacity)。如图2-108所示,新建一个Lerp表达式,B节点连接一个数值为0.1的一维常量,A节点保持数值0,使Lerp的输出数值在0~0.1融合,把Fresnel连接到新Lerp表达式的Alpha节点,把Lerp表达式的结果连接到材质Opacity透明通道。
最后在材质编辑窗口加入折射效果。上个示例中解析了简单的纹理折射材质制作,这里需要让这部分纹理动起来。如图2-109所示,给Texture Sample纹理表达式连接TexCoord与Panner两个表达式,TexCoord属性中将纹理划分为3×3的图案,也就是U坐标系和V坐标系参数中数值分别设置为3,在Panner坐标平移表达式的属性中,仍然是将Y轴以0.5的速度进行滚动,把Panner连接到Texture Sample表达式UVs节点。纹理表达式的Alpha通道连接到Lerp表达式Alpha节点,最后连接Lerp到材质Refraction折射通道。
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P54_3309.jpg?sign=1739619170-RxlcHCBPUrtfvY6YlknEnAAcIGieQZZP-0-668fd997799ed2627013f51e85d4a295)
图2-108
![](https://epubservercos.yuewen.com/923280/15825991804142306/epubprivate/OEBPS/Images/Figure-P54_3312.jpg?sign=1739619170-KxnUU8by7JmwMhTNuXEmywOmYTtfU7gR-0-3d76c899978efa6b763e893a99733466)
图2-109
思考题:综合运用前几章节所学知识点来解释图2-109各材质表达式之间的联系、功能与最后的输出效果。