查看: 466|回复: 8

[引擎各个功能] 【创建分层材质 | Unreal Engine】

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2016-6-25 12:48:26 | 显示全部楼层 |阅读模式



【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



在这个简短教程中,我们将概述创建简单 分层材质 的过程,该材质包含两个材质层:铬合金和雪。最终的分层材质会自动将雪置于对象的顶部表面,从而在两种材质之间有效地进行切换。材质之间的混合将总是检查顶部表面,这意味着即使您旋转对象,雪也总是停留在顶部。

创建材质层时,通常将层创建为材质,然后将节点网络复制/粘贴到新函数中。但是,为了节省时间,我们先在函数内构建层。
简单铬合金

铬合金纹理
【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]




T_ExampleLayers_Metal_1_BC.png[/img]T_ExampleLayers_Metal01_N.png[/img](右键单击并选择“另存为”)(右键单击并选择“另存为”)
在第一个材质层中,我们将创建一个相当简单的铬合金,其表面有少许腐蚀或瑕疵。为了帮助说明一些可编辑性,我们还将创建一些输入来控制整体外观。

在 内容浏览器 中,单击 新增(Add New)按钮并选择 材质与纹理(Materials  Textures)> 材质函数(Material Function)。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



将新函数命名为 Layer_Chrome。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



双击 该函数,以在材质编辑器中将其打开。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



在材质图区域中 右键单击 以打开快捷菜单,搜索 Make 并选择 建立材质属性(Make Material Attributes)。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



将新的 建立材质属性(Make Material Attributes) 节点连接到 输出结果(Output Result)。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



铬合金层网络
此材质层的网络相当简单。为了加快构建速度,它已进行拆分。使用的两个纹理分别是 T_ExampleLayers_Metal_1_BC.png[/img](用于底色及粗糙度)和 T_ExampleLayers_Metal01_N.png[/img](用于法线贴图),这两个纹理均可从本页顶部下载。

请单击以查看标准资源文件大小的图片,或者右键单击并选择“另存为”(Save As)

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]




此材质层已拆分为注释块,说明如下:

底色(Base Color)- 此部分的网络非常简单。我们已设置线性插值,该插值在铬合金底色与非常深的灰色之间进行混合。底色实际上是名为 Tint 的函数输入。这个输入设置为 Vector3,从而允许我们将颜色输入到函数中,并更改铬合金颜色。我们使用 T_ExampleLayers_Metal_1_BC 纹理的红色通道在这两者之间驱动插值。

金属色(Metallic)- 因为我们要创建金属,所以将“金属色”(Metallic)设置为 1。

粗糙度(Roughness)- 我们是在创建铬合金,因此粗糙度通常非常低。但是,我们要在较暗的区域稍稍加大粗糙度,以使材质整体看起来有一定的深度。实际上,除了仅仅在 0.2 与 0.4 之间插值之外,此网络与用于底色(Base Color)的网络相同。

可定制的法线(Customizable Normal)- 此网络仅仅接收切线空间法线贴图,并分隔控制着大量贴图细节的绿色和红色通道。我们将每个通道乘以从另一个函数输入提供的值。此输入设置为标量类型,名为 Normal Multiplier,其默认值为 1.0。产生的结果将通过“附加矢量”(AppendVector)节点附加到一起,然后附加到法线贴图的蓝色通道。这样,用户就能够通过更改“法线乘数”(Normal Multiplier)值来调整法线的高度。

完成后,务请保存材质层函数。
简单的雪

雪纹理
【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]




T_Cave_Ice_Tiling_D.png[/img]T_Cave_Ice_Noise_N.png[/img](右键单击并选择“另存为”)(右键单击并选择“另存为”)
现在,我们创建雪效果材质层:

在 内容浏览器 中,单击 新增(Add New)按钮并选择 材质与纹理(Materials  Textures)> 材质函数(Material Function)。




将新函数命名为 Layer_Snow。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



双击 该函数,以在材质编辑器中将其打开。




在材质图区域中 右键单击 以打开快捷菜单,搜索 Make 并选择 建立材质属性(Make Material Attributes)。




将新的 建立材质属性(Make Material Attributes) 节点连接到 输出结果(Output Result)。




雪层网络
下图是雪材质层的简单明细。这个层使用 T_Cave_Ice_Tiling_D.png[/img] 和 T_Cave_Ice_Noise_N.png[/img],这两个纹理均可从本页顶部下载。

请单击以使用完整资源文件大小,或者右键单击并选择“另存为”(Save As)

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]




底色(Base Color)- 这可能是此网络中唯一相对复杂的部分,这仅仅是因为使用了 FuzzyShading 材质函数。此函数的效果仅仅是避免材质在接收到光线时变得太暗。这有点像光线穿过纤维状表面。因此它是用于天鹅绒、苔藓或本例中的雪的完美选择。首先,我们处理底色(Base Color)纹理 (T_Cave_Ice_Tiling_D.png[/img]),通过对它进行 0.3 幂运算来消除一定的对比度。

接着,我们将结果插入 FuzzyShading 材质函数,该函数可从材质编辑器的“函数”(Functions)选项卡拉取。将 核心暗度(Core Darkness) 设置为 0,将 幂(Power) 设置为 1,并将 边缘亮度(EdgeBrightness) 设置为 0.5。最后,我们将整体结果乘以非常淡的蓝色 (R=0.8, G=0.9, B=0.95),产生一种冰冷的颜色投射效果。

金属色(Metallic)- 这是非金属表面,所以将“金属色”(Metallic)设置为 0。

粗糙度(Roughness)- 我们希望雪在受到光线直射时发出一点光亮,因此使用 _Cave_Ice_Tiling_D.png[/img] 纹理的红色通道来驱动 0.6 与 0.3 之间的插值。

法线(Normal)- 此设置也相当基本。我们希望降低切线空间法线贴图的效果,这可通过成倍增强蓝色通道来实现。加强蓝色会降低法线贴图高度的整体外观。

完成后,请保存结果!
分层材质
现在,我们可以使用目前为止生成的层来创建分层材质。我们将稍微增大空间以进行实例定制,使得雪总是出现在表面的顶部。

在 内容浏览器 中,单击 新增(Add New)按钮并从快捷菜单中选择“材质”(Material)。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



将新函数命名为 Mat_SnowyChrome。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



双击 该材质,以在材质编辑器中将其打开。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



从 内容浏览器 拖放上述步骤中创建的 Layer_Chrome 和 Layer_Snow 材质层。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]




在 细节(Details)面板中,启用 使用材质属性(Use Material Attributes)。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



在“函数”(Functions)面板中,拖入 MatLayerBlend_Simple 函数和 World_Aligned_Blend 函数。我们将使用 MatLayerBlend_Simple 来处理从铬合金到雪的过渡,并使用 World_Aligned_Blend 根据表面的方向加强层混合效果。
分层材质网络
以下是 Mat_SnowyChrome 网络的明细以及每个注释区域的说明。

请单击以查看标准资源文件大小的图片,或者右键单击并选择“另存为”(Save As)

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]




铬合金设置(Chrome Setup)- 在此处,我们已引入铬合金材质层,并将 2 个材质参数与之相连。第一个是标量参数 Chrome Normal,用于驱动 法线乘数(Normal Multiplier) 输入。第二个是矢量参数 Chrome Tint,用于驱动 色调(Tint) 输入。这些参数可以用来改变法线贴图的强度,以及稍后进行实例化时更改铬合金颜色。

雪设置(Snow Setup)- 这是最简单的操作:我们只需要雪材质层。

全局一致混合设置(World Aligned Blend Setup)- 在这部分网络中,我们首先将 混合清晰度(Blend Sharpness) 设置为 10。然后,我们将标量参数 雪偏差(Snow Bias) 连接到 混合偏差(Blend Bias) 输入。这样,在将此材质实例化时,就可以编辑雪覆盖范围。

材质层混合(MatLayerBlend)- 仅包含用于驱动混合的节点。基本材质为铬合金。顶部材质为雪。World_Aligned_Blend 负责处理过渡。

完成后,请记得保存材质!
分层材质实例化
我们已使用参数来设置此材质,这些参数进而驱动材质层的各个方面,现在,我们可以将此材质实例化并进行编辑。此过程在 UE4 中非常简单。

如果您创建项目时已包括“起步内容”,那么您有可应用新材质的一组椅子和桌子。否则,请随意添加您自己的资产或 BSP。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



右键单击 Mat_SnowyChrome 材质,并选择 创建材质实例(Create Material Instance)。可以接受默认资源文件名称。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



将新实例从 内容浏览器 拖放到场景中的某个对象上。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]



双击 该实例,并根据需要任意更改其属性。您可以更改铬合金的颜色、铬合金法线贴图的深度以及该实例顶部的积雪量。

【虚幻4翻译文档-创建分层材质 | Unreal Engine】[虚幻4中文文档]


回复

使用道具 举报

追忆似水年华 该用户已被删除
发表于 2016-7-2 18:36:47 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

0

主题

886

帖子

2913

积分

vip会员

Rank: 1

积分
2913
发表于 2016-7-3 20:06:21 来自手机 | 显示全部楼层
O(∩_∩)O哈哈~,谢谢分享哟
回复 支持 反对

使用道具 举报

0

主题

886

帖子

2924

积分

vip会员

Rank: 1

积分
2924
发表于 2016-7-4 09:02:08 来自手机 | 显示全部楼层
嗯,这个资源特别的好啊,赶紧下来收藏起来。
回复 支持 反对

使用道具 举报

0

主题

837

帖子

2769

积分

vip会员

Rank: 1

积分
2769
发表于 2016-7-6 21:59:26 | 显示全部楼层
这样的人是业界良心 有时在人人下个东西学比取经还难
回复 支持 反对

使用道具 举报

0

主题

837

帖子

2739

积分

vip会员

Rank: 1

积分
2739
发表于 2016-7-9 08:17:47 来自手机 | 显示全部楼层
不错,我喜欢这个,看看多少金币哦
回复 支持 反对

使用道具 举报

0

主题

844

帖子

2772

积分

vip会员

Rank: 1

积分
2772
发表于 2016-7-22 21:14:32 来自手机 | 显示全部楼层
不错的资源啊,可以研究研究
回复 支持 反对

使用道具 举报

0

主题

842

帖子

2790

积分

vip会员

Rank: 1

积分
2790
发表于 2016-7-23 23:56:31 | 显示全部楼层
这个必须顶,撸主好人
回复 支持 反对

使用道具 举报

悄然等待 该用户已被删除
发表于 2016-7-24 02:43:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部