材质库

材质库是用户可以在其中找到基本和最常用的材质,在他或她的项目中使用或创建他或她自己的基于这些材质的材质库。

该材质库可以在 /blender/material_library/ 在SDK根目录文件夹中找到。

库结构

所有材质通过文件夹组织结构(由材质类别),并通过一个单独的文件(由材质)。每共blend文件包含一个基底材质和物体添加该材质,演示该材质可以与该材质相关联的物体上(例如,元宝为金材质)。

_images/material_library_main.png

材质结构

_images/material_library_structure.png
  1. 核心材质

  2. Material 节点从核心接收任何有价值信息

  3. 法线贴图可以加到任何一个材质核心

  4. 纹理包含额外的遮罩信息给材质给予物体正确显示。大多数材质使用下面的遮罩:

    • 环境闭塞贴图

    • 污垢贴图

    • 磨损图

    • 绿锈贴图

    这些遮罩不是在每个材质中使用,需要时,才为着色器显示一种特定的方式。

  5. Mapping 节点用来控制UV映射的参数。

  6. RGB Curve 节点可以在遮罩插入核心材质之前修正。

  7. 具体的高光贴图在 Material 节点之后,用来实现不同程度的镜面模糊。

  8. 烘焙的环境闭塞贴图是在输出节点之前加的着色器。

  9. Output 节点。

核心材质

这是包含节点结构形成一个着色器的主要节点组。本质上,这是材质本身的真实形式,与所有复杂节点交互包装成一组,方便使用。此节点组具有一定的输入和输出,以及具体的输入参数,来进行设置。

使用材质的一个例子

_images/material_library_example.png

在这里,可以看到,设置塑料材质为一种特殊的演示物体的一个例子,而无需使用被插入核心材质中的纹理。

_images/material_library_example_demo.png
  1. 基色用一个简单的``RGB``颜色节点创建并插入到核心材质输入。

  2. 材质实现不使用任何法线贴图,所以几何数据插入到 Normal 输入。

  3. 该核心材质具有控制光泽的材质上的量的某些参数。在这种情况下,这个参数的值设置为最大。

  4. 该材质还采用了烘焙的环境闭塞贴图。

现在,让我们来看看使用相同材质在不同物体的情况 - 一个塑料手柄。

_images/material_library_example_gamepad.png
  1. 物体的几何形状的顶点的颜色被用作这里的基本颜色。

  2. 手柄的几何形状烘焙到了一张法线贴图上,并连接到核心材质的 Normal 输入。

  3. 光泽的程度较低。

  4. 替代演示物体的遮罩,专为游戏手柄模型烘焙的遮罩(环境光遮蔽和污垢)被使用。

注解

应当指出的是,核心材质并没有改变以适应不同的几何形状。

添加材质到一个场景

如何添加整个材质

_images/material_library_append.png

选择 File > Append/Link 从菜单中选择,这取决于你想要做什么。如果你想保留修改物体的能力,它已被添加到场景后,使用 Append 。如果你不这样做,用 Link

_images/material_library_select_blend_file.png

然后从 /blend4web/blender/material_library/ 目录中选择包含所需要的材质blend文件。

_images/material_library_select_material.png

从材质列表中选择需要的材质,然后按 Append from LibraryLink from Library. 追加。现在,该材质已经被添加到场景,并可以在任何物体上使用。

如何只添加核心材质

如果你想只添加核心材质,其他一切都自己设置的话,不用选择材质,选择 NodeTree 同时连接/追加,然后选择从库中您需要的节点组,然后按 Append from Library 或者 Link from Library

_images/material_library_add_core.png

现在,这个节点组可在节点组列表中找到,您可以通过点击 Add=>Group 在节点编辑器界面添加材质列表中找到。

_images/material_library_add_group.png

注解

每一个材质不仅考虑遮罩和纹理,而且顶点颜色和UV贴图也有自己的要求。

如何将材质库添加到项目

当创建一个新的项目,你可以插入材质库进去,然后直接从那里插入材质。

_images/material_library_use.png

要做到这一点,使用创建项目时使用 Project Manager 勾选上 Use Material Library ,然后,整个材质库将被自动复制到新的项目,和所有的依赖一起。