跳转到内容

Blender 3D:菜鸟到专业/使用纹理

来自维基教科书,开放世界的开放书籍

在手册中已经介绍了 Blender 中关于纹理的一切内容 [1],许多人仍然难以理解纹理系统背后的概念以及纹理的应用。

网上有一些关于纹理的优秀教程,我个人喜欢 为傻瓜准备的纹理,作者是 Leigh Van Der Byl。它是免费的(像免费啤酒一样,而不是像这本免费的书一样),所以你应该现在就下载并阅读它,以充分利用本教程。

我们将看看如何在 Blender 纹理系统中应用纹理概念。我将使用图像纹理和程序纹理来解释它,但请注意纹理系统非常复杂,更高级的贴图是通过使用一些组合的纹理创建的。

如果你真的喜欢纹理,你需要学习如何 UV 贴图,这是无法避免的。

颜色贴图

[编辑 | 编辑源代码]
图 1a:图像作为纹理应用到平面。 下载纹理

这是最基本的贴图类型。你可以使用图像或程序纹理来改变材质的颜色。

菜鸟提示:一个简单的基本纹理指南 纹理的基础知识 I。

图 1b:颜色贴图的 贴图到 面板。

使用图像纹理

  • 纹理按钮 中添加一个 图像 纹理并加载图像(这对 UV 贴图纹理也是必需的)。
  • 贴图到 面板中的 Col 按钮使用图像的 RGB 信息来改变材质的颜色。
  • 数字滑块按钮 Col 控制纹理的混合量,Neg 反转颜色值。
  • 如果使用 No RGB,则只使用图片中的强度信息。目标颜色将从 贴图到 面板中的 RGB 滑块获取。

使用程序纹理:结果取决于纹理提供的数值类型。

  • 如果数值类型是强度(例如 云朵),则颜色将从 贴图到 面板中的 RGB 滑块获取。
  • 如果数值类型是颜色(例如 魔法),则一切都与图像纹理相同。
Note:

颜色和强度?到底是什么?

图像纹理(以及其他纹理)可以提供两种不同类型的数值

  1. RGB 颜色信息
  2. Alpha 信息。

现在我们要看看几个不同的场景。

  • 如果图像没有 alpha 通道,并且你
    • 不激活 使用 Alpha计算 Alpha,一切都将变得简单 - 纹理只提供 RGB 颜色信息。如果需要,将自动计算强度值。
    • 激活 使用 Alpha,纹理不提供强度值,也不会计算。如果你现在激活 No RGB,则强度值将再次从颜色信息中计算出来。所以你要么使用 使用 AlphaNo RGB,要么都不使用。
    • 激活 计算 Alpha,纹理将自动计算强度值。现在 No RGB 将不起作用。


漫射贴图

[编辑 | 编辑源代码]
图 2a:漫射贴图设置,范围很小(0.2)。

漫射贴图改变材质反射/吸收的漫射光量。这通过改变反射率 (Ref) 来控制。粗糙表面的材质可能具有白色,但吸收的光量比光滑表面的材质更多。有关漫射反射物理的更多信息,请参阅 漫射反射

菜鸟提示:下面描述的大多数设置都将在 Blender 2.61 中的纹理/材质面板下的 "影响" 部分中找到。

让我们测试一下

  • 在纹理按钮 (F6) 中,在贴图图像面板中,确保 使用 Alpha 未选中。
  • 在材质按钮 (F5) 中,在贴图到面板中,取消选中 Col 并选中 Ref

菜鸟提示:在 Blender 2.6x 中,"Ref" 已更改为 "Intensity"

为了理解这一点以及所有其他贴图的影响,我们必须讨论数字按钮 DVar (目标值) 的含义。

  • 纹理中的白色(或 1 的强度值)将被映射到 DVar 按钮的值。因此,如果你将 DVar 设置为 1,白色将被映射到 1,如果你将 DVar 设置为 0,白色将被映射到 0。结果将乘以 Var 数字按钮的值。
  • 另一方面,黑色(或 0 的强度值)不会改变任何东西,因此材质设置将保持不变。材质设置和 DVar 按钮之间的差异是纹理的范围。

让我们看一个例子。


图 2b:用于颜色贴图的图像作为漫射贴图应用,范围很小(0.2)。

如果我们使用漫射贴图的默认设置,则数值范围很小。

  • Ref 为 0.8
  • Dvar 为 1.0
  • 纹理中的白色像素将 Ref 值更改为 1.0,纹理中的黑色像素根本不会更改 Ref 值。

因此,Ref 的结果范围为 1.0 - 0.8 = 0.2。


图 2c:漫射贴图,范围为 1.0。

当我们在 着色器 面板中将 Ref 参数更改为 0 时,我们将获得更大的 Ref 值范围,从 0.0(纹理中的黑色像素)到 1.0(纹理中的白色像素)。


还有其他方法可以实现更大的范围,你也可以将 Ref 设置为 "反转"(点击两次,它将变为黄色),将 DVar 设置为 0,并将 着色器 面板中的 Ref 设置为 1。

Note:

为什么这么复杂?

好吧,复杂意味着灵活。你可以使用图像(或程序纹理)进行几种贴图,例如颜色、漫射、Alpha、镜面等。

亮度贴图

[编辑 | 编辑源代码]

亮度是自发光属性,即物体发射光线。因此,我们使用此纹理来改变 Emit 值。

这种光线不会照亮其他物体 - 你需要使用全局照明(例如 Yafaray)才能将发光物体用作真正的光源。光度渲染不适用于亮度贴图。

关于 DVar 值的所有内容都适用于此处,就像漫射贴图一样。


镜面反射贴图

[编辑 | 编辑源代码]

镜面反射是第二重要的材质属性。镜面反射模拟光源的反射。当然,你可以使用纹理来修改一般的镜面反射。在 Blender 中,你可以更改与镜面反射相关的三个不同属性

  1. Spec: 镜面反射的程度。你无法使用镜面反射贴图设置高于 1.0 的值,但你可以反转纹理并将 着色器 面板中的 Spec 设置为更高的值,并将 Dvar 设置为范围的最低值。因此,纹理实际上降低了所有区域的镜面反射,这些区域应该具有较低的镜面反射。
  2. Hard: 镜面反射的硬度。有时被称为 "光泽度"。DVar 为 1 等同于 130 的硬度。使用上面描述的相同方法来获得更大的硬度范围。
  3. Csp: 镜面反射颜色。

你可能需要使用某种 "污垢贴图"(模板)来改变物体特定区域的镜面反射,例如经常接触的物体,在使用或接触的部分更加光亮。

有关镜面反射物理的更多信息,请参阅 镜面反射

反射贴图

[编辑 | 编辑源代码]

反射贴图用于模拟真实的射线追踪反射,要么是因为你不想使用射线追踪,要么是因为你不想创建场景,要么是因为你需要一个通过射线追踪反射无法实现的特殊效果。反射贴图将是一个颜色贴图,通常是 环境贴图。由于你可以使用预渲染的环境贴图,因此你可以为你的物体模拟周围环境。有时,使用一个简单的颜色贴图就足够了,它只需要包含正确的颜色,例如,如果你想创建一个暴风雨的海,那么天空中的云朵不需要真正地反射在水中。

环境贴图的创建稍微复杂一些,请参阅手册中的相关部分。

一种完全不同的纹理将用于改变射线追踪反射的数量,即 RayMir 值。这对像有污点或脏的镜子这样的物体非常有用。只需在 贴图到 面板中点击 RayMir 按钮,然后降低 DVar

透明度贴图

[edit | edit source]

透明度贴图或 Alpha 贴图会改变对象的(部分)可见性。它们本身不必是透明的(虽然这样做不会有任何坏处,请参见 使材料部分透明)。您经常会将图像同时用作颜色贴图和透明度贴图。在“半透明度贴图”段落中有一个关于透明度贴图的很好的例子。

不过要注意的是,您无法使用透明度贴图改变菲涅耳透明度。因此,您必须使用普通透明度,或者使用贴图输入部分中描述的方法模拟菲涅耳效果。

折射贴图

[edit | edit source]

其实并没有什么叫做折射贴图。您无法使用贴图改变IOR(折射率)。您可以尝试使用环境贴图模拟折射,但结果往往不值得付出努力(对于静态图像而言,在动画中可能不会那么明显)。

半透明度贴图

[edit | edit source]

半透明度是所有半透明材料的材质属性,例如磨砂玻璃、纸张、塑料、布料、皮肤、彩色玻璃等。它可以让物体从后面被照亮。

完全透明的玻璃不会显示光线穿过它的路径。但如果玻璃很脏或不平整,您就会看到光线的路径。在第一个示例(“半透明度 1”)中,玻璃材质的透明度约为 0.5,半透明度为 0.78。因此,玻璃在光线从后面照射到表面时会更亮。此外,透明度贴图(将 Alpha 设置为 1)可以让表面看起来像是被染色。如果我们将相同的贴图也用作半透明度贴图(“半透明度 2”),那么污点看起来像是被照亮了,当然这在现实中也是如此。

半透明度 1:具有半透明度和透明度贴图,但没有半透明度贴图的材质。这是 Blender v2.32 发行说明中的一个例子。
半透明度 2:具有半透明度、透明度贴图和半透明度贴图的材质。
示例半透明度 2(蓝色玻璃)的材质设置。

材质设置(Z-Transp,但使用光线追踪阴影)

调整后的纹理。

纹理本身是一个硬噪声纹理,修改了亮度对比度


Note:

要获得与示例图像中相同的阴影和颜色,请将光线设置为使用光线阴影,并将平面设置为接收透明阴影,方法是在材质按钮的着色器选项卡中启用TraShadow

凹凸贴图/法线贴图

[edit | edit source]
贴图到面板中设置凹凸贴图。

凹凸贴图是一种创建几何图形错觉的技术。它们可以用于画布或任何难以建模或计算成本过高的细小结构。只要您不使用相机过于靠近物体,您就不会注意到区别。

它们有多种不同的类型

  • 从更近的意义上讲,凹凸贴图纹理是指映射到Nor的灰度图像或过程纹理。对于凹凸贴图,请不要在纹理按钮中激活法线贴图按钮。
  • 法线贴图是 RGB 图像,其颜色信息包含有关表面法线方向的信息,也映射到Nor。为此,您需要在纹理按钮中激活法线贴图按钮。

另请参见手册关于凹凸贴图和法线贴图之间差异的说明。

凹凸效果的图像。
凹凸贴图,一个简单的灰度图像。

在本例中,凹凸贴图除了颜色贴图之外还被使用。贴图到面板中的Nor滑块设置凹凸的深度。


置换贴图

[edit | edit source]
置换贴图会使网格变形

置换贴图会创建真实的几何图形,即它会移动网格的顶点。因此,您需要大量的顶点。您可以将其用作映射到Disp的纹理,或者使用更灵活的置换修饰符

污垢贴图

[edit | edit source]
我们的图片经历了一些不好的时光。

我将尝试解释什么是污垢贴图以及如何使用它。当人们谈论污垢贴图时,他们的意思可能有所不同。

  • 有时指的是漫反射贴图。
  • 污垢着色通常被用作环境光遮蔽的术语。

对于我而言,污垢贴图只是指任何能够破坏图像或过程纹理的干净、均匀、未受损外观的纹理。您可以通过简单地组合一些部分透明的纹理,或者纹理仅以半随机方式影响图片的某些部分来实现这一点。您还可以使用模板纹理来选择对象的某些部分。当然,您可以(而且将会)将这两种方法结合起来。

只要两个纹理不影响相同的属性,您就可以简单地依次应用它们。要选择纹理的某些部分以应用具有相同属性的另一种纹理,请使用模板。或者使用模板作为一种便捷的方法来分离纹理上的两个不同部分。

您至少需要三个纹理。

  1. 基本纹理(例如颜色)。
  2. 选择(模板)纹理。
  3. 影响与第一个纹理相同或不同属性的污垢贴图。

模板纹理必须提供强度值,因此,如果您想使用图像(或其他 RGB)纹理,则必须激活无 RGB

模板纹理。

用作示例污垢贴图的图像纹理包含一些半随机噪声。

模板纹理的设置。

模板纹理的Nor并不十分必要,但它能添加不错的 3D 效果。由于模板纹理主要是白色,我不得不使用Neg将黑色像素用作蒙版。

第三个纹理(“污垢”)会影响ColNorSpec

为您的贴图使用 UV 坐标

[edit | edit source]

对于更复杂的纹理/物体,通常需要创建 UV 坐标。UV 坐标仅描述映射的几何形状,即哪些像素映射到哪个面。您可以使用 UV 坐标创建任何您想要的映射。

  1. 为您的物体创建 UV 贴图。这超出了教程的范围,请参见UV 贴图基础以及手册中关于 UV 贴图的部分。
  2. 不要在材质按钮材质面板中打开TexFace。虽然TexFace是一种使用 UV 纹理非常简单的方法,但正常的纹理映射方法要灵活得多。
  3. 将您用于 UV 映射的图像(或任何大小相同的图像)加载为图像纹理。将贴图输入更改为UV
  4. 现在您可以使用此图像(或多个不同的图像)作为您的贴图,包括颜色映射。

此技术的优势在于您可以更好地控制纹理。即使您只想纹理化立方体形状的物体,使用 UV 映射纹理通常也是更好的选择。


华夏公益教科书