材质
首先明确什么是物体的材质,材质属性定义了物体的某些特性,从而决定了物体表面是如何与光线相作用的。
本节只是简单介绍一下 UE 中材质创建和使用的方法
为了验证材质现在场景中添加一个 SM_MAT 意为静态网格物体
然后选一个合适的位置创建一个文件夹 material 用来存放我们的材质:
右键添加一个材质:
双击材质进入编辑界面:
可以看到,材质需要的属性都在中间的表格中列出来了,只要我们创建了该属性并将其添加上去就可以实现材质的效果。
首先是基础颜色(Base Color):定义了物体表面基本反射的颜色,这里可以添加一个 vec3 来指定一种颜色,也可以使用 Diffuse map,还可以混合两种,
对于单一颜色,首先按住 3 再点击左键,可以添加 vec3 ,然后和基础颜色连接,如果连错了,按住alt点一下连线可以取消
然后添加 Diffuse map看看效果:调出侧滑菜单 ctrl space
然后选择某个 diffuse texture 添加进去
diffuse map 的原理其实就是在一张图片中保存了对应纹理坐标的颜色值,然后使用的时候在这张图片上面进行采样,因此物体不再是单一的颜色而是每个纹理坐标对应一个颜色,最后进行插值。
这样就添加进去了,如果想混合刚才的蓝色,可以添加 multiple 函数,按住M 之后点击左键
效果大概是上图这样的。
然后添加normal 和 roughness 贴图并进行连接:
normal 贴图定义了物体表面法线的方向,从而影响光照的计算。
roughness 定义了物体表面的粗糙程度。
然后我们可以创建一个定义金属度也就是 metallic 的浮点数,范围从0到1,来控制物体是否更像金属,金属对于光线是没有漫反射的,因为进入金属内部的光线会被全部吸收。
效果就是更有金属光泽的样子。这里我将其改为0.5。
如果想控制纹理的密度可以将这几张贴图的 uv 坐标范围进行调整,按住 U 之后点击左键,会出现一个 texCoord 然后将它和三张贴图连接,然后修改 u 平铺 和 v 平铺为3,看下效果:
发现纹理更加细密了。
最后就是如果我们想创建一个模板,让我们每次创建材质的时候不需要再次定义这些变量和值,而是进行选择,比如选一张纹理,选定一种颜色等等,对于这样的属性,可以右键,将其转换为参数:
之后在材质页面,右键点击创建一个该材质的材质实例:
双击创建的材质实例查看:
可以看到其中的参数都可以根据我们的需要具进行设置,可以勾选,也可以不勾选使用默认值。