材质入门
材质入门
鲸拓工作室材质入门
常用属性
总览
首先,效果的最终呈现状态与设定的属性值有关,这里展示一些大致的效果:
从左到右分别对普通材质设置了颜色、金属感、发光和光滑度属性。四种材质对应的文件资产如下:
左边创建存放新地图的文件夹和一个存放材质的文件夹,右边是材质文件夹中已经创建好的四种材质。
创建材质
新建材质:资产管理器空白处右键点击新建材质
材质图表分别如下:点击对应的属性,提升为参数即可显示引脚,从而对相应的属性进行设置。
颜色
发光
发光:颜色值越大,发光越强
金属
金属:设置该值可以使物体表面有金属光泽,取值范围为0-1,值越大,金属光泽越强。
粗糙度
粗糙度:取值范围也是0-1,值越小越光滑,反之越粗糙。
各向异性
再介绍一个Anisotropy(各向异性),该属性一般可以用来渲染头发。
专业解释,各向异性是物质的全部或部分性质随着方向的改变而发生变化,在不同的方向上呈现出差异的性质,就比如上面说到的头发,会随着不同的光照变化而发生一些光泽变化。
这个圈会随着你拖动材质而不断变化,可以动手尝试下。把这个材质用到世界场景中
这条光线会随着你方位的移动而发生方位上的移动,可以有很多应用场景和高阶玩法等你发现。
想要查看或修改物体应用的材质,可以双击物体查看细节窗口的材质属性
木头材质
基础材质
作为初学者很难去构造一个复杂的材质,但UE拥有这非常丰富的资源库,甚至我们初始化的项目里都有许多默认资产,可以充分利用起来,快速构建自己想要的材质,下面我们创建一个木头材质。
1,新建一个材质,命名为M_Wood
双击进去,这里介绍几个快捷键,后面可以用到,我们可以通过创建1-4n维向量来对某个属性进行赋值操作
2,打开资产文件夹在All中搜索wood,可以看到相关的材质和纹理
3,使用纹理给材质贴图,并设置相应的属性以达到木头材质效果
主要分为三部分,纹理贴图、属性设置、和UV平铺。纹理贴图也就是表面样式、设置粗糙度让其看起来更像木头,设置UV平铺的值改变纹理之间的疏密,最后调整出你认为合适的木头材质即可。
如果我们想通过一个变量去修改UV,可以将TexCoord节点断开,使用一个常量乘以TexCoord节点,然后通过改变变量的方式改变UV,这个操作的意义好像没有这么大,但是可以形成一种思维,如果我们想要同时改变多维值时,可以通过一个变量去控制,而不用分别设置。
通过引入一个变量和乘操作来同时控制UV,从而快速改变材质的纹理疏密。
材质实例
找到我们想要创建实例的材质,右键鼠标创建材质实例。
生成一个材质实例
点击实例查看,我们可以看到UV_Multi变量,可以对UV进行设置达到自己想要的结果
通过对材质设置变量,这里我们明显发现,可以通过不断创建材质实例修改变量值来达到不同的纹理效果,而不用重复创建多个材质。
上面两个实例的区别仅仅在于UV变量值不同,他们基于的材质都是相同的,最后呈现两种完全不同的结果。
纹理平移
蓝图如下:需要通过Append操作将X、Y偏移操作融合,对UV进行加法操作就是对纹理进行平移
,随着值的不断变化,可以发现纹理在旋转。
将木头材质再创建一个实例,可以看到已经有三个变量了,此时X、Y偏移我们都设为1
当我们将X、Y偏移改为1.05,和上面图进行对比,可以看到尖角处分别向左、向上进行了平移。
大理石材质
1,新建一个默认材质,命名为M_Marble,命名随意,最好符合特定的规范,方便自己辨认寻找。
2,同样去初始化项目资产中寻找一些资源进行使用,注意搜索的文件夹范围,最好进行全局搜索
3,通过纹理RGB乘三维向量来控制纹理颜色,注意进行乘法操作的两个变量必须是同维度的,否则蓝图会报错。
连接纹理,数字1加鼠标左键新建一个常量给材质来点粗糙度。
这里,我们将最基础的颜色作为材质的底色,如果想要改变颜色,通过创建材质实例,修改变量值来改变纹理颜色即可。
两种纹理颜色物体对比:
颜色运算
RGB三维向量乘法
RGB三维向量加法
RGB三维向量减法
RGB三维除法,这里不符合数学计算哈,明白计算规则即可。
线性插值Lerp
调整颜色
Lerp线性插值:Alpha取0-1之间的值对应0-100等比例大小的数值,这里0,100也可以换为其它值,比如我们下面应用到颜色上。
利用线性插值来调整颜色:
我们也可以根据基础材质通过改变参数来创建不同的实例,这些实例的颜色可以从红色组件变到蓝色。下面就是两个不同参数的材质实例。
融合纹理
原理和上面想用,只不过将颜色变成变成了纹理贴图。
下面展示利用该材质生成的三个Alpha值不同的材质实例,并应用到场景物体上:三个Alpha值分别为0.1、0.5、0.9。
法线贴图强度
两个注意点:参数命名尽量简单易懂,下面这个就是错误示例,使用默认值等到调参的时候是看不懂什么意思的,然后就是之前说的在进行运算的时候,参与运算的算子一定要是想用维度的。
布尔参数
布尔值常用作开关和判断,有true / false两个值。比如下面这个例子通过增加静态布尔值来控制一个材质是否呈现金属状态。
使用该材质创建两个实例,一个勾选isMetal变量、一个不勾选
勾选了isMetal变量的比上面多了一层金属感,但由于纹理的原因可能不太明显,可是尝试其它纹理看看,可能会有更好的金属效果。
材质实例应用到世界场景中来看,金属感明显体现出来了
随机印痕
使用初学者包资源concrete纹理贴图创建最简单的混泥土材质
边为直接应用初学者包资源里的一种混泥土材质,右边为应用上图的基本材质。
想要生成一些随机早污点或者印记,可以借用现有的初学者材质资源
我们将上面生成随机污点的这部分蓝图复制到我们新创建的基础混泥土材质图表中
要想任意改变杂点的分布或者疏密,我们需要将上面一些常量转换为参数应用到材质中,最后生成材质实例,通过修改参数改变杂点分布、疏密。
创建两个实例,分别设置参数为0.2和0.8,让我们看看实际效果:中间为0.2,右边为0.8,杂点还是有区别的。
超级主材质
纹理和UV平铺
(下图中Roughness纹理连接到粗糙度哈,不是连接到Metalic,连接错啦!!!
)
可以根据自己的需求,将纹理进行替换,将UV平铺结果进行调整
增加着色
(下图中Roughness纹理连接到粗糙度哈,不是连接到Metalic,连接错啦!!!
)
Normal强度
(下图中Roughness纹理连接到粗糙度哈,不是连接到Metalic,连接错啦!!!
)
粗糙度控制
(这里粗糙度的连接改过来了!!!
)这里对目前存在的几个小模块进行了总览,简单来说,就是对前面每一节学习的内容通过变量控制的方式整合到一个材质中,最终通过调参来实现“万能材质“。
当粗糙度过大的时候,就没有什么效果了,因此我们引入clamp进行一个范围的限制。
这里的Clamp的默认最小值为0,默认最大值为1,我们也可以通过提升为变量来进行动态调控。
金属效果
增加一个布尔变量来控制是否展示金属效果
随机印痕
这里可以继续增加参数控制UV平铺
总览
上面设置完后,让我们看一下超级材质的蓝图总览:
再看一下实例的变量汇总:
万能材质和万能材质实例:
应用万能材质的场景物体效果:
混合法线贴图
如果使用了某种过强的纹理,可以通过Lerp加参数的形式进行一个控制。
Mixed Normal值为0的时候
Mixed Normal值为1的时候
纹理更加明显了!!!
材质资源
Quixel Bridge
Quixel网站:https://quixel.com/
虚幻商城
直接去虚幻商城下载喜欢的资产,里面也会有需要高质量、精美的材质资源
过程资产
以上就是材质的基础教程啦,希望能给你带来一些帮助,后续我们还会出更多的教程,和我们一起学习UE和VR吧!!!