在以下的教程中,我们将看到如何使用所有3D模型包中的多引擎纹理包(Multi Engine Textures Pack的纹理,以及一些可视化效果的PBR(基于物理的渲染)和3D渲染程序的材质。我们将看到:

在所有的教程中,我将使用我的一个3D模型显示一些图像,“临床温度计”(clinical thermometer(不随指南提供),在下一个图像中可见(该图像使用具有3个光源的场景和纹理的图像作为虚拟的背景,在3D Blender的循环中渲染。)

我在这些教程中所使用的对象由两个物件组成:透明部分的“glass”和其余部分的“frame”



我决定使用这个模型,是因为它显示了两种不同的材料,具有不同的特性:第一种(frame)是不透明的,同时显示了金属和电介质部分;第二种(glass)是透明的,因此,它将允许我们了解如何管理已经使用的软件的透明度。

使用此三维模型讨论的技术可应用于使用我的标准创建的所有三维模型:

  • 每个物体用一种材料;
  • 无覆盖的纹理地图(“UV Layout”);
  • 包中包含的FBX交换格式;
  • 含有PBR4材料和PBR纹理的BLEND文件,用于文件中包含的循环;

还有,很明显地,

  • 多引擎纹理包文件夹(MULTI ENGINE TEXTURE PACK,其中包含不同渲染引擎和工作流金属和镜面的PBR纹理。


PBR4材料的纹理循环(Blender 3D 2.7x - 2.8x

在3D模型的压缩包中,你总会找到一个使用2.7x-2.8x版本(或下一个版本)创建的混合文件。此文件具有与场景中存在的材质关联的纹理图像。

包中存在的BLEND文件总是将纹理图像打包,以用于场景中存在的许多材质。



所以,如果你想使用我提供的纹理的对象,你只需把对象放在你的Blender场景中。让我们看看怎么做。            

在Blender项目的场景中,要按照包中提供的方式放置对象,请从“文件”菜单中选择“附加”。

Blender项目的文件菜单中选择附加,将对象放入其中。



此时,在Blender的文件浏览器窗口中,你必须 “导航” 到以这种方式导入所需的对象:

  1. 从磁盘上的路径找到并单击您感兴趣的文件

  2. 在文件中,单击对象部分;

  3. 选择要导入的所有对象,然后单击表单中的 “附加” (Append)功能。

APPEND阶段;特别是在上载带有材质和纹理的对象时,请注意选择对象。



因此,对象将以当前的形式插入,配备了材质和原始纹理,可以根据需要进行转换。

插入到场景中的对象配备了材质和原始纹理。



如果在空场景中导入对象,请不要忘记激活光源或背景中的至少一种颜色,否则将无法看到任何内容;下一幅图像是在一个由白色表面、3个区域灯光源和一个HDR全景图像构成的虚拟宇宙背景中拍摄的。

渲染3D Blender场景的预览(循环为渲染引擎),并正确设置灯光和背景图像。



相反,如果你想创建一个新的纹理集,例如在实体绘制中,并且你想使用我提供给你的材质中的PBR4节点,你必须以一种可以与PBR4节点兼容的方式创建纹理。此操作已在本基本指南的另一个教程(“从Substance Painter 2019导出周期PBR4材质的纹理”)中进行了描述。

重要提示(有关半透明物体

我的材料的PBR4节点有一个叫做“Abs Strength”的值,它的意思是“吸收强度”,当这个节点通过半透明的材料时,无论有否颜色,它都可以调节光吸收强度。

注意材料参数



对于彩色半透明材质,如果冻、葡萄酒和一般不完全透明的流体,此参数的值必须大于1(默认值),但对于水、钻石或 “纯” 玻璃,必须将其取为0,否则对象将看起来会很暗。

此外,你还必须正确设置IOR参数,该参数显示了材料的折射率,通过在互联网上的简单研究,你可以对此快速恢复;例如,对于钻石,你会发现的最佳值在2.1和2.4之间。


如何从Substance Painter 2019导出Cycles / Eevee PBR4材质的纹理

在本教程中,我们将了解如何配置纹理在物质绘制器上的导出,以获得循环的“PBR4”材质(用于3D Blender)所需的三种纹理。

这是很有用的,这是因为,如另一个教程中所述,我的所有BLEND模型都配备了该材质,如果你想继续使用它(以保持与场景中其他对象的一致性),但是,你要更改纹理(例如你重新创建了纹理并添加了徽标,或者因为你从头创建了纹理),那么你必须知道如何导出必要的纹理图像。

本教程是用Substance Painter 2019版完成的,它是为那些已经对程序有了很好的了解的人(它不是一个基本教程)。

Cycles/Eevee中的PBR4材料特别使用3个图像:

  1. 基色(反照率或基色)图像;

  2. 像正常地图一样的图像;

  3. 由其他四种不同图像组成的图像,灰度,存储在单个PNG图像的四个RGBA通道(红、绿、蓝、阿尔法)中。

Cycles/Eevee中的PBR4节点使用3个纹理图像;尤其是ORMA图像由4个图像(遮挡、粗糙度、金属、alpha)组成,这些图像链接到图像的4RGBA通道。



因此,在我们的Substance项目中,我们有一个完全纹理化的物体,可以用来输出。我们在Substance Painter菜单中选择 “导出纹理”。

我们从Substance Painter菜单中选择导出纹理



让我们进入将在屏幕上显示的窗口中的配置(CONFIGURATION)选项。在这里,我们可以选择为PBR4创建一个新的导出预设,或者选择一个已经存在的预设,并将三个必要的纹理添加到队列中,以便在导出后获得预设的原始纹理和PBR4的纹理。

导出文档中的配置窗体(从导出纹理选项中操作)。



无论如何,要创建这三个图像,我们需要:

  1. 基础颜色的RGB图像;我们在此纹理的输出映射中写入“cycles_$textureSet_BaseColor”;我们不会在此纹理中放置透明度信息(不透明度);

  2. ORMA纹理的R+G+B+A图像(遮挡、粗糙、金属、alpha);因此,我们需要4个不同的信息通道,在一个纹理中放置四个不同的贴图;我们在该纹理的输出映射字段中写入“cycles_$textureSet_ORMA”。

  3. 正常贴图的RGB图像;我们为此纹理的输出贴图字段写入“cycles_$textureSet_normal”。

你需要为输出而创建的三个图像。



此时,我们必须分别在输出映射的插槽内拖动表单右侧的映射,我们将要拖动:

  • Input Maps – 基色纹理中的基色;
  • Input Maps – ORMA纹理的“R”槽中的环境光遮挡;
  • Input Maps – ORMA纹理“G”槽的粗糙度;
  • Input Maps – ORMA纹理的“B”槽中的金属;
  • Input Maps – ORMA纹理“A”槽中的不透明度;
  • Converted Maps –普通纹理中的普通OpenGL

我们感兴趣的所有映射都是“输入映射”(Input Maps)部分的一部分,对于正常的OpenGL映射(位于“转换的映射”部分)例外。

Substance Painter的地图和需要创建的纹理之间需要进行的关联。



我们的导出预设已经准备就绪;显然,此时,我们必须返回到“导出文档”(EXPORT DOCUMENT)窗口中的导出表单,如下图所示,设置:

  1. 导入导出文件的磁盘路径(三幅纹理图像);

  2. 8位PNG格式(因为我们需要一个具有透明通道的图像,所以不能使用JPG格式);

  3. 刚创建的配置(预设),显示需要导出循环的3个图像的设置

  4. 需要创建的图像分辨率(例如,在我的示例中,这是2048x2048)。

导出文档窗口中的导出表单



因此,图像将以选定的路径导出到磁盘,并准备链接到Cycles/Eevee 的PBR4材料。


如何在Marmoset Toolbag 3中使用镜面工作流程,重新创建对象的PBR材质

在 “多引擎纹理包”(MULTI ENGINE TEXTURES PACK)文件夹中,除其他外,还有用于使用镜面和金属工作流程而重新创建的PBR材质的纹理。在本教程中,我们将看到如何在Marmoset工具包中使用镜面工作流成来重新创建PBR材质。

首先,我们在一个新的Marmoset工具包项目中导入3D模型的FBX文件:我们只需要将FBX文件拖到程序的3D视图中。

程式将立即识别这些材质,并将它们链接到镜面工作流程;在这种情况下,有两种材质:“glass” (温度计的透明部分)和 “frame” (温度计的其余部分)。

在三维场景中导入模型的FBX文件;Marmoset工具包将立即识别材质(列在图像右上角);在这种情况下,有两种材质:“glass”“frame”



我们必须双击“frame”,然后打开一个文件浏览器窗口,输入在包中有纹理的文件夹。

此时,我们必须拖动带有“PBR-SpecGloss_”和材质名称的图像,因此,我们必须以这种方式将它们拖动到Marmoset工具包中:

  • 反照率图像中的漫反射- Albedo Map;
  • 微表面图像中的光泽度-Gloss Map;
  • 面内法向图像- Normal Map;
  • 反射率图像中的镜面- Specular Map。

我们可以去掉高度图像。

Marmoset工具包中设置PBR镜面材质的纹理。



对于“glass”材质,关于如何拖动和链接地图的相同考虑是有效的,但我们还必须进行另一个操作:我们必须单击右下角的透明窗体来选择折射。            

透明度窗体将打开,我们必须在其中设置,尤其是折射值的索引(我建议您尽可能降低它;例如,降低到1.05或1.02),如有必要,取消选中 “使用Microsurface” 的复选框。

设置半透明对象的折射和透明度



显然,物体的最终外观也会受到用作环境照明的图像的影响;为了在下面创建图像,我使用了 “室内荧光” 预设,并降低了背景强度(背景亮度),使物体脱颖而出。

环境照明的设置和Marmoset工具包33D场景的背景。


2019Substance Painter中如何用金属工作流再现物体的PBR材料

在 “多引擎纹理包” 文件夹中,除其他外,还有用于使用镜面工作流和金属工作流重新创建PBR材质的纹理。在本教程中,我们将看到如何使用Material Painter 2019中的金属工作流重新创建PBR材质;如果你想了解如何使用镜面工作流重新创建材质,请参阅我关于Marmoset工具包3的教程。

首先,我们在一个新的实体绘制项目中导入三维模型的FBX文件,将FBX文件拖到程序的三维视图中。Substance Painter会立即要求我们指定创建新项目的设置;我们可以确认默认设置并继续。

Substance Painter 2019的作品创作



Substance Painter将立即识别与对象链接的材料,并将其放入纹理集列表部分;在这种情况下,我们有两种材料:“glass”(温度计的透明部分)和“frame”(温度计的其余部分)。

首先要做的是从材质中删除由材质绘制器自动创建的空层(在本例中有两个空层);完成后,必须为每个材质创建一个填充层(FILL LAYER)。

对于纹理集列表中的每个材质,删除默认层并创建新的填充层。



此时,我们必须导入项目中的纹理图像,因此,我们选择文件-导入资源,然后(在将出现在屏幕上的导入资源窗口中),我们选择带有前缀“PBR-MetalRough_” 和材质名称的纹理(在我的例子中是“glass”和“frame”)。

我们可以避免导入高度纹理。

导入项目中的纹理,选择带有MetalRough前缀的纹理。我们可以避免导入高度(HEIGHT)图像



在单击“导入”之前,我们必须将资源类型从“未定义”更改为“纹理”;因此,在“将资源导入到:”选择器中,我们选择在当前会话中导入图像。

纹理的导入设置



此时,对于每种材质,我们可以开始在我们创建的填充层的槽中设置纹理,遵循图像名称和属性之间的匹配-填充槽(基色、金属、粗糙度、普通)。

导入的图像和材质属性之间的匹配-填充槽

有关半透明材质(如玻璃)的注释:“我的包” 不包括半透明材质(称为Alpha或Opacity),你必须在材质的“不透明度”集中、属性-填充表单(PROPERTIES – FILL)中手动设置值(或为此目的创建新纹理)。

一旦你完成了所有这些,你将拥有物质材料,就像我创造的一样,并且,从这个基础开始,你将能够做你认为更合适的所有改变(例如添加徽标、更改颜色或任何其他材料在不同位置的属性等)。

材料可以作为通用PBR导出,用于Unity、V-Ray、Adobe Dimension、Unreal和其他程序,使用Substance Painter 2019的本地预设;但是,如果要使用包中存在的混合文件为周期的PBR4材料创建纹理,则必须为物质创建一个特殊的导出预设。

有关如何在周期内为PBR4创建预设的说明,请参阅本指南的另一个教程。


Unity 2019中导入材质的PBR纹理(金属工作流)

要使用Unity 5标准明暗器(使用PBR金属工作流)中的纹理,首先必须拖动“项目”选项卡中对象的FBX文件,以便将其放入当前项目中。

这个物体看起来像是由两个几何图形和两种材料制成的,开始时是灰色的,没有任何纹理。

Unity中导入的FBX文件将使材质为空,没有任何纹理。



现在,我们无法更改材质的设置,因为Unity导入FBX文件,将文件中存在的材质提供给它们,因为在检查器的材质窗体中可以看到导入的对象:“材质创建模式” 设置为 “导入(遗留)”,而 “使用嵌入材料” 上设置了 “位置”。

默认情况下,Unity尝试直接从FBX文件导入材质和纹理;但是,在我们的示例中,只有材质,但缺少纹理图像。



因此,让我们单击 “使用嵌入材料” 选项(“位置”槽),将其更改为 “使用外部材料(传统)”,然后单击 “应用” 以应用更改。

让我们选择使用外部材料(传统)选项作为位置并应用更改。



Unity将创建一个名为Materials的文件夹,并将对象的材质放入其中,但这次我们可以更改它们,将它们放入纹理中。但是,材质将链接到对象,因此,在场景中放入对象的副本(通过将其从项目拖动到检查器)后,你将立即看到更改。

材质文件夹中创建的新材质将链接到对象,我们将能够更改它们。

此时,我们可以从多引擎纹理包文件夹中选择带有 “Unity5-Metallic” 前缀的图像文件,并将其拖动到 “项目” 选项卡中的 “材质” 文件夹中;特别是,我们必须为每个材质拖动3个图像(因此,在我的示例中,6个图像,因为我们有2个材质)。

让我们将带有 “Unity5-Metallic”前缀的图像从多引擎纹理包文件夹拖到项目的材质文件夹中。

为每个材质设置纹理非常简单,因为我们只需拖动:           

  • 材质通道槽中带有反照率透明度后缀的纹理;
  • 材料通道槽中带有金属平滑度后缀的纹理;
  • 材质通道槽中带有普通后缀的纹理;在最后一种情况下,我们必须单击将在材质窗体中显示的“立即修复”按钮,以将图像标记为普通贴图。

拖动材质槽中的纹理,然后单击立即修复按钮查看法线贴图。

我们不需要做任何其他事情来设置基本的不透明材质;对于具有透明度的材质,在进行这些链接后,必须将“材质检查器”窗体顶部的“渲染模式”参数从“不透明”(默认值)更改为“透明”。

对于具有透明度的材质,一旦将三个纹理图像组合在一起(与不透明材质相同),就需要将渲染模式从不透明更改为透明。


Unreal Engine4.x版)中导入材质的PBR纹理

要在虚幻引擎4.x中使用该模型,首先,我们必须将对象的FBX文件拖到虚幻项目的内容浏览器中。

我们在“FBX导入选项”窗口中单击“全部导入”,继续忽略有关模型中缺少“平滑组”的任何警告。

在非真实项目的内容浏览器中导入FBX文件



游戏引擎将立即识别FBX文件中的当前对象(在我们的示例中,有两个对象:“frame” 和 “glass”)以及相关的材质,但这些对象在开始时将是空的;拖动3D场景中的对象,实际上,我们将一致地看到它们,没有任何纹理。

Unreal上传的物品和材料。



在本教程中,与其他程序的材质一样,我们将看到如何配置两种不同的材质类型:不透明(金属、电介质或混合)材质和半透明材质;在这两种材质中,要对包中提供的纹理进行的组合是相同的,因此让我们从谈论不透明的材料。

首先,我们将带有不真实前缀的纹理从多引擎纹理包文件夹拖到项目的内容浏览器中;每个材质有3个图像,因此在我的示例中,我将导入其中6个。

注:在导入正常纹理时,Unreal会通知我们它已经自动转换了“Normal Map”中的图像,因为它在下一个图像右下角的面板中可见;我们可以通过单击 “OK” 按钮确认Unreal的操作。

在项目的内容浏览器中拖动带有Unreal前缀的纹理图像;如果Unreal通知我们,请单击确定,通知我们它已转换了正常地图。



一旦我们也导入了项目的图像,我们必须双击一个材质来插入纹理图像;默认情况下,材质的节点链接到一个空的节点:我们必须选择它,删除它,并将该材质的三个纹理图像从内容浏览器拖动到材料编辑器。

让我们在材质编辑器中为所选材质插入三个纹理图像。让我们删除默认的空节点。



在本例中,我选择 “frame” 材质(不透明部分,包括金属和电介质),以这种方式链接纹理:

  • 基本颜色纹理复合输出(RGBA)到材质节点的基本颜色输入;
  • 闭塞粗糙度金属纹理(OcclusionRoughnessMetallic)的 “R” 输出到材质节点的环境遮挡输入;
  • 闭塞粗糙度金属纹理(OcclusionRoughnessMetallic)的 “G” 输出到材料节点的粗糙度输入;
  • 闭塞粗糙度金属纹理(OcclusionRoughnessMetallic)的 “B” 输出到材料的节点金属输入;
  • 正常纹理的合成(RGBA)输出到材质节点的正常输入。

让我们将三个纹理图像的输出链接到材质节点的输入端口。



让我们保存更改以应用它们,然后返回到程序的主编辑器。

现在让我们来看看半透明的材料(在本例中是“glass”)。我们必须双击新材质才能再次进入材质编辑器。

我们需要像不透明材质一样将纹理链接到材质的节点,因此,首先,我们必须执行此操作。

但是,我们还必须进行另一个链接:让我们获取纹理基础颜色中的Alpha输出(最后一个),并将其链接到材质节点的不透明度输入。

让我们也为(半)透明材质使用相同的纹理和节点配置;但是,在这种情况下,我们还必须将基色图像的Alpha输出链接到材质节点的不透明度输入。



然而,一旦保存了更改,我们将看到对象看起来是不透明的。

这是因为,在材质编辑器的左侧,我们必须为所选材质将材质的 “混合模式” 从不透明(默认值)设置为半透明;此外,在窗体的左侧底部,我们必须将 “照明模式” 参数更改为 “表面前向着色”。

对于半透明材质,需要将混合模式设置为半透明,将照明模式设置为表面前向着色



再次,我们保存更改并返回主编辑器;现在,半透明材质将正确显示在场景中。

最后的产出结果



注意---如果对象看起来“太透明”(即:不可见),可以将标量节点链接到材质节点的不透明度输入并设置标量值。例如,在0.1或0.2时,使对象变成半透明(但不要太多…足够让人看到它就可以了)。


3D Studio Max 2020V-Ray 4.20中的材质导入PBR纹理

在本教程中,我们将了解如何在3D Studio MAX 2020的V-Ray Next Update 2(版本4.20)材质中配置PBR纹理(附加在多引擎纹理包包中)。

为了创建在本教程中可见的渲染,我在3D Studio MAX项目中放置了光源和背景图像;如果没有这些元素,渲染将显示为黑色。我还增加了一个平面图(灰色的),所以我们可以把物体放在上面看阴影。

初始场景:除了物体外,还有平面图、光源和虚拟摄像机

让我们从最简单的材料,“frame”开始,它是不透明的。

让我们创建一个VRayMtl材质,并将其指定给场景中的“frame”对象。

因此,让我们单击“基本参数”材质部分中“漫反射”、“反射”和“反射光泽度”插槽旁边的方形框。将出现一个“Material / Map Browser”(材料/地图浏览器)窗口,我们必须在其中指定要为该通道创建位图。我们还必须指定要使用的纹理图像;我们可以使用文件名中的后缀选择正确的图像来识别它;例如,对于“frame”漫反射的插槽,我们必须设置“vray_frame_diffuse.png”纹理。

在我们将使用的四个地图中,其中三个是位图类型,我们可以很容易地从多引擎纹理包中的文件名识别它们。



要设置第四个图像,即Normal Map,我们可以这样继续:打开材质的贴图部分,单击凹凸槽,然后将其更改为VrayNormalMap类型。在这个对象内部,我们可以在“Normal map”槽中设置相应的纹理(在本例中为“vray_frame_normal.png”)。

要设置Normal Map,我们单击Bump并将类型更改为VRayNormalMap,然后在Normal Map中拖动Normal Texture



如你所见,要将V-Ray中的不透明材质设置为多引擎纹理包中提供的PBR纹理,我们只需链接四个可以从名称中识别的PNG图像(漫反射、反射、反射光泽度、正常)。

对于“glass”材质(以及通常具有透明度的所有材质),我们必须对“frame”不透明材质执行相同的基本操作(即:将四个纹理图像组合到各自材质的槽中);之后,我们必须执行三个在“基本参数”选项卡的“反射”部分中执行操作:

  • 选中“影响阴影”复选框;否则材料可能看起来是黑色的;
  • 将“折射颜色”改为纯白色,或者,如果“折射颜色”太透明,则改为浅灰色,几乎是白色;
  • 将“IOR”值降低至1.04。

要设置半透明的VRayMtl材质,一旦我们上传了四个纹理图像,就像对不透明材质所做的一样,我们必须注意材质的基本参数部分中的折射颜色、折射IO和影响阴影设置。



完成后,材料就正确设置了。

渲染了的图像