对于UE4,相信大家都不陌生,所以今天给大家带来使用UE4制作窗户材质效果的方法,希望对大家有所帮助。
先来看看最终效果:

我们在制作大楼场景时,如果不需要制作大楼内部场景,就可以制作窗户材质,以便节省时间。制作窗户材质可以使用UE4中自带的材质函数“InteriorCubemap”。
再制作一个简单的材质连接。
如果对于窗户材质的要求不高,直接使用上面的方法就可以了。但要想对窗户材质做更多的效果变化,可以继续往下看。

如果想让别的视角作为窗户材质的正面视角,可以修改材质函数“InteriorCubemap”的UVs。
首先在Cubemap的四面墙里显示一面,此处从物体位置Object Position作为输入,分别拆分为三个轴向,取绝对值后两两相乘,用上Fmod节点,此处的B输入要为4,向上取整后追加矢量。借用物体的当前三维坐标位置获得新的坐标。
然后与TexCoord相加输出给材质函数“InteriorCubemap”的UVs。
将材质创建材质实例,并赋予到一个正方平面上,这时候在视图中拖动平面物体,是不会产生随机效果的。需要回到材质编辑器中,选择材质函数“InteriorCubemap”的Randomize Rotation (B)右键点击“提升为参数”,确保数值为True。
在视图中选择一个随着面片物体移动产生随意视窗角度的材质。
调整之前的TexCoord,方便后面修改Cubemap的UV参数。


方法和之前相似,也是使用Object Position作为输入,通过简单计算获得一个随机值。再将随机值与TexCoord配合输出给窗帘贴图的UV上,这里制作一个switch开关,可以获得从两个方向随机开合窗帘的效果。
因为这里窗帘开合的时候是被重复平铺,所以需要在纹理编辑中修改窗帘贴图的Y轴平铺方式。

贴图在远处显示错误时需要勾选“无Mip贴图”。
对之前的Cubemap做一个变色处理。

这里需要注意几个输入对象,两个Multiply的B输入的是从之前随机窗帘得到的数值。
这时Lerp分别输入的是HueShift和变色后的窗帘,Alpha连接的是窗帘贴图Alpha缝隙处。在平铺没有占满的地方,是改变明度和颜色的区域。
最后修改Switch的方式,方便使用一个开关即时改变窗帘的位置。



从之前的窗帘随机值中Add一个B输入值,可以随机产生粗糙度和法线位置。


因为材质函数“InteriorCubemap”是一个正方形,所以此处的Cubemap也需要制作一个正方形。在UE4帮助文档中有立方体贴图的制作方法。
这里使用虚幻商城里“照片级渲染”的资源,搭建一个BOX盒体空间,并将四周的家具缩放后贴墙摆放。
为了获得六个方向的渲染图,在场景中心创建一个摄像机,并制作一个Sequencer,每个关键帧的点对应一个面的角度。
然后使用高分辨率截图,将六个面进行截图。
在PS中将六个面的图片依次按照+X、-X、+Y、-Y、+Z、-Z的方式进行排列。
导出时,使用PS的DDS插件。
在UE4中将Cubemap的压缩设置改为HDR。

为了让窗户材质有更好的效果,可以添加窗框效果,并在PS中转换法线,在UE4中使用Lerp合并之前的窗户材质效果。
窗户材质制作完成了,希望大家可以从这个教程中有所收获。