Blender-大师课-全-

Blender 大师课(全)

原文:zh.annas-archive.org/md5/81dc0063b6c803976396a45fa0be06ff

译者:飞龙

协议:CC BY-NC-SA 4.0

前言

欢迎!本书旨在教你如何使用两款软件创建 3D 模型和环境:Blender,用于 3D 设计和动画,和 GIMP,用于 2D 图像编辑。在每一章中,我都会带你完成创建三个完整 3D 场景的部分过程。你将学会如何进行阻塞、创建模型、雕刻和细化模型、纹理与材质创建、使用光照,并渲染最终图像。在书中,我会讨论 Blender 和 GIMP 提供的各种工具以及如何在实际项目中使用它们。

我的目标是教你如何使用 Blender 完成自己的项目,通过三个我自己的项目提供叙述和任务示例。到本书结束时,你应该能够根据三个示例项目中展示的原理,从头开始创建自己的项目。

涉及的主题

以下是本书每一章的简要总结。

第一章第二章介绍了 Blender 和 GIMP。你将了解它们是什么,在哪里可以获得它们,以及你能用它们做什么。我还会向你介绍它们的用户界面以及基本的操作方法。第一章重点介绍 Blender。我们将学习如何添加和操作对象、保存和加载项目,以及在项目中工作的最佳实践。在第二章中,我们将研究如何使用 GIMP 的各种画笔和滤镜创建图像,以及如何使用图层和选择工具。

第三章介绍了收集参考资料、创建概念艺术,并在 Blender 中使用这些资料,使你的想法更容易在 3D 中实现。我将讨论如何使用正射投影参考、创建参考图纸,以及如何将参考图像导入 Blender 的 3D 视图中以供建模时使用。

第四章第五章中,我们开始使用简单的几何形状对场景中最重要的部分进行阻塞,然后用更详细的模型来丰富这些基本形状。我们深入研究 Blender 的 3D 建模工具以及如何使用简单、高效的几何形状创建模型。

第六章介绍了 Blender 的雕刻工具,以及如何将它们与 Blender 的多分辨率修改器结合使用,制作出可以像粘土一样雕刻的模型——非常适合制作细致的、有机的模型。

第七章介绍了如何修改第六章中的高分辨率雕刻几何体,创建更简洁的几何体。我们将探讨 Blender 提供的几种不同的重新拓扑方法,以及如何将它们应用于将雕刻网格转换为最终模型。

第八章探讨了 Blender 的 UV 展开工具,允许你将 2D 图像映射到模型的表面。这使得你可以在模型上绘制,给它们添加颜色和纹理。

第九章介绍了使用 Blender 的粒子工具创建条状粒子系统。这些粒子系统可以用来生成头发和毛发,并且 Blender 的粒子模式刷子允许你为这些头发或毛发修整和剪裁成各种形状和风格。我们将了解粒子系统的各种设置,以及如何使用 Blender 的子粒子来从较少的父粒子生成大量粒子,以便以最少的输入创建复杂而浓密的头发和毛发。

第十章探讨了纹理烘焙的过程,这一过程根据网格的几何形状自动生成纹理,而第十一章介绍了纹理绘制,它结合了第十章中的烘焙纹理和使用 Blender 的纹理绘制工具以及 GIMP 绘制的手工细节和照片。

第十二章第十三章 涵盖了 Blender 的材质和照明选项。我们将了解 Blender Internal 渲染器和 Cycles 渲染引擎,以及它们如何影响我们设置光照和材质的方式。在第十二章中,我们学习如何使用在第十章和第十一章中创建的纹理来创建渲染时能产生逼真效果的材质。第十三章介绍了如何创建光源并设置它们,以便在 Blender Internal 和 Cycles 引擎中获得既美观又快速渲染的光照和阴影。

第十四章中,我们将汇集前几章中创建的所有组件,包括模型、光照、材质和纹理,来渲染最终图像。我们讨论了 Blender Internal 和 Cycles 引擎最重要的渲染设置,并研究了如何快速获得最佳效果。我们还研究了 Blender 的基于节点的合成器,以及如何使用它进一步后处理最终渲染结果。最后,我们使用 GIMP 进行一些额外的修饰,并为图像绘制背景。

第十五章中,我们最后一次回顾所涵盖的项目,并思考如何进一步提升。我们将在项目中添加一些装饰,并从不同角度审视它们,之后研究如何利用 Blender 的绑定和动画工具使我们的静态图像动起来。

未涵盖内容

Blender 是一个功能强大的 3D 设计与动画软件包。它提供了建模、贴图、材质创建和粒子系统的工具,以及绑定和动画、合成、脚本编写的工具;一个功能全面的游戏引擎;一个非线性视频编辑器;以及一些高级流体、布料和刚体仿真工具。本书尝试仅涉及 Blender 中创建、贴图和渲染模型为静态图像所需的部分。它不涉及 Blender 的绑定与动画工具、仿真工具或游戏引擎。对于这些话题,有很多其他资源可供参考。如果你有兴趣寻找它们,可以访问www.blender.org/education-help/

要求

为了充分利用本书,你需要一台相对较新的计算机,运行最新版本的 Microsoft Windows、Mac OS X 或 Linux 操作系统。特别是在本书的雕刻部分,额外的内存(8GB 较好)和一张相对较快的显卡将非常有用。在你进行贴图和雕刻部分时,一块压力感应的绘图板(例如 Wacom Bamboo 或 Intuos)将非常有帮助,但它不是绝对必要的。

项目

为了在本书中提供一条贯穿始终的线索,我选择将讨论集中在三个项目上。每个项目的选择旨在提供不同的挑战,从而为你提供广泛、实用的 Blender 和 GIMP 工具与选项的知识。

蝙蝠生物

蝙蝠生物项目专注于有机建模,旨在创造一个类人但又怪异的生物(见图 1)。在这个项目中,我们首先创建一个简单的基础网格,然后使用 Blender 的雕刻工具雕刻出更复杂的、有机的身体形态。我们通过 Blender 的粒子系统创建毛发来进行补充。接着我们对生物进行展开和贴图,随后为皮肤和毛发创建逼真的材质,其中包括次表面散射和逼真的毛发效果。我们使用 Blender 的内部渲染引擎进行渲染,以利用其高度可定制的材质和快速、高效的毛发与毛皮渲染。最后,在第十三章中,我们创建一些戏剧性的光照效果,学习如何从 Blender 的灯光中获得最佳效果,以及如何在处理毛发时实现逼真的阴影。

蜘蛛机器人

与蝙蝠生物项目的有机形态不同,蜘蛛机器人项目将展示如何创建一个机械感十足的硬表面机器人蜘蛛模型(图 2)。与蝙蝠生物项目相比,这个任务在项目的每个阶段都需要不同的处理方法。我们首先使用简单几何形状进行基础造型,但通过复制来创建模型的重复部分,比如腿部。在雕刻时,我们使用 Blender 的硬表面画笔,力求得到更光滑、较少有机感的最终效果。接着,我们利用 Blender 的重拓扑工具将模型精细化,使其更加平滑和流线型。最后,我们使用 Cycles 渲染引擎渲染该项目,因为它能够真实渲染光亮材质和复杂的光照。

蝙蝠生物图 1. 蝙蝠生物

丛林神庙

蜘蛛机器人图 2. 蜘蛛机器人

丛林神庙项目的重点是环境而非角色:一个位于丛林深处的废墟神庙(图 3)。我们将探讨如何阻挡场景并保持其构图符合镜头需求。我们使用复制、粒子系统和 Blender 插件来创造多样的植被。在纹理制作方面,我们重点在使用 GIMP 创建多个无缝纹理,这些纹理可以在多个物体上拼贴和重复,从而只用少数几个独特的纹理就能创造出多种材质。我们将在第十四章中使用 Cycles 引擎渲染此场景(该引擎可以快速创建真实的光照效果),然后使用 Blender 的合成器进行后期处理。最后,我们使用 GIMP 为场景绘制背景。

丛林神庙图 3. 丛林神庙

如何跟随项目进行

虽然这些项目构成了本书的主要叙事,但我并没有涵盖创建每个项目的每一个步骤。相反,我专注于在每个项目开发的各个阶段中,创建每个项目时最重要或最困难的方面,其余的部分留给你作为练习,如果你希望制作类似的结果。我希望这种方法能展示如何使用 Blender 创建各种 3D 图像,并让你了解其中的思考过程和挑战。为了帮助实现这一目标,本书的大多数章节还包含了补充信息和技巧,提供更一般性的指导,你应该能在各种项目中找到有用的建议。

本书配套资源

本书随附的 DVD 包含了所有项目的文件,包括每个项目的单独.blend文件(对应书中的每一章)和每个项目在每章结束时的最终状态文件(如果相关)。这些资源应该能让你深入了解每个项目的工作原理,并检查每个项目是如何逐步成型的。创建 3D 艺术是一项复杂的过程,最终产品通常是某种程度上的实验结果。这些项目文件并不是项目进展过程中的真实快照;相反,它们是每个项目在特定阶段的理想化、整理过的版本。

还包括了每个项目使用的纹理、.blend文件(包含一些用于雕刻的有用画笔和 MatCap 材质,详见第六章了解更多雕刻和 MatCap 材质),以及在第十一章中创建的 GIMP 画笔,你可以在自己的项目中使用。

你可以以任何方式使用这些文件。所有文件均采用创作共用非商业性署名(CC-BY-NC)许可,纹理文件除外,纹理文件是由 CGTextures 的友好许可提供的 (www.cgtextures.com/),这是一个很棒的在线纹理资源网站。这些纹理文件未经 CGTextures 许可不得未修改分发。

开始吧

这个介绍希望让你了解本书的内容以及你可以在书中的哪些部分找到所需的信息。我已经概述了我们将要进行的项目以及你可以期待从中学到的内容。现在,在进入项目之前,我们可以开始熟悉 Blender 和 GIMP。如果你已经对 Blender 和 GIMP 的基础操作感到熟悉,可以跳到第三章。否则,接下来的两章应该会为你提供关于我们将在本书中使用的软件的基本介绍。

第一章 介绍 Blender

在本章中,我们将探讨使用 Blender 的基础知识,为后续章节的工作打下基础。我们将探索其用户界面,如何导航 3D 视口,以及如何添加和与对象交互。在本章中,我将指向本书的后续部分,其中将更详细地涵盖各种主题。如果您已经熟悉 Blender,请随时跳到第二章,关于 GIMP,或第三章,关于准备您的项目。

关于 Blender

Blender 是一款免费开源的 3D 设计和动画软件,适用于 Windows、Linux 和 Mac OS X。最初作为荷兰动画工作室 NeoGeo 的内部动画软件而创建,后来在其开发者 NotANumber 破产时,由 Blender 社区筹集了 10 万欧元支付债权人以发布 Blender 源代码,并在 GNU 通用公共许可证下发布。

从那时起,Blender 一直由 Blender 社区持续开发,由 Blender 基金会(由 Blender 的原始开发者之一 Ton Roosendaal 领导)监督。当前版本(本书出版时的 Blender 2.6x)拥有与许多商业 3D 应用程序竞争的广泛功能,并拥有一支忠诚和热情的社区,用它来创作艺术和动画。

今天,许多动画工作室、游戏开发者、艺术家和爱好者都在使用 Blender。它被用来制作长篇电影、短片和游戏。特别值得一提的是 Blender 基金会的开放电影项目——由社区资助的短片项目,通过在制作环境中使用 Blender 来推动 Blender 的发展。迄今为止,已完成了四部短片和一款游戏,每一部都带来了 Blender 库中的重大改进和新功能。第一部短片Elephants Dream于 2006 年首映。这是一个超现实的故事,讲述了两个角色穿越一个奇怪的机械世界。它引入了基于粒子的头发和毛发渲染,以及 Blender 渲染引擎的新动画工具和改进。2008 年,Big Buck Bunny引入了毛发渲染、粒子和渲染管线的改进,以及更高级的绑定和动画约束。2010 年,Sintel,一个关于一个女孩和她的龙的故事,带来了先进的雕刻工具、新的模拟工具以及着色和渲染的改进。

最新的开放电影Tears of Steel专注于为 Blender 添加先进的视觉效果工具。它为新的 Cycles 渲染引擎带来了重大改进,并引入了摄像机跟踪工具、Blender 合成器的新功能、改进的模拟工具和更好的颜色管理。

当前,Windows、Linux 和 Mac OS X 的稳定 Blender 版本可以从www.blender.org/下载。此外,你还可以从www.graphicall.org/找到包含最新更新的开发版。这些开发版主要面向更高级的用户或那些希望尝试新功能的用户;它们可能不稳定,因此在进行重要工作时,建议使用官方版本。

Blender 用户界面

Blender 的用户界面(UI)因其难以掌握而声名远扬。在早期版本中,这种评价在一定程度上是有道理的,但自 Blender 2.5 版本以来,界面经历了重大更新,现在更加可预测,也更容易学习。而且,随着搜索功能的加入,如果你在寻找某个操作符时遇到困难,可以通过按空格键打开搜索对话框,并通过名称搜索操作符。

一旦你掌握了 UI,你会发现 Blender 非常快速且高度可定制。大多数功能都可以通过键盘命令快速访问,且界面是非阻塞的,这意味着窗口和对话框不会互相覆盖,遮挡你的视野。

布局和 UI 术语

当你首次启动 Blender 时,默认布局应该类似于图 1-1。Blender 窗口被划分为名为编辑器的区域。这些编辑器包括 3D 视图、属性编辑器、大纲、信息编辑器和时间轴,如图 1-1 所示。

Blender 默认的 UI 布局。窗口被分为不同的编辑器(橙色),这些编辑器进一步被划分为区域(绿色)。图 1-1. Blender 默认的 UI 布局。窗口被分为不同的编辑器(橙色),这些编辑器进一步被划分为区域(绿色)。

编辑器进一步被划分为区域。以图 1-1 中的 3D 视图窗口为例,这些区域包括主区域(即 3D 视图)、编辑器底部的头部区域和左侧的工具架区域。

包含按钮和属性的区域——例如属性编辑器或 3D 视口中的工具架——进一步划分为 面板。一个面板可能包含任意数量和组合的操作按钮、信息和属性。面板的名称显示在面板顶部(参见 图 1-2),并指示该面板包含什么类型的属性和信息。

属性编辑器中的面板图 1-2. 属性编辑器中的面板

切换编辑器和自定义 UI

Blender 的 UI 布局高度可配置。你可以通过在 Header 区域最左侧的下拉菜单中选择一个新的编辑器类型,将当前布局中的任何编辑器切换为不同的编辑器类型(参见 图 1-3)。

你还可以通过分割或合并现有的编辑器来调整现有编辑器的大小,或添加或删除编辑器。要调整编辑器(或区域)的大小,请点击并拖动其边框。要分割或合并编辑器,右键点击编辑器的边框并选择“分割区域”或“合并区域”。(在后面的章节中,我们将使用这种技巧来调整 Blender 的布局,以更好地适应每个项目的不同阶段。)

Blender 的不同编辑器类型图 1-3. Blender 的不同编辑器类型

多个布局

由于不同的 UI 布局适用于不同的任务,Blender 允许你存储多个 UI 布局,以便在工作时可以在它们之间切换。要切换布局,请点击 Info 编辑器头部的屏幕布局下拉菜单(参见 图 1-4)。

默认情况下,Blender 包含名为 动画合成默认游戏逻辑脚本编写UV 编辑3D 视图全屏运动追踪视频编辑 的布局,每个布局都非常适合其所命名的任务。(默认是启动 Blender 时的默认布局,适合建模。)要添加你自己的布局,点击下拉菜单右侧的 + 图标以复制当前布局并修改它,或者点击 X 图标删除当前布局。布局会随着 .blend 文件一起保存,当你保存工作时,下次打开文件时可以返回到这些布局。

使用屏幕布局下拉菜单切换布局图 1-4. 使用屏幕布局下拉菜单切换布局

你可以通过将布局保存为默认的.blend文件来使其在启动 Blender 时自动加载。为此,加载默认的.blend文件(CTRL-N),然后使用上述方法创建你想要的布局。使用 CTRL-U 将当前文件保存为新的默认启动文件。(若要恢复原始的默认.blend文件,选择“文件”菜单中的加载工厂设置,然后再次保存默认的.blend文件。)

Blender 的 3D 视口细节图 1-5. Blender 的 3D 视口细节

编辑器类型

Blender 的每个编辑器都有不同的功能。并不是所有的编辑器在本书的项目中都会用到,因此我只会讨论与我们要处理的项目相关的编辑器。

3D 视口

这是 Blender 最重要的编辑器类型。3D 视口(参见图 1-5)是你可以查看场景和对象,并对其进行移动、操作和组织的地方。

3D 视口有四个区域:主要的 3D 视图;Header,位于编辑器的顶部或底部(通常在底部);工具架;以及属性区域,后两个区域可以在鼠标悬停在 3D 视口编辑器上时通过快捷键TN隐藏。

导航 3D 视口

学习如何导航 3D 视口非常重要,且有多种方法可以做到这一点。最简单的方法是使用鼠标。滚动鼠标滚轮可以放大和缩小视图,按住中键鼠标按钮旋转视图,按住 SHIFT 并点击中键鼠标按钮可以平移视图。要将视图集中在当前选中的对象上,按下数字键盘上的点键(NUMPAD.)。要将视图重置为集中在场景的原点上,按下 SHIFT-C。

注意

Blender 处理数字键盘上的键和键盘上相应的键是不同的。例如,数字键盘(numpad)上的数字用于导航 3D 视图,而字符键上的数字则用于切换不同场景层的可见性。

你还可以使用数字键盘将视角切换到特定的角度。NUMPAD 7 切换到俯视图,NUMPAD 1 切换到正视图,NUMPAD 3 切换到侧视图。NUMPAD 5 在透视图和正交图之间切换,透视图中远处的物体看起来较小(就像现实中一样),而正交图中物体在所有距离上看起来大小相同。与俯视图、侧视图和正视图结合使用时,正交图最适合精确对齐物体。

3D 视口有多个显示模式,可以从 3D 视口头部选择(见 图 1-5)。这些查看模式包括默认的实心视图;线框视图;边界框视图,它将物体表示为简单的框而不是显示其几何形状;以及纹理视图,能够显示阴影和纹理。在后续章节中,我们将探讨如何为不同目的定制 3D 视口,包括使用不同的纹理阴影模式,以及与图层的工作和隐藏物体。

3D 坐标和网格地面

如果你以前没有接触过 3D 图形,可能没有想过如何定义空间中的一个点。当然,3D 模型本质上是通过连接空间中的点来创建的。幸运的是,法国哲学家和数学家 René Descartes 在我们发明计算机和 3D 图形之前几个世纪就为我们解决了这个问题。

要定义 3D 空间中的一个点,我们需要了解该点在每个空间维度上的位置,相对于一个 参考点。在 Blender 中,这些信息以该点的 xyz 坐标的形式出现,表示该点在三个互相垂直的轴上位置。这些被称为 Blender 的 全局坐标。我们使用的参考点叫做场景的 原点——该点在每个坐标轴上的坐标为零。

按照惯例,我们通常认为 x 轴是“左右”轴,y 轴是“前后”轴,z 轴是“上下”轴。(上述键盘快捷键提供的不同视角符合这一惯例——自上而下的视角沿 z 轴向下看,依此类推。)

在 Blender 的 3D 视口中,你可以看到 x 轴和 y 轴分别是红色和绿色的线。从这些线延伸出的浅灰色是 网格地面,我们通常将其作为场景中放置物体时的地面高度。网格的每个划分默认相隔 1 Blender 单位,为你提供一个放置物体和判断其大小的参考。x 轴和 y 轴以及网格地面在你在 Blender 的 3D 视口中定位时也很有用。

属性编辑器

属性编辑器是你可以定义场景或所选对象设置和属性的地方。属性编辑器分为头部和主体区域,主体区域又分为多个标签页(如 图 1-2 所示)。每个标签页包含一组与当前场景或活动对象相关的不同属性。按照出现顺序,标签页如下:

渲染。渲染标签包含渲染场景的设置,包括渲染尺寸、阴影选项和输出格式。(我们将在第十四章中详细讨论此内容。)

场景。场景标签让您设置场景的属性,例如活动摄像机、某些声音设置和场景的单位(任意 Blender 单位、英制或公制)。

世界。世界标签让您定义场景的背景,以及世界照明选项,例如环境光照和环境遮蔽。(我们将在第十三章中详细讨论此内容。)

对象。对象标签(参见图 1-2)让您通过使用数值而非在 3D 视图中移动对象来手动设置对象的变换。您可以管理对象的组成员身份以及它的显示方式。(我们将在第九章中使用组来通过粒子系统复制多个对象。)

对象约束。对象约束标签包含对象的约束堆栈。这对于动画非常有用,但不是我们将要讨论的话题。(有关约束的更多信息,请参阅 Blender 维基上的* wiki.blender.org/*。)

对象修改器。此标签包含对象的修改器堆栈,允许您添加新的修改器。修改器是用于操作和生成网格几何形状的程序化、无损方法。当您向对象添加新修改器时,它们会按在堆栈中的顺序(从上到下)应用。(我们将在第四章和第五章中详细讨论修改器。)

对象数据。对象数据标签让您设置活动对象使用的数据库块,并展示分配给该数据库块的不同数据集(参见数据块)。该标签的内容根据对象的类型而变化。例如,在网格对象的情况下,该标签会显示网格的顶点组、形状键和 UV 坐标集,而在灯光对象的情况下,它将包含灯光的颜色、能量和阴影设置。此标签的图标也会根据活动对象的类型变化:对于网格对象,图标是一个立方体;对于灯光,图标是一个光源;等等。本书将在多个章节中出现对象数据标签。

材质。材质标签显示对象的材质槽和分配给它们的材质。在这里,您可以编辑创建的材质的基本属性,开启或关闭不同的阴影选项,并调整对象材质的属性。

纹理。纹理选项卡是材质面板的补充。它允许你为材质分配纹理,定义纹理如何影响材质的属性,并确定它们如何映射到对象表面。(我们将在第十二章中更详细地讨论此选项卡。)你还可以使用纹理选项卡为世界背景或粒子系统分配纹理。

粒子。粒子选项卡允许你为对象分配粒子系统并定义其属性。Blender 有两种粒子系统:动态发射粒子和毛发粒子。在第九章中,我们将讨论如何使用毛发粒子创建毛发、皮毛和植被,并且我们将更详细地回顾毛发粒子的设置。

物理。物理选项卡包含用于模拟的工具,允许你模拟烟雾、流体、布料以及刚体和软体物理。(在 Blender Wiki 中了解更多关于这些选项的信息。)

信息编辑器

信息编辑器(见图 1-6)看起来像一个常规的菜单栏,但实际上它是一个编辑器,就像 3D 视图和属性编辑器一样。它通常保持缩小,仅显示头部,这是最重要的部分。头部包含多个菜单,包括文件菜单、帮助菜单,以及添加对象和渲染的菜单。

这些菜单右侧的下拉菜单选择器允许你更改窗口布局(上文讨论)和当前场景(在场景中讨论)。在这些选择器旁边,一个下拉菜单允许你选择要使用的渲染引擎。(有关 Blender 两个本地渲染引擎的讨论,请参见第十二章、第十三章和第十四章。)

在渲染引擎下拉菜单之后,你会看到几项信息,包括你使用的 Blender 版本以及一些场景信息。从左到右,场景信息包括顶点数(Verts);面数(Faces);场景中的对象数量(Objects);灯光数量(Lamps);场景的内存使用情况;以及当前选中对象的名称。

如果你拖动信息编辑器的边框,你将看到 Blender 使用剩余的编辑器区域提供你的操作日志,作为 Python 命令。此信息提供了 Blender Python API(应用程序编程接口)背后工作原理的一瞥,并且在创建 Python 脚本时非常有帮助。然而,由于本书中的任何项目都不需要 Blender 的脚本功能,因此它大多数时候可以保持隐藏。

信息编辑器头部图 1-6. 信息编辑器头部

节点编辑器

节点编辑器是一个多功能编辑器,用于任何可以用节点构建的内容。这包括默认使用节点的合成器,以及可能基于节点或不基于节点的节点材质和纹理。你可以通过点击节点编辑器头部的图标来切换 Blender 中的各种节点设置(参见 图 1-7)。头部的主要区域以网格形式显示当前的节点设置,允许你添加、删除或移动节点,并查看和编辑它们的连接。

我们将在 第十二章 中更详细地查看节点编辑器,届时我们将为 Cycles 渲染引擎创建基于节点的材质,并在 第十四章 中创建合成节点树。

UV 图像编辑器

UV 图像编辑器是 3D 视口的 2D 对应版本。在这里,你可以查看图像(从头部菜单选择“图像 ▸ 打开图像”或从图像选择器下拉菜单中选择已加载的图像),并编辑展开网格的 UV 坐标。在渲染过程中,Blender 会在 UV 图像编辑器中显示当前的渲染图像。使用下拉菜单查看最近的渲染结果或查看合成节点树的查看输出。我们将在 第三章、第八章、第十章、第十一章 和 第十四章 中更详细地讨论 UV 图像编辑器。

节点编辑器头部图 1-7. 节点编辑器头部

其他编辑器

Blender 还有几种其他类型的编辑器。本书将介绍其中的一些,但会省略如图形编辑器(专门用于动画)和逻辑编辑器(专门用于 Blender 游戏引擎)等编辑器。有关这些编辑器的更多信息,请参见 Blender wiki (wiki.blender.org/)。

使用 Blender

现在我们已经了解了 Blender 的用户界面,我们可以学习如何实际使用 Blender。我们将首先查看默认的 .blend 文件,然后探索如何在 3D 视口和属性编辑器中操作物体。我们还将研究 Blender 文件的构造方式,这将帮助我们在实际项目中工作。

场景

.blend 文件具有层级结构(参见 数据块),其顶部是一个 场景。一个 .blend 文件可以包含一个或多个场景。每个场景是一个独立的 3D 空间,你可以在其中创建物体并构建你的项目,每个场景都有自己的设置,用于定义如何渲染它。

当前场景显示在 Blender 窗口顶部的信息头部,位于当前布局旁边(见图 1-8)。要在.blend文件中创建一个新场景,点击当前场景名称右侧的+图标。Blender 会询问你是否要创建一个空的场景或从当前场景复制数据。尽管在处理更复杂的项目时创建额外的场景可能很有用,但在本书的每个项目中,我们将为每个.blend文件使用一个场景。

当前场景显示在信息头部图 1-8. 当前场景显示在信息头部

默认的 .blend 文件

当你首次打开 Blender 时,你会看到一个简单的场景(如图 1-1 所示)。默认情况下,这个场景包含三个对象:一个立方体、一个灯光和一个相机。这些对象足以进行一个简单的渲染,展示出比空白背景更多的内容。相机告诉 Blender 应渲染哪个视角,立方体为相机提供了可视的物体,而灯光则照亮了立方体,使其呈现出比单纯的黑色剪影更多的细节。

然而,一个灰色的立方体和灰色的背景并不是最有趣的渲染效果。为了创建更有趣的内容,我们需要创建自己的对象来替代这些单调的对象。

添加对象

要向场景中添加一个对象,将光标放置在 3D 视图窗口上,然后按下 SHIFT-A 调出添加菜单。在这里,你可以添加 Blender 支持的任何对象类型,包括网格、曲线、空对象、灯光、相机等。(我们将在书中的后续部分讨论这些对象类型。)

3D 光标

新对象将被添加到 3D 光标的位置,3D 光标是 Blender 快速定义空间中一个点的易于配置的方式。3D 光标(如图 1-9 所示)是默认情况下新对象添加的位置。你还可以设置变换操作符(如旋转和缩放),以使用 3D 光标作为操作的枢轴点或原点。

3D 光标图 1-9. 3D 光标

通过在 3D 视图窗口中点击,你可以将 3D 光标移动到你点击的位置(光标与视点的距离将保持不变)。你还可以通过在 3D 视图窗口的属性区域的 3D 光标面板中更改其位置值来移动 3D 光标。(如果你丢失了 3D 光标或只是想将其重置到场景的原点,按下 SHIFT-C 重置 3D 视图窗口的视图,并将 3D 光标放置在场景的原点位置。)

选择对象

要选择一个对象,右键点击它。要选择多个对象,按住 SHIFT 键并右键点击它们。默认情况下,选中的对象会用橙色轮廓显示。最近选中的对象称为活动对象,它的橙色轮廓比其他选中的对象更亮。活动对象的属性会出现在属性编辑器中。大多数操作符使用或作用于活动对象,但有些操作符会作用于整个选择。

操作对象

在 3D 视口中操作对象有几种方法。最简单的方法可能是使用键盘快捷键:G 移动,R 旋转,S 缩放。你也可以使用操控器小部件(参见图 1-10),通过点击并拖动其三个控件之一来操作一个轴,或通过点击并拖动中间的白色圆圈来在任意轴上操作对象。

默认情况下,操控器以三种颜色的箭头呈现。点击并拖动箭头,可以在箭头指示的方向上移动选中的对象(默认沿着全局的xyz轴)。使用 3D 视口头部的图标,可以让操控器小部件让你旋转或缩放对象,而不是移动它们(参见图 1-10)。

默认情况下,在对象模式下,Blender 使用对象的本地坐标原点(参见图 1-11) 作为操控器小部件的位置。要更改操作符的支点中心,使用 3D 视口头部的支点中心选项。你可以在使用选中对象原点的中位点(默认)、活动对象的原点、选中对象中每个对象的独立原点、3D 光标和一个假设的围绕所有选中对象绘制的包围盒中心之间切换。这不仅会移动操控器小部件,还会在你使用键盘快捷键或鼠标执行任何变换或操作时,使用选中的支点中心。

操控器小部件的三种功能:平移、旋转和缩放图 1-10. 操控器小部件的三种功能:平移、旋转和缩放

在第四章和第五章中,我们将更详细地探讨操作对象、网格和曲线。

其他坐标系统

选择不同的枢轴点用于 3D 操作小部件图 1-11. 选择不同的枢轴点用于 3D 操作小部件全局和局部坐标图 1-12. 全局和局部坐标

在《3D 坐标与网格地面》中描述的坐标系统是相对于场景原点定义的,其坐标被称为全局坐标。这些坐标对整个场景都是通用的。然而,物体也有自己的坐标系统和原点(当你选择物体时,后者通过一个小橙色圆圈表示)。这些坐标被称为物体的局部坐标,它们可能与场景的全局坐标相匹配,也可能不匹配(见图 1-12)。例如,当你在对象模式下移动物体时,你会连同物体一起移动其局部坐标原点,当你对其进行缩放或旋转时,你也会缩放或旋转其局部坐标轴。这可能听起来有些混乱,但它有着重要的作用。网格的顶点位置(你可以在编辑模式下编辑)是相对于物体的局部坐标定义的。这意味着无论你在对象模式下如何移动、缩放或旋转物体,网格的顶点在局部坐标上保持不变。我们稍后会利用这一点,在创建多个物体副本时,这些副本将共享相同的网格数据和局部坐标,但也能够在 Blender 的全局坐标中独立缩放和旋转。

在图 1-12 中,创建了两个相同的猴头网格。第一个已经在对象模式下被移动,因此它的原点不再位于全局原点,但它的坐标轴仍然指向与全局坐标轴相同的方向。第二个则被移动并旋转,因此它的原点和局部坐标轴的方向都与全局坐标不匹配。然而,就物体的网格而言,局部坐标仍然指向相同的方向——y轴指向猴头的顶部,x轴指向它的左耳。

你可以通过进入属性编辑器的对象标签页,并在显示面板中启用轴设置,来查看对象的局部坐标。

操作符

平移、旋转和缩放是与对象交互的最简单方式之一。其他简单方式包括删除对象(X)、隐藏对象(H)或复制对象(SHIFT-D)。这些和类似的操作都属于操作符。我们将在第四章中讨论更多操作符,当我们开始建模时,会涵盖更广泛的操作符,并且在整个书中,我们将继续扩展这个操作符的范围。

数据块

Blender 中的一切都是由数据块构建的,数据块只是数据的块状单元。Blender 的所有对象、网格、材质、纹理和图像都是不同类型的数据块。甚至场景本身也是一个数据块,它指向构成场景内容的其他数据块。

数据块是层次化排列的。例如,场景数据块包含对象数据块,而对象数据块引用网格数据块。网格数据块又引用材质纹理块,依此类推。这一结构在图 1-13 中展示。

属性编辑器的对象数据标签页顶部显示的是活动对象使用的数据块。点击数据块名称左侧的图标以更改使用的数据块(见图 1-14)。

Blender 的数据块结构图 1-13。Blender 的数据块结构查看对象数据。在这里,一个立方体对象使用名为“Cube”的网格数据块。可以选择其他数据块来更改对象使用的网格。数据块的用户数量显示在其名称的右侧。图 1-14。查看对象数据。在这里,一个立方体对象使用名为“Cube”的网格数据块。可以选择其他数据块来更改对象使用的网格。数据块的用户数量显示在其名称的右侧。

将对象定义为数据块,可以让你轻松地在 Blender 中复制和复制对象。例如,你可以通过按 SHIFT-D 来创建一个常规副本,这样会创建一个包含原始数据块副本的新对象。(你可以编辑这个副本而不影响原始对象。)你也可以使用 ALT-D 创建一个链接副本。链接副本使用与原始对象相同的数据块,这意味着当你编辑一个副本时,另一个副本会同步更新。(我们将在后面的章节中使用这种技巧,在处理多个相同对象的副本时节省时间。)

其他类型的数据库块也是如此。例如,在材料和纹理的情况下,你可以将相同的材料分配给多个物体,或者将相同的纹理分配给多个材料,以节省时间并避免为每个物体创建独特的材料和纹理。当然,这个功能也意味着我们需要跟踪每个物体使用了哪些数据库块以及每个数据库块有多少个用户。要查看一个数据库块有多少个用户,查看它在下拉菜单中被选中的位置旁边。具有多个用户的数据库块会在名称的右侧显示它们的用户数量(见图 1-14)。(点击这个数字可以创建该数据库块的一个新的、独特的副本。)

没有用户的数据库块在退出 Blender 时会被删除。为了保留一个没有用户的数据库块,比如你可能想要重用的材质,或是网格数据库块的早期版本,可以通过点击数据库块名称旁边的F图标来保护它(见图 1-14)。这会创建一个“虚拟”用户,以便数据库块能随文件一起保存。

数据库块命名

要重命名一个数据库块,点击它的名称。在命名数据库块时,最好使用描述性的名称,以便更容易从列表中选择特定的数据库块。使用如木材红色油漆皮肤等描述性词汇来重命名你的数据库块,可以让你在以后更容易地浏览和理解场景。

模式

Blender 为编辑物体数据的不同方面提供了不同的模式。默认模式是对象模式,允许你添加和删除物体,同时进行移动、缩放和旋转。其他模式允许你编辑网格数据和粒子系统、在网格上雕刻、绘制纹理以及调整顶点组权重。

Blender 最重要的两种模式是对象模式和编辑模式。要在它们之间切换,使用快捷键 TAB。要访问其他模式,请点击 3D 视图窗口头部的模式下拉菜单(见图 1-5),然后选择你想要的模式。

在第四章和第五章中,我们将广泛使用编辑模式进行建模,而在第六章中,我们将使用雕刻模式。然后,在第八章中,我们将使用粒子模式和权重绘制模式来创建和整理粒子头发,并绘制顶点组以控制毛发。接着,在第十一章中,我们将使用纹理绘制模式为我们的模型绘制纹理。

保存与加载

在 Blender 中,保存和加载的方式与任何应用程序类似。使用 文件保存 (CTRL-S) 来保存,使用 文件打开 (CTRL-O) 来打开文件。

Blender 将文件保存为独特的 .blend 格式。默认情况下,外部文件(如加载到 Blender 中的图像)不会与 .blend 文件一起保存,而是相对于文件进行引用。因此,要在另一台计算机上打开 .blend 文件,你需要将 .blend 文件及其引用的所有其他文件一起复制,并在打开 .blend 文件之前重新创建相同的目录结构。或者,你可以“打包”你的 .blend 文件,这样会将图像等外部数据保存在 .blend 文件内,之后你就可以在任何机器上打开 .blend 文件并获得所有需要的数据。

附加与链接

Blender 缺少你可能从使用更传统应用程序中期待的标准对象复制和粘贴功能。要复制一个对象,你可以选择将其复制或通过现有对象引用相同的数据块。但如果你想从外部 .blend 文件中导入内容呢?

这时,附加和链接功能就派上用场了。附加和链接让你可以将一个 .blend 文件中的数据块引入到另一个文件中。附加(文件▸附加)将数据块完整地引入当前的 .blend 文件,作为原始文件的独立副本。链接(文件▸链接)则是引用另一个文件中的原始数据块。链接的数据块不能在它们被链接到的 .blend 文件中编辑;相反,它们必须在原始文件中进行编辑。

附加适用于快速将现有资源引入到你的 .blend 文件中,以便使用和编辑。链接适用于在更大的项目中组合多个元素,例如当不同的人独立编辑不同部分时。通过将项目的所有元素链接到一个场景中,人们可以在独立的 .blend 文件中独立工作,同时保持多个链接对象的最终合并最新。(如果你链接了一个数据块并希望在本地编辑它,可以使用“设为本地数据块”操作符 (L) 将其变为本地数据块。)

总结

本章提供了 Blender 的基本介绍。你已经学会了如何使用 Blender 的用户界面和基本工具。我们回顾了它的 UI 术语和不同的编辑器类型,探索了添加和操作物体的基础知识,并讨论了物体和数据块在 Blender 中的工作原理。我们还了解了如何保存和加载文件,并将元素从一个.blend文件导入到另一个文件中。

在下一章中,我们将开始学习一些关于 GIMP 的内容,它是一个免费的开源图像编辑程序,在你进行项目时,它是 Blender 的理想伴侣。

第二章。GIMP 简介

在本章中,我们将了解使用 GIMP 的基础知识:GIMP 是什么,如何获取它,以及如何浏览其用户界面。接下来,我将介绍实际使用 GIMP 创建和编辑图像的基础知识,以及如何使用 GIMP 提供的各种画笔和滤镜,这样我们就能为后续章节中学习更高级的 GIMP 功能做好准备。

关于 GIMP

GIMP 是一款强大的、免费的开源图像编辑软件,提供了丰富的图形处理和绘画工具。GIMP 最早出现在 1996 年,由加利福尼亚大学伯克利分校的学生 Spencer Kimball 和 Peter Matthis 发起。最初,GIMP 的缩写代表 通用图像处理程序(General Image Manipulation Program)。后来,在 1997 年,当 GIMP 成为 GNU 项目的一部分时,缩写被重新定义为 GNU 图像处理程序(GNU Image Manipulation Program)。从那时起,GIMP 经历了显著的(尽管不定期的)开发,它目前的功能集已经与商业图像编辑软件,如 Adobe Photoshop,媲美。GIMP 提供了绘画工具;颜色处理工具;以及与选区、图层、路径和通道的操作工具。它还提供了多种滤镜和插件,支持多种图像格式。

GIMP 可用于 Linux、Mac 和 Windows 系统。Linux 和 Mac OS X 的官方版本可以在 www.gimp.org/ 找到。Windows 版本可以在 gimp-win.sourceforge.net/ 下载,非官方的 Mac OS X 版本(包含一些有用的额外插件和滤镜)可以在 gimp.lisanet.de/ 获取。

为什么选择 GIMP?

你可能会想,为什么我在这本主要讲述使用 Blender 创建 3D 艺术的书中,还要介绍 GIMP。原因是,虽然 Blender 是一款强大的 3D 图形应用程序,但在本书中我们会需要进行一些 2D 图像编辑。例如,我们需要准备参考图像、为模型创建纹理和雕刻笔刷的 alpha 图像,并对最终渲染结果进行一些最后的调整。尽管 Blender 确实在 UV 图像编辑器中提供了 2D 绘画工具,但我们实际上需要更强大的工具,更适合编辑图像。

GIMP 就是这样一个工具,它是创建 3D 数字艺术时,与 Blender 配合使用的优秀伴侣应用程序。在第三章中,我们将在 GIMP 中准备(甚至绘制)参考图像,使用参考线对齐正投影图像,并利用图层将多张图像合成一个拼贴,以便快速参考。在第十一章中,我们将在 GIMP 中进行一些纹理绘制,利用图层将烘焙图像与其他元素(如照片)结合,并使用 GIMP 的绘画工具来细化并添加我们在 Blender 中绘制的纹理。最后,在第十四章中,我们将在 GIMP 中对最终渲染结果进行一些修整。

GIMP 用户界面

与 Blender 类似,GIMP 的用户界面以其有些不寻常而闻名。主要原因在于其默认的多窗口布局,其中画布、工具箱和其他对话框被分割到不同的窗口中。虽然这种布局足够容易适应,但为了更整洁的布局,你可以通过在“窗口”菜单中启用“单窗口模式”来切换到非阻塞的单窗口布局(见图 2-1)。本书中的大多数截图都使用这种布局,并根据需要添加额外的对话框。

GIMP 的单窗口模式将 GIMP 的所有工具和对话框排列在一个窗口中。GIMP 的默认单窗口布局应该看起来像这样。图 2-1。GIMP 的单窗口模式将 GIMP 的所有工具和对话框排列在一个窗口中。GIMP 的默认单窗口布局应该看起来像这样。

工具箱

GIMP 的主要工具位于工具箱中(见图 2-1)。“工具箱”中每个工具类型的图标,点击即可切换到该工具,从而可以在当前画布上的图层上使用它。GIMP 提供了以下工具(从左到右、从上到下排列在工具箱中)。

选区。这些工具允许你创建选区,以便限制当前图层中可以绘制、应用滤镜或进行复制粘贴的区域(见选区)。矩形椭圆选择工具让你通过特定形状创建选区。套索选择允许你手绘选区。魔术选择会自动选择与你在画布上点击的区域相似的区域,按颜色选择则选择相似的颜色。剪刀选择允许你通过点击一系列点来绘制一个粗略的选区轮廓,然后 GIMP 通过检测图像中的边缘来生成最佳选区。前景选择让你通过在前景区域绘画来定义一个粗略的前景区域,随后它会尝试使用涂画区域作为指导来生成选区。

路径。这使你能够使用贝塞尔曲线绘制路径。你创建的路径可以从“路径”对话框中管理,并且可以用来生成选区或通过“描边”来创建精确的笔触和不同的效果。

颜色选择器。此工具允许你通过点击画布上的颜色来选择颜色。

缩放。使用此工具来缩放画布。

移动。此工具让你移动图层。默认情况下,它移动光标下方的最上层可见图层,但你可以通过工具选项对话框设置它为移动当前图层(不论你点击的位置)。

对齐。此功能提供了多个用于对齐图层和选区的工具。

裁剪。使用此工具裁剪图像。你也可以通过“图像”菜单中的选区裁剪图像。

变换。这些工具(包括旋转缩放剪切透视翻转)可以变换当前的图层或选区。

文本。在画布上创建一个新层的文本。文本层在没有应用画笔或滤镜之前,保持可编辑状态(也就是说,你可以使用文本工具编辑现有的文本层),一旦在其上绘制或应用滤镜,它们会被转换为像素。

油漆桶和渐变。使用这些工具填充画布上的纯色或渐变。

铅笔、画笔、橡皮擦、气刷和墨水。这些标准绘画工具的行为类似于它们的现实世界对应物。铅笔会在画布上留下锋利的像素化痕迹,而画笔则留下更平滑的笔触。橡皮擦用来擦除,气刷在按住鼠标时逐渐添加颜色,而墨水工具则绘制出流畅的书法线条。

克隆、修复和透视克隆。这些工具允许你从画布的一部分(克隆源)克隆图像数据到另一个区域(你所绘制的地方),因此它们对创建纹理和填充空白区域非常有用。修复工具特别实用,因为它会自动将新克隆像素的边界与原始周围区域融合在一起。按住 CTRL 并点击画布设置克隆源,然后你可以正常绘制,将像素从源区域克隆到画布上的其他区域。

模糊和涂抹。这些工具可以模糊或涂抹像素。

减淡/加深。这个工具让你有选择地亮化(减淡)或加深(加深)图像的某些区域,这对于调整图像中的阴影和高光非常有用。使用这些效果时要小心,因为过度使用这个工具很容易让图像看起来不自然。

笼形变换。此功能让你可以在图像的一部分周围画一个笼子,然后通过调整笼子的形状自由地变换该部分。

工具箱底部的两个颜色样本(见图 2-1)表示当前的前景色和背景色。默认情况下,大多数画笔使用前景色,而背景色作为备用颜色,你可以通过按X快速切换它们。(某些工具,如渐变工具,同时使用前景色和背景色。)位于颜色样本右上角和左下角的两个小图标允许你在两者之间切换并将其重置为黑白色。

画布

画布是 GIMP 显示当前打开图像的地方。你可以通过点击画布进行绘画、选择区域,并使用 GIMP 的其他所有工具。画布左侧和顶部的标尺通过小箭头显示光标的位置,随着你移动光标而更新。点击并从这些标尺拖动可以创建垂直和水平的参考线,默认情况下,光标和选区会对齐到这些参考线。这种对齐功能在将图像对齐作为参考(如在第三章中所学)时非常有用。画布底部有一些选项,用于控制标尺的度量单位和画布的缩放级别。

对话框

有关当前工具和已打开图像的大部分信息都可以通过 GIMP 的对话框查看。部分对话框在启动 GIMP 时默认可见,其他对话框可以在“窗口 ▸ 可停靠对话框”中找到。

GIMP 最重要的两个对话框是工具选项和图层对话框。你可以在图 2-1 中看到这两个对话框,工具选项位于工具箱下方的左侧,图层对话框位于右上角,与通道、路径和撤销对话框一同显示。工具选项对话框包含当前选中工具的设置选项,定义了工具的工作方式。例如,在使用画笔工具时,工具选项对话框允许你调整画笔的不透明度、形状、大小和纵横比,并可以选择 GIMP 的画笔动态选项。图层对话框显示当前图像的各个图层,并允许你切换图层的可见性、锁定图层以防止进一步编辑,或者编辑图层的混合模式,以改变它们与其他图层的组合方式。图层对话框底部的图标可以让你添加、删除和复制图层,还可以创建组来组织图层。(我们将在后面讨论第十一章时,详细讲解如何处理和组织图层。)

GIMP 允许你根据需要重新排列和组织对话框。当处于单窗口模式时,默认的对话框已经按标签和列的形式组织,显示在主画布的两侧。要重新排列标签,只需点击并拖动对话框顶部的图标,将其拖动到另一个标签组中,或拖到界面两部分之间的边框,从而将标签放置在自己的行或列中。

使用 GIMP

现在我们将探索如何使用 GIMP 创建、绘画和编辑图像。在后面的章节中,我们会更详细地讨论这些内容;现在,我们先看一些基础内容。在过程中,我会指出后续章节,讲解每个功能的更多细节。

创建图像

与 Blender 不同,GIMP 启动时不会打开任何默认文件。当您首次启动程序时,可以选择打开现有图像(文件▸打开)或创建新图像(文件▸新建)。打开图像时,GIMP 通常会将每个图像作为新文件打开,但您也可以选择使用文件▸作为图层打开,将图像作为新图层添加到当前文件中。

当您创建一个新文件时(参见图 2-2),GIMP 会询问您希望它的尺寸是多少像素,然后创建一个具有白色背景的单层图像,您可以开始在其上绘画。

在 GIMP 中创建新图像图 2-2. 在 GIMP 中创建新图像

绘画和绘图

在 GIMP 中,绘画和绘图只需通过点击并拖动画布上的笔触来完成,使用可用的绘图工具之一。您的笔触将使用当前前景颜色和在工具选项对话框或画笔对话框中选择的画笔形状绘制。

画笔和画笔动态

GIMP 拥有一个复杂的画笔引擎,利用各种输入来决定您的笔触外观。除了您在工具选项对话框中应用的任何设置(如不透明度或大小),您还可以在画笔对话框中选择多种画笔形状(参见图 2-3)。您的笔触将使用您选择的形状绘制。

GIMP 还可以使用诸如您绘制笔触的速度或来自图形平板的压力输入等信息来影响笔触的外观。这些选项在 GIMP 中称为绘画动态。您可以从工具选项对话框中选择不同的动态,或者在绘画动态编辑器对话框中创建并编辑自己的动态。(当我们在第十一章中创建自己的画笔时,我们将更详细地研究此功能。)

滤镜

GIMP 的滤镜通过将算法应用于当前图层的像素,作为修改图像的过程方式,创造出新的效果。有几种滤镜,包括模糊和锐化图像、去除或生成噪声、以及扭曲和变形图像。您还会找到一些滤镜,能应用艺术效果,或者允许您从头开始创建全新的图像和图案。

GIMP 的一些画笔形状图 2-3. GIMP 的一些画笔形状

从“滤镜”菜单中选择一个滤镜,通常会弹出一个对话框,里面包含一些选项,用于调整滤镜的工作方式。例如,如果你选择高斯模糊滤镜,对话框中应该包含模糊半径、使用的模糊方法选项,以及一个小预览图(参见图 2-4)。在这个对话框中点击“确定”会将滤镜应用到整个图像上。(在第十一章中我们将使用一些这些滤镜进行纹理绘制。)

使用滤镜。这里展示了高斯模糊滤镜。图 2-4:使用滤镜。这里展示了高斯模糊滤镜。

图层

作为一个基于图层的图像编辑器,GIMP 允许你通过将多个图层组合在一起,创建一个由不同元素构成的图像。图层对话框展示了图像中的所有图层,并允许你编辑它们的顺序以及它们的组合方式。默认情况下,每个图层都会替换其下方的图层,任何透明部分都会让下方的图层显示出来。然而,你也可以从“图层模式”下拉菜单中选择其他几种图层混合方式。

当你在画布上绘画(或使用其他任何工具或滤镜)时,你的笔触会被绘制到当前活动的图层上(在图层对话框中高亮显示)。我们将在第十一章中更详细地讲解图层。

选择

限制你绘画的像素区域的一种方法是使用 GIMP 的选择工具。通过这些工具,你可以在当前图层内绘制一个你希望编辑的选区。然后,画笔、滤镜和其他工具将只影响选中的像素(参见图 2-5)。当你想要在图像的某个孤立部分进行编辑时,选择非常有用。它们还可以让你复制(CTRL-C)和粘贴(CTRL-V)图像的部分内容,或者将图像的一部分拆分到新的图层中。我们将在第十一章中更详细地讲解这些工具。

要取消选择,可以使用选择工具点击选择区域外的区域。你也可以反转选择(CTRL-I),交换已选区域和未选区域。你可以通过在拖动选择框时按住 SHIFT 或 CTRL 键,来增加或减少当前的选择。在后面的章节中,我们将探讨使用 GIMP 的快速蒙版等工具处理选择的其他方法。

保存与导出

GIMP 可以打开几乎任何图像格式,但一旦你打开了图像,它会区分保存图像(CTRL-S),这只会以其原生 .xcf 格式保存,以及将图像导出(CTRL-E)为更常见的图像格式,如 JPEG 或 Targa。你可以通过为文件名添加正确的后缀(例如,.jpg 表示 JPEG,.tga 表示 Targa)来选择导出到的图像格式,或者通过从“保存”对话框底部的列表中手动选择它(见图 2-6)。

在为本书中的项目制作纹理和其他图像时,我会同时保存和导出我的纹理。保存 .xcf 文件意味着我将纹理保存在一个可以稍后编辑的图层格式中,而将其导出为常见的图像格式(如 .png.tga)则给我提供了一个可以在 Blender 中打开并使用的图像。

回顾

本章提供了 GIMP 的基础介绍。我们简要了解了 GIMP 的历史、它的功能以及可以从哪里获取它。我们还看了 GIMP 用户界面的布局及其可用工具,并介绍了如何在 GIMP 中处理图像的基础知识。我们探讨了如何使用工具、滤镜、图层和选区的基本操作,并讨论了保存、加载和导出的基本方法。

在第三章中,我们将准备开始本书中的不同项目工作,然后才能正式使用 GIMP 和 Blender。

创建选区(在顶部图像中突出显示)可以让你将 GIMP 的工具限制在图像的特定区域。图 2-5. 创建选区(在顶部图像中突出显示)可以让你将 GIMP 的工具限制在图像的特定区域。在 GIMP 中保存图像图 2-6. 在 GIMP 中保存图像

第三章 准备工作

在本章中,你将学习如何为在 Blender 中创建项目打好基础。这包括收集和创建参考资料,设计角色,规划最终图像的构图,以及设置 Blender,使你在工作时能够访问已收集的资源。章节结束时,我们将准备好开始建模项目,并且对我们想要创建的内容以及如何实现这一目标有了更加清晰的理解。

概念艺术与参考资料

每个项目都需要研究和准备。在创建本书中的项目之前,我花了一些时间思考我真正想要做的事情,收集参考图像,并制作基本的概念艺术来保持我在正确的轨道上。

在准备处理特定项目时,先尝试不同的粗略想法和设计,丢弃或修改那些不太合适的设计,然后再花费大量时间在某个设计上。例如,图 3-1 展示了我在选择本书中使用的蝙蝠生物设计之前为角色绘制的各种草图。

创建、寻找和使用参考资料

概念艺术有两个目的:首先,它是一个快速实验想法的方法,其次,它在创建项目时作为参考指南。这意味着你不需要一直将所有的想法都记在脑海中,而是可以为项目的不同部分提前进行规划,从而节省时间和精力。每次开始项目的一部分时,可以使用你的草图来提醒自己目标。你可以直接在 Blender 或 GIMP 中使用参考图像或概念艺术,帮助建模和纹理处理,无论是将它们作为背景图像,还是作为纹理投影和烘焙的起点。

在构思你的项目时,考虑是否有现实世界中的参考资料可以使用。当然,互联网是一个很好的资源,书籍、周围的物品以及你自己的照片也可以作为参考。例如,在开发本书中的丛林废墟项目时,我首先通过在 Flickr 和 Google 图像中搜索“丛林废墟”和“玛雅神庙”等关键词,然后收集我喜欢的图像。(显然,你应该确保自己没有直接抄袭他人的作品;收集灵感是可以的,但侵犯版权是不允许的!)

处理不同角色设计想法图 3-1:处理不同的角色设计想法

即使你想要创造一个完全虚构的设计,比如一只龙或一艘科幻飞船,检查与设计相关的真实世界物体也能帮助你更好地想象你的创作。例如,在设计一只龙时,你可能会搜索恐龙、蜥蜴、大型鸟类、蝙蝠,甚至是像狮子或狼这样的哺乳类捕食性动物的图像。每种动物可能有一些特征可以用在你的龙上,比如蜥蜴身上的鳞片纹理,或者鸟类或蝙蝠的翅膀结构。在设计飞船时,你可以研究现有的飞行器,比如航天飞机、飞机、工业车辆,甚至是汽车。借鉴现有事物的某些特征能帮助你的作品更加真实和具有说服力。

一旦你收集了一些参考资料,你可以直接开始建模,或者你可能会先草绘一些项目的方面。图 3-2 展示了我在《丛林遗迹》项目中研究玛雅建筑的一些例子。

如果你不太擅长传统草图绘制,可以考虑在 Blender 中用简单的基础网格雕刻出项目的粗略概念(见第六章),或者使用简单的几何形状在 Blender 中粗略构建出场景的概念。记住,项目的每一个方面,无论是构图、光照、纹理还是模型,都将影响你的概念艺术,所以在认真开始你的项目之前,考虑并尝试每个方面。

参考资料中应该注意什么

在收集参考资料时,有一些事情需要牢记。

主题。尽量收集或创建尽可能多的与主题相关的图像;谁知道什么时候它们会派上用场呢。你手头有的参考资料越多,越好!

视角。尽量收集或创建从多个不同角度展示你主题的参考资料,既包括细节部分,也包括整体,以确保在创建角色背面或场景中小物体时不会卡住。

光照。强光和均匀光照的参考资料都很有用。在纹理制作时,没有强烈光照或镜面高光的参考资料会非常方便,但在建模时,你会希望这些高光和对比强烈的光照能展现出你主题的形状。两种类型的参考资料都不要放过。

玛雅建筑不同元素的草图图 3-2。玛雅建筑不同元素的草图

镜头。使用摄影时,尽量收集使用长焦镜头拍摄的图像,尤其是如果你计划将参考图像直接用作 Blender 视口中的正交参考进行建模。镜头越短,图像的畸变程度越大,如果你盲目地将这种畸变融入到模型中,必然会得到一些奇怪的效果。如果你无法获得长焦镜头拍摄的照片,至少要尝试确定拍摄该图像时使用了什么镜头,并在建模时牢记这一点。

版权/授权。虽然你可以自由使用任何图像作为灵感或起点,但如果你计划使用他人创作的照片或艺术作品,你必须遵守他们对作品的意图。如果图像受版权保护,你必须获得版权持有人的许可,或者联系第三方授权机构,如 3d.sk 或 iStockPhoto。如果图像是以较少限制的许可证发布的,如创用 CC 协议,请务必遵守该许可证的具体条款。如果不确定,请假设图像受版权保护,并且不要直接在你的作品中使用。

最重要的是,要记住所有的摄影参考都有其局限性。除了镜头畸变的表现外,图像可能很小、拍摄角度尴尬、光线不足、模糊或不完整。这并不意味着不完美的图像没有用,但不要做参考的奴隶。最终重要的是看起来正确,如果看起来不对,不要让你的参考图像欺骗你做出糟糕的艺术决策。如果某些东西看起来不对,就改变它。

构图

在创作任何艺术作品时,无论是动画还是静态的,考虑构图都非常重要,提前进行构图思考会让你更容易将场景的最终元素拼接起来。这一点在《丛林遗迹》项目中尤为重要,目标是从一个固定视角创建最终图像。记住,你希望最终结果不仅看起来令人信服且细节丰富,而且在最终渲染的环境中也要赏心悦目。

构图是一个非常丰富的主题,超出了本书的范围,无法详细讨论,但这里有一些基本原则。

三分法则

三分法原则认为,图像中的兴趣点应该大致与覆盖在图像上的虚拟网格对齐。这个虚拟网格将图像沿其长度和宽度分成三等份。其目的是将图像划分成不对称的区域,从而产生视觉上更加令人愉悦的效果,而不是将图像分割成完全对称的两部分。图 3-3 展示了我如何将图像分为九个部分,采用三行三列的布局。

《丛林遗址》项目在初步构图阶段,覆盖了三分法网格图 3-3. 《丛林遗址》项目在初步构图阶段,覆盖了三分法网格

作为三分法应用的另一个例子,想象一个展示天空和地平线与一些建筑物的场景。应用三分法时,我们会将地平线放置在图像的一个水平分割线上(大约从底部上升或从顶部下降的三分之一处),天空占据地平线以上的区域。如果图像的主要兴趣点位于地平线之上,例如高楼或夜空中的明月,我们可能会将地平线放置在下三分之一的位置,让建筑物和月亮占据更多空间。另一方面,如果图像的主要兴趣点位于地平线以下,比如湖面上的船只,将地平线放在上三分之一的位置将允许我们为船只提供更多空间,同时创造一个平衡的构图。

然而,三分法并不总是适用于包含单一人物的图像。例如,如果你的图像是人物的肖像或全身照,将人物放在画面中央可能更为合理。但即便在这些情况下,你仍然可以将三分法应用到图像的其他方面,比如人物的视线方向或他手中所持的重物。

值得指出的是,三分法并不是唯一由不对称与失衡之美驱动的理论。其他规则,如黄金比例,它通过黄金比(大约 1.618:1)来安排网格线,也有类似效果,并且目标都是避免将图像分割成明显对称的两半。

轮廓与负空间

为了让你的图像易于理解,它必须有一个强烈的轮廓。轮廓是你主体的外形,如图 3-4 所示。如果你从图像的轮廓中依然能够看出图像的内容,那说明你有一个强烈的设计。如果轮廓看起来只是形状的杂乱拼凑,观众可能会难以处理图像,甚至是在最终状态下。为了更好地了解模型的轮廓,尝试给它添加一个黑色材质,不带高光(参见第十二章),并单独渲染它,将其作为一个黑色的形状显示在简洁的背景上(图 3-4)。

同样地,负空间在你的主体与其他物体之间的布局,也会影响作品的整体构图。例如,当你将地平线放在三分法线上,如前面章节所讨论的那样,我们可能会在天空中创造出一个令人愉悦的负空间。

蝙蝠生物的轮廓图 3-4. 蝙蝠生物的轮廓

简洁性与焦点

在创作任何图像时,你应该努力控制观众的视线。如果你的图像内容繁杂,信息过多,观众可能会感到不知所措,不知道该关注什么。为了避免可能的困惑,图像应有一些“休息”区域——那些简单、不需要注意的部分,确保其他更重要的部分不被忽视。例如,如果你建模并渲染了一幅出色的人物肖像,你可能会避免在肖像背后的负空间中添加一个复杂、凌乱的背景,因为这个背景可能会分散观众的注意力。在这个例子中,负空间是休息区域,但休息区域也可以是图像主体部分中较为简单和不那么复杂的部分。

这个理念适用于设计的各个方面:保持简单并控制观众的视线焦点。如果你在任何物体上加上过多复杂的细节,结果可能会是一个难以解读、充满竞争焦点的混杂体。而如果你将细节集中在特定区域,同时保持其他部分的简洁,观众就能更容易理解你的设计。例如,在图 3-5 中展示的蜘蛛机器人项目中,设计的一些方面,如腿部和身体各节之间关节的机械细节,都是相当复杂的,而其他区域,如身体表面,则保持简单。

定义关注区域和简洁性可以通过多种方式实现,其中最明显的一种方式是通过布置:简单地在场景中的复杂区域之间留出空间。但也有其他方法。例如,你可以使用光照将不太重要的区域置于黑暗中,或者过度曝光这些区域,使它们变成几乎完全白色,或者你可以使用景深将图像的前景和背景区域模糊处理。(我们将在不同章节中涉及这些技巧,特别是在第十三章和第十四章。)

蜘蛛概念艺术。由于腿部非常复杂,身体的设计保持简洁,以便观众更容易理解整体图像。图 3-5。蜘蛛概念艺术。由于腿部非常复杂,身体的设计保持简洁,以便观众更容易理解整体图像。

视觉路径

大多数图像包含多个元素。在处理这类图像时,你应该创建一条路径,引导观众依次关注每个元素,直到他们移开视线。通过规划这条路径,你可以使图像讲述一个故事,并展示更多场景内容。

你可以使用三分法则来创建图像的视觉路径,因为观众自然会首先注意到三分法线的交点。你还可以使用透视法,使图像中的汇聚线引导观众关注构图的各个焦点。或者,你可以用负空间来框定感兴趣的点。在包含人物的图像中,你可以让人物看向焦点,这样观众会跟随他们的视线,或者你甚至可以让人物指向焦点!

在 Blender 中测试构图

在完全投入创作之前,Blender 可以在为场景设定构图时派上用场。例如,在“丛林遗址”场景的制作过程中,我通过使用立方体快速阻挡场景构图,并添加简单的光照,尝试了多种构图方式,以查看不同选项对构图的影响。

Blender 还提供了一些方便的工具,帮助你在构图选择中做出决策。选择相机后,你可以从属性编辑器的对象数据标签中访问这些工具,如图 3-6 所示。例如,为了更好地看到图像的框架,你可以提高 Passepartout 设置的 Alpha 值,以隐藏相机视野外的区域。你还会发现几个构图指南,你可以切换这些指南,帮助你根据三分法则、黄金比例或中心线对齐你的构图,如图 3-6 所示。

Blender 中的构图指南图 3-6. Blender 中的构图指南

在 GIMP 中准备参考图像

无论是从照片收集项目参考,还是自己绘制参考,通常在 GIMP 中投入一些时间确保您的参考图像在导入 Blender 后能够尽可能地有用是值得的。例如,您可以使用 GIMP 将图像合并为参考图像,或修正图像中的畸变,以获得最佳参考。

创建参考图像

在进行项目时,通常需要准备多个图像,以便在工作时快速参考。为此,将多个图像合并成一个参考图像并在 Blender 中作为单个图像加载是非常有帮助的。

要创建参考图像,请在 GIMP 中选择文件作为图层打开,然后选择您要导入的图像。接下来,使用图像画布大小增大画布的大小,以便您可以使用移动工具(M)将图像分布并排列到一个画布上,如图 3-7 所示。使用缩放工具(SHIFT-T)将任何明显大于其他图像的图像缩小。最后,添加一个黑色背景层,填充为黑色,并将其移到图层堆叠的底部。将参考图像保存为.jpg文件。

对齐正投影视参考

正投影视参考,或称为正视图参考,是从特定视角(正面、侧面、背面或顶部)拍摄或绘制的参考图像,尽量减少透视效果。在绘图时,减少透视很容易;对于照片,可以尽量将拍摄位置远离拍摄对象,使用长焦镜头来减少透视。

如果您将在项目中使用正投影照片参考或绘图,请考虑在 GIMP 中将它们对齐为单一图像,如图 3-8 所示,然后在 Blender 中打开它们,这样每个图像中的每个部件的特征就能够对齐。通过对齐图像,您可以在建模时从多个视角跟踪每个特征。

在 GIMP 中创建参考图表。你可以将多个图像作为图层打开,使用移动工具排列它们,然后将结果保存为单个图像,之后可以在 Blender 中打开。图 3-7. 在 GIMP 中创建参考图表。你可以将多个图像作为图层打开,使用移动工具排列它们,然后将结果保存为单个图像,之后可以在 Blender 中打开。在 GIMP 中对齐正交参考。这里,来自艺术家模特的正面、侧面和三分之一视角的照片正在使用水平参考线进行对齐。每张照片都作为单独的图层导入,并使用移动工具进行对齐。图 3-8. 在 GIMP 中对齐正交参考。这里,来自艺术家模特的正面、侧面和三分之一视角的照片正在使用水平参考线进行对齐。每张照片都作为单独的图层导入,并使用移动工具进行对齐。

如果你的参考图像是使用长焦镜头拍摄的,或者是按照正交透视绘制的,你应该能够轻松对齐它。按照创建参考图表中描述的方式,将图像作为图层打开,然后选择一个图层来对齐所有其他图层。使用参考线(点击并拖动图像窗口旁边的标尺)标记关键特征的垂直位置,然后使用 GIMP 的旋转、缩放和移动工具来调整下一个图层,使特征对齐。通过对所有正交视图重复这些步骤,你将基本上创建一个项目蓝图,然后可以用来进行建模(参见图 3-9)。

请注意,在将图像与照片参考对齐时,由于镜头畸变和透视问题,一些特征在每个视图中可能无法完美对齐,特别是如果它们与相机的距离不同。虽然你可以使用 GIMP 的镜头畸变滤镜(滤镜▸扭曲▸镜头畸变)在一定程度上修正镜头畸变,但结果仍然不是完美的正交参考,因为你仍然无法修正透视问题。更简单的做法是尽可能对齐关键特征,并记住在建模时你并不是完全依赖于参考图像;你可以根据自己的判断修正任何你知道会出现的错误。

使用正交参考进行工作。从多个角度查看特征可以更容易地准确建模它们。图 3-9. 使用正交参考进行工作。从多个角度查看特征可以更容易地准确建模它们。

在 Blender 中使用概念图和参考图像

一旦你准备好了概念艺术和参考图像,就有几种方法可以将它们作为参考在 Blender 中使用。当然,你可以直接在标准图像查看器中打开图像,并将其放在屏幕的一侧,但你也可以使用 Blender 的 UV 图像编辑器、背景图像或空对象的图像显示选项。

UV 图像编辑器

要在 Blender 的 UV 图像编辑器中打开图像,选择 图像打开图像,在文件浏览器中找到你的参考图像或概念艺术,点击 打开。Blender 应该会在 UV 图像编辑器中打开图像。如果你之后打开另一张图像,你可以从顶部菜单的下拉菜单中访问之前打开的任何图像,以及任何由纹理数据块使用的图像。

在创建合成时,如果需要使用多个参考图像,我喜欢将它们都合并成一张大参考图,在 GIMP 中制作。然后,我将该参考图保存为 .jpg 文件,并在 Blender 的 UV 图像编辑器中打开,如 图 3-10 所示。这个参考图允许我在图像上平移,缩放进出,仔细查看特定的参考图像,而不需要将每一张图像单独加载到 Blender 中,并不断切换它们。

Blender 中 UV 图像编辑器中的参考拼贴图 3-10. 在 Blender 中 UV 图像编辑器中的参考拼贴

背景图像

如果你想在 Blender 的 3D 视口中显示图像,最简单的方法是使用背景图像。将光标置于 3D 视口上时,按 N 键调出属性区域,在该区域中有背景图像面板(见 图 3-11)。在这里,你可以将图像添加到 3D 视口中,改变它们的大小和位置,并使用轴向设置定义它们显示的视角。

图像空对象

背景图像在从正交参考图像进行建模时非常有用,因为你可以设置它们仅在正确的视角下显示,或者在从相机视角查看时显示。

如果使用背景图像有一个缺点,那就是当你在 3D 视口启用透视时,它们是不可见的。幸运的是,Blender 2.6 允许你将图像添加为任何空对象的绘制类型,之后你可以随意定位它们。这使得图像空对象非常适合在场景中任意放置参考图像,这样你可以根据需要移动它们,也适合设置正交参考图像,可以从任何角度查看。

要使用图像空物体,在场景中使用 SHIFT-A▸空物体创建一个空物体。然后,在属性编辑器的对象数据选项卡下,你可以将空物体的显示类型设置为图像,并选择要显示的图像(参见图 3-12)。空物体现在将在一个平面上显示此图像,你可以像操作任何物体一样移动、缩放和旋转它,将图像放置在场景中,但此物体不会干扰渲染,因为它仅在 3D 视口中可见。

在 Blender 中使用背景图像。你可以使用“添加图像”按钮添加更多图像,这样可以同时查看多个参考图像。图 3-11. 在 Blender 中使用背景图像。你可以使用“添加图像”按钮添加更多图像,这样可以同时查看多个参考图像。使用图像作为空物体的同一图像现在可以从任何角度查看。如果图像具有 Alpha(透明)通道,它也将作为透明图像显示在 3D 视口中。图 3-12. 使用图像作为空物体的同一图像现在可以从任何角度查看。如果图像具有 Alpha(透明)通道,它也将作为透明图像显示在 3D 视口中。

总结

在本章中,我们回顾了在 Blender 中进行项目时需要考虑的准备步骤,包括规划你想要制作的内容、收集参考和概念艺术以及为最终合成生成创意。然后,我们讨论了在工作时如何将这些信息带入 Blender。下一章,我们将开始建模我们的项目。通过勾画出项目的关键元素,我们将为建立更复杂的模型奠定基础。

第四章:封闭建模

准备工作完成,概念艺术和参考资料已准备好后,我们可以开始建模了。建模是创建由单独的点组成的 3D 对象的过程,这些点通过连接形成面,面进一步构成更复杂的形状。Blender 中有许多创建模型的方法,从修改原始形状,如简单的立方体或球体,到逐面构建网格表面,或者绘制 Blender 可以转换为由顶点和面组成的对象的平滑曲线。

建模可能是一个漫长的过程,为了节省时间,了解特定建模任务的目标是很有帮助的。不过,您不可能一次性完成一个对象的建模;您必须从某个地方开始,这就是封闭建模的作用。封闭建模是为您想要创建的对象添加简单占位符的过程,这样您可以更好地规划它们如何组合在一起,考虑它们的单独构造,并在问题成为重大问题之前发现它们。一旦一个场景的基本结构完成,您就可以继续精细化、替换或添加每个部分,以创建最终模型。例如,在丛林神庙场景中,像立方体这样的简单元素被用作关键元素的占位符;对于其他项目,我们创建简单的基础网格进行雕刻,这些网格为雕刻模型的最终形态提供了基础。

基本建模术语

在我们深入了解之前,以下是本章中将使用的 Blender 基本建模概念的定义。表 4-1 按层次顺序列出了它们:顶点构成边,边构成面,以此类推。

编辑模式

编辑模式(如图 4-1 所示)是建模魔法发生的地方。在选中一个网格对象后,您可以通过按 TAB 键或点击 3D 视口顶部的模式下拉菜单并选择编辑模式进入编辑模式。一旦进入编辑模式,您所选的对象就可以编辑(如果它本身可编辑——例如,空对象和灯光是不可编辑的)。当对象可编辑时,您可以选择和操作其中的部分,并创建新部分。

表 4-1. Blender 编辑模式中的重要术语

术语 描述
顶点(复数 vertices);也称为 vert 3D 空间中的一个点,具有特定的位置。顶点通过连接构成 网格
连接两个顶点的线。
面(或多边形) 由三个或更多的顶点通过边连接,并填充一个平面表面。由三个顶点构成的多边形称为 三角形triangle 的简写)。由四个顶点构成的多边形称为 四边形quadrangle 的简写)。具有四个以上顶点的多边形称为 n-边形n-gons)。
法线 一个面或顶点指向的方向。可以想象一个旗杆从物体表面垂直指向外部,它指向的方向就是面法线。当顶点和边是表面的一部分时,也可以具有法线。
网格 由顶点、面和边组成的集合,所有这些都属于同一个物体。
拓扑 一个术语,指的是网格面在其表面上的“流动”方式。(有关拓扑的更多内容,请参见第五章和第七章)。
操作符 对网格的一部分进行的任何操作,如平移、缩放、复制等。操作符通常接收用户输入(如你想要移动的距离和方向),然后根据这些输入对所选对象执行操作。

Blender 的 3D 编辑模式视图图 4-1. Blender 的 3D 编辑模式视图表 4-2. 编辑模式下常用操作符

操作符 热键 描述
删除 X 删除所选的顶点、边或面。
复制 SHIFT-D 复制你的选择并允许你移动它。
拉伸 E 或 CTRL-点击 通过从当前选择中“拉出”新的顶点、边和面来创建新的几何体。拉伸的结果取决于你所选的内容(见图 4-2)。在编辑模式下,若没有选中任何内容,CTRL-点击将会在点击的地方创建一个新的顶点。多次这样操作会创建一串相连的顶点。
填充 F 如果选择了两个顶点,填充将创建一个连接它们的边。如果选择了三个、四个或更多顶点,它将从这些顶点创建一个三角形、四边形或n边形。
旋转 R 旋转你所选的顶点、边或面。(你也可以在旋转模式下使用 3D 操作小工具。)
缩放 S 缩放你选择的顶点、边或面,允许你调整网格的部分或全部大小。(你也可以在缩放模式下使用 3D 操作小工具来执行此操作。)
收缩/膨胀 ALT-S 沿顶点法线的方向移动选中的顶点,以膨胀网格,几乎像气球一样,或将其收缩,使其变薄。
平滑 W▸平滑 平滑边和面之间的锐角,使得结果网格更加平滑。
划分 W▸划分 将所有选中的边分割成两段,将面分割成四个,从而创建更密集的几何体。
平移(也叫抓取或移动) G 抓取你选择的顶点、边或面,并允许你移动它们。(你也可以在平移模式下使用 3D 操作器小部件来执行此操作。)
溶解 X 删除选中的边或顶点,但用 n-边形填充留下的空洞,是删除操作的替代方法。
连接 J 连接两个属于同一面的顶点,并在此过程中将该面分割成两个部分。
切割 K 提供一个刀具工具,允许你沿绘制的线条切割选中的几何体。按住 CTRL 键可对齐到顶点和边的中点。

注意

Blender 几乎总是提供两种执行操作的方式:通过 UI 和使用快捷键及/或搜索。在许多情况下,学习这两种方式都很有价值,因为学会快速执行操作和在模式之间切换会大大提高工作效率。

进入编辑模式后,你可以通过右键点击选择对象。按住 SHIFT 并右键点击可以扩展选择。要选择或取消选择当前网格中的所有内容,按 A。要在选择顶点、边和面的模式之间切换,请点击 3D 视口头部的顶点、边或面选择按钮(见 图 4-1)。

L 选择与光标下网格部分相连的所有网格部分。选中网格的部分后,你可以对选区执行各种操作,以编辑网格。

表 4-2 列出了在 Blender 建模时你最常使用的操作符。还有许多其他与网格交互的方式,我会在接下来的内容中详细讲解。

若要了解 Blender 中的操作符,请访问 wiki.blender.org/ 搜索相关内容。你可以通过搜索菜单(空格键)或浏览 Blender 不同编辑器的头部菜单和面板,轻松发现更多操作符(或搜索已有操作符)。在 Blender 中,悬停在按钮上会显示工具提示,描述操作符的功能及其是否有快捷键。

挤出面 1,挤出边 2,以及挤出单个顶点 3。不同选择上的挤出操作将产生不同的结果。挤出顶点将创建边,而挤出边或面将创建面。挤出整个封闭网格(未显示)将复制该网格。图 4-2. 挤出面 1,挤出边 2,以及挤出单个顶点 3。不同选择上的挤出操作将产生不同的结果。挤出顶点将创建边,而挤出边或面将创建面。挤出整个封闭网格(未显示)将复制该网格。

在编辑模式下,W键会弹出一个包含许多建模工具的菜单。你在编辑模式下使用的所有操作符都可以在 3D 视图中找到。从 Blender 2.5 开始,当你使用大多数操作符时,工具选项面板会出现在工具架的底部,让你能够事后更改刚才使用的操作符的参数。例如,在应用细分操作符后,你可以使用工具选项面板来改变细分的数量以及是否对其进行平滑处理。

其他建模方式:曲线

你可以使用 Blender 以多种方式创建模型,包括使用各种曲线、元球(其行为有点像靠近时会粘在一起的黏土团块)、NURBS 曲面(由曲线定义的横截面构成的曲面)、文本对象以及贝塞尔曲线。每种方法在建模中都有其特定用途,但最重要的(仅次于网格)是贝塞尔曲线,我们将在本书的建模部分中频繁使用。

贝塞尔曲线定义了一个 3D 空间中的路径,并通过控制点和手柄构造。它们可以用来创建沿曲线路径延伸的线状或带状物体(使用闭合或开放曲线),以及通过轮廓定义的平面表面(使用闭合的二维曲线)。每个控制点都有两个手柄,用来定义路径在该顶点的流动方式,从而使你能够创建各种平滑或锐利的路径。

使用曲线建模的方式与使用网格非常相似;你可以抓取、旋转、缩放、复制以及拉伸控制点或其手柄。(不过,你不能从曲线创建面;你只能将曲线中的每个顶点与另外两个顶点连接起来。)

在使用曲线时,请记住以下几点:

由曲线生成的几何体是程序化的** 这意味着你定义的曲线将根据你在对象数据选项卡中应用于曲线的设置来生成网格(图 4-3)。你可以更改一些参数,比如每个曲线段的划分数目,以及对曲线应用的倒角和拉伸。

对象数据选项卡允许你在 2D 和 3D 曲线之间切换,设置从曲线创建的网格密度(分辨率),并定义如何对曲线进行倒角和拉伸以创建 3D 物体(几何)。图 4-3。对象数据选项卡允许你在 2D 和 3D 曲线之间切换,设置从曲线创建的网格密度(分辨率),并定义如何对曲线进行倒角和拉伸以创建 3D 物体(几何)。

曲线可以是开放的或封闭的。 要关闭曲线,选择其两个端点并按 F 将它们连接起来。你可以通过选择两个或更多连接的点,然后选择 X 来删除封闭曲线的一段,从而使其重新变为开放曲线。

曲线可以是二维或三维的。 二维曲线上的点不能沿曲线对象的 z 轴移动,这使得你可以通过定义曲线的轮廓来创建一个平面对象。Blender 然后根据填充设置(见图 4-3)填充该形状。然后,你可以使用对象数据选项卡中的几何设置将封闭曲线的轮廓挤出以创建实心形状。你还可以添加细节,如倒角边缘,并在这里更改曲线的分辨率。

3D 曲线有一个“倾斜角度”,决定了曲线的挤出方向,如图 4-4 所示。 你可以通过显示在 3D 曲线长度上的法线(箭头)看到倾斜的方向。你可以通过 CTRL-T 编辑这个倾斜角度,从而创建一个沿其长度扭曲的曲线。

曲线可以用来变形网格。 可以通过将曲线修改器应用到网格对象上,使网格沿着曲线的路径进行拉伸。

曲线控制柄可以以多种方式工作,如图 4-5 所示。 默认通常是自动或对齐,具体取决于你添加的曲线对象类型。自动控制柄会简单地在一个控制点和下一个控制点之间创建一条平滑的路径,且控制柄指向相反的方向。如果你抓住一个控制柄并移动它,控制点将切换为使用对齐控制柄,这些控制柄指向相反的方向,但可以旋转和缩放,使你能够创建更灵活的曲线。你可以使用快捷键V(或通过顶部的曲线菜单)切换到其他控制柄类型。矢量控制柄在点之间创建具有锐角的直线。自由控制柄也会创建锐角,但你还可以像对齐控制柄一样抓住它们并移动,使你能够在控制点之间创建弯曲的线段。

不同类型的曲线。左侧:将 2D 曲线挤出并倒角,形成平面切割形状。右侧:将 3D 曲线挤出形成丝带。(曲线的倾斜决定了曲线的扭转方式。)图 4-4。不同类型的曲线。左侧:将 2D 曲线挤出并倒角,形成平面切割形状。右侧:将 3D 曲线挤出形成丝带。(曲线的倾斜决定了曲线的扭转方式。)

修饰符

修饰符允许你以程序化和非破坏性的方式对模型进行操作。它们是创建 Blender 中几乎任何内容的基础。一些修饰符会生成新的几何体,替换或添加到你的网格中,而其他修饰符则会根据特定规则变形现有的几何体,或提供将仿真和其他更复杂的实体插入到场景中的方法。

我们主要关注那些生成并变形应用到网格上的修饰符,因为它们对于创建模型最为有用。在表 4-3 中列出了一些最重要的建模修饰符。特别是,镜像和子面修饰符几乎在所有有机建模中都会使用。最常用的生成修饰符的效果显示在图 4-6 中。

具有不同控制柄类型的曲线(从左上角顺时针:自动、对齐、向量和自由)图 4-5。具有不同控制柄类型的曲线(从左上角顺时针:自动、对齐、向量和自由)表 4-3。建模的有用修饰符

类型 修饰符 效果
生成 镜像 沿指定的轴线、关于对象的原点或另一个对象,镜像网格的几何体。镜像修饰符对于创建对称对象非常有用。
数组 复制网格几何体,并使用相对于对象大小或其他某个对象的固定偏移量进行偏移。数组对于具有重复元素的模型非常有用。
子面(Subsurf) 将网格的每个面分割为四个更小的面,并平滑它们,每次迭代都会创建更平滑的网格。子面修饰符适用于具有平滑表面的对象,特别是有机模型。
加固 沿法线挤出几何体,创建一个来自表面的实心外壳。
变形 格子 使用 3D 网格点来平滑地扭曲网格的形状。
收缩包裹 将网格投影到另一个对象的表面上。
曲线 沿着曲线路径变形网格。

不同的生成修改器及其效果。从上到下,我们看到半个球体 1,应用了镜像修改器 2、阵列修改器 3、加厚修改器 4 和细分表面修改器 5。修改器可以组合使用,创建各种形状,比手动建模更容易。图 4-6。不同的生成修改器及其效果。从上到下,我们看到半个球体 1,应用了镜像修改器 2、阵列修改器 3、加厚修改器 4 和细分表面修改器 5。修改器可以组合使用,创建各种形状,比手动建模更容易。

丛林神庙的初步搭建

让我们考虑丛林神庙的场景。对于这个项目,我最初的关注点是设计一个能够创造出良好构图的环境布局。我从场景中的主要元素开始:通往神庙内部的门和一些散落在废墟中的石块与树木。

为了制作门,我在物体模式下添加了一个立方体(SHIFT-A▸网格▸立方体),并缩放它(S)到我需要的大小。一旦激活了缩放操作符,你可以通过按XYZ来限制只在一个轴上缩放物体。你也可以按住 SHIFT 并按XYZ来在所有轴上缩放,除了一个轴。

切换到编辑模式(TAB),我通过在两侧外部面进行拉伸,并仅在x轴和z轴上缩放,添加了一个孔。接下来,我删除了中心的面(X),并通过选择两个开放的边,每次做一个面(F),在中心周围创建了新的面,如图 4-7 所示。

在物体模式下,我添加了一个平面(SHIFT-A▸网格▸平面)并将其放大,形成了场景的地面平面。然后,我添加了一个相机并将其移动到大致能够看到我想要的门的位置。快速的方法是,在 3D 视口中导航到你想要的视角,然后按下 CTRL-ALT-0 将相机对准当前视角。你也可以像操作其他物体一样,移动和旋转相机。注意,这样做可能会导致相机稍微倾斜。你可以通过手动设置相机的 Y 轴旋转为 0 来纠正这一点,方法是使用属性区域(N)中的旋转属性面板。

在这里,我通过添加、缩放、移动和拉伸立方体,简单地添加了一些墙壁,形成了场景的主要边界。接着,我开始添加更多的立方体,考虑它们将如何成为场景中最终的建筑元素,比如石墙、雕像和散落的石块。这一过程如图 4-8 所示。

在简单元素封装完成后,我开始为想要生长在废墟上的树木添加粗略的代理模型。为了创建这些代理,我添加了一个贝塞尔曲线对象,并将控制点设置为自动。然后,我使用 Blender 的对齐工具将曲线挤出,形成类似树根和树干的形状,覆盖在占位对象的表面上(图 4-9)。我通过开启对齐功能,将对齐目标设置为面,并启用“投影到表面”功能(图 4-10)。这会在你移动和拉伸曲线时将它们投影到场景中的其他物体上,让你能够在现有场景的基础上“绘制”出树木的形状。

制作简单的门图 4-7. 制作简单的门使用简单元素进行封装。我从门开始,然后添加了地面平面、墙壁和立方体来表示场景中的主要元素。图 4-8. 使用简单元素进行封装。我从门开始,然后添加了地面平面、墙壁和立方体来表示场景中的主要元素。通过将树根对齐到周围环境,我们可以迅速封装覆盖废墟表面的树根。图 4-9. 通过将树根对齐到周围环境,我们可以迅速封装覆盖废墟表面的树根。对齐图标图 4-10. 对齐图标

对齐

Blender 提供了用于将物体、顶点、面或边缘对齐到各种目标的工具。要启用对齐功能,请点击 3D 视口头部区域中的对齐图标(马蹄形磁铁)(见图 4-10)。然后,从对齐图标旁边的下拉菜单中选择在移动、缩放或旋转时,Blender 如何将你的选择对齐到以下选项之一:

增量。您的选择将对齐到最近的增量,从而使您可以构建具有精确对齐点的物体。这对于建模建筑物或机械物体等场景非常有用,在这些场景中,您需要完美对齐的墙壁和地板,没有任何突起或凹陷。(您也可以通过按下 SHIFT-S▸选择对齐到网格,将选择对齐到 Blender 的网格。)

顶点/边缘/面/体积。您的选择将对齐到任何物体的顶点、边缘、面或内部。您可以通过下拉菜单更改 Blender 选择对齐的对象。点击下拉菜单右侧的图标以旋转选择,使其与对齐的法线顶点匹配。

一个非常重要的对齐选项位于面对齐模式。启用面对齐时,投影到表面图标将会出现。投影到表面会使您创建的几何体在移动、缩放或旋转时对齐到现有物体的表面。这个选项允许您在现有物体的表面上创建新的拓扑结构。在第七章中,我们将在现有物体的表面上创建新的拓扑,以便在雕刻原始物体之后更好地捕捉它们的形状。

基础网格

为了创建蝙蝠生物,我需要一个可以雕刻的简单基础网格。基础网格是一个简单的模型,它捕捉到您想要雕刻的模型的基本形状。一旦创建了基础网格,您可以添加多分辨率修改器,并开始在雕刻模式中细分和雕刻细节(请参见第六章")。

您的基础网格应该捕捉到网格的整体比例,并设计为易于细分,从而提供一个均匀的网格供雕刻使用。我们可以稍后重新拓扑雕刻后的基础网格,创建最终模型,但现在使用非常简单的几何体将为雕刻时的实验提供更多自由。

基础网格可以具有任何复杂度,但尽量创建能够支持您知道需要创建的形状的拓扑结构,同时避免引入过多您不确定的细节。根据您对模型外观的确定程度,您可以包含眼睛、嘴巴和肌肉群等特征的拓扑,或者如果您只是在建模一个面部,可以保持基础网格简单,如球体或立方体。

对于蝙蝠生物,我的目标是创建一个基础网格,为整体的身体结构提供拓扑,但省略了细节部分,如头部。我通过将我的概念艺术设置为背景图像并将其作为指南,来开发基础网格。

构建蝙蝠生物的基础网格

我从生物的躯干开始建模,以为其余部件提供比例参考,并为它们提供一个附着点。首先,我使用了默认的.blend文件(Blender 启动时展示的场景),并删除了其中已有的任何物体。然后,我加载了蝙蝠生物的概念图(如图 4-11 所示)。(有关帮助,请参见在 Blender 中使用概念和参考图像。) 虽然我并不打算完全按照这个概念图建模,但它为我提供了一个有用的参考,用来判断在建模过程中比例的准确性。此时,我没有将翅膀包含在躯体的基础网格中,因为我打算稍后单独建模翅膀。

作为背景图加载的概念艺术图 4-11. 作为背景图加载的概念艺术

接下来,我添加了一个立方体,切换到编辑模式(TAB),并将其缩放到大致的人体比例。我首先通过将其缩放到正确的宽度(S)来进行整体调整。然后,我沿Z轴缩放(SZ),接着在Y轴上进行缩放(SY),使其变得更高、更浅。通过在立方体的中部添加水平循环切割(在网格周围增加额外的边环,如下文所述)(CTRL-R)并稍微将它们向前移动,我为躯干添加了一些曲线,并开始精细化其形状。

到了这个阶段,由于模型变得更加复杂,使用镜像修改器来保持网格对称变得更容易了。为此,我在躯干的中部添加了一个垂直的循环切割,并删除了右侧的部分。然后,添加了一个镜像修改器,将身体左侧的几何形状镜像到右侧,形成一个对称的整体,只需要编辑一侧(参见图 4-12)。同时,启用裁剪功能,可以防止顶点偏离物体的x原点,避免因不小心将顶点稍微移开对称线而导致网格出现漏洞。

循环切割、面和边循环

面环是一个由四边形组成的字符串,端对端连接,形成连续的路径,使得边环(一系列连接的顶点)可以通过中间部分进行切割。例如,在图 4-13 中,围绕面环的两个边环将环绕圆柱体,形成一个新的面环,环绕中间部分。技术上来说,边环/面环应该是一个连续的环形路径,但这个术语通常用来表示任何合理长度的四边形/边缘链。

为身体添加镜像修改器需要在中间添加一个边环,并先删除一半的躯干。默认情况下,镜像修改器沿 x 轴镜像物体,但你可以根据模型的不同,修改为沿任意组合的 x 轴、y 轴和 z 轴进行镜像。图 4-12. 为身体添加镜像修改器需要在中间添加一个边环,并先删除一半的躯干。默认情况下,镜像修改器沿x轴镜像物体,但你可以根据模型的需要,更改为沿任意组合的xyz轴镜像。

环切割工具(CTRL-R)非常重要,因为它沿着四边形路径切割你的网格,穿过每一个四边形,创建新的边缘,流经面环。如果你激活环切割工具并将鼠标悬停在一个边缘上,Blender 会用紫色高亮显示该路径。如果路径遇到三角形或网格的开放边缘,切割会停止。

环切割非常有用,因为它允许你在保持网格拓扑清晰的同时,给模型添加更多细节。你可以在按下 CTRL-R 后,通过滚动鼠标滚轮来创建多个环切割,然后选择一个边缘开始切割(参见图 4-13)。

Blender 还提供了其他操作器,用于与边环和面环进行交互,包括删除环(将两侧的面连接起来,以保持网格完整)和沿与之平行的边缘上下滑动环。你还可以一次选择整个边环进行操作。(如果它不是环形的,Blender 将简单地找到它能够找到的最长路径。)这些操作器的详细信息在表 4-4 中。

作为我的项目的下一步,我从臀部向下拉伸制作了腿部,并添加了循环切割以完善其形状,如图 4-14 所示。对于手臂,我通过从身体向外挤压然后从新挤压区域的底面向下挤压,在肩部添加了一个弯曲,如图 4-15 所示。这给肩部带来了比我直接从身体向下挤压更自然、更合适的转角。

你可以通过滚动鼠标滚轮或在按下 CTRL-R 后通过键盘输入一个数字来添加多个循环切割。循环切割在遇到三角形或网格的边缘时终止。图 4-13。你可以通过滚动鼠标滚轮或在按下 CTRL-R 后通过键盘输入一个数字来添加多个循环切割。循环切割在遇到三角形或网格的边缘时终止。表 4-4。边缘循环操作符

操作符 快捷键 功能
删除边缘循环 X▸边缘循环 删除选定的边缘循环部分,其他表面保持不变。
边缘滑动 CTRL-E▸边缘滑动 允许你沿着与其垂直的边缘滑动整个或部分边缘循环。
循环切割 CTRL-R 在光标下的边缘创建一个新的边缘循环。
选择边缘/面循环 ALT-右键单击 选择一个边缘/面循环(取决于选择模式)。

向腿部添加循环切割为我提供了更多顶点来定义其形状。图 4-14。向腿部添加循环切割为我提供了更多顶点来定义其形状。

角色建模的姿势

你建模角色或生物时的姿势对其最终外观非常重要,而你的策略将取决于你想用你的模型做什么。到目前为止,我已经将蝙蝠生物建模成一种放松的姿势,接近经典的 T 姿势:双臂伸直,双腿与肩同宽。T 姿势在绑定角色时很有用(即创建一个骨架,告诉网格如何像有骨骼和关节一样移动)。然而,T 姿势在建模时看起来相当紧张和不自然,这种效果可能会在将角色摆放到其他姿势时持续存在。因此,我希望角色在建模的早期阶段看起来尽可能放松和中立,这样我可以稍后从这个中立位置进展下去。通过将手臂放松并向角色的两侧放置,我消除了这种紧张感,使角色的默认姿势看起来更加自然。

拉伸手臂。肩部创建一个拐角,使得手臂更自然图 4-15. 拉伸手臂。肩部创建一个拐角,使得手臂更自然形态。在躯干和腿部周围添加额外的边循环并合并几条边以清理网格图 4-16. 在躯干和腿部周围添加额外的边循环并合并几条边以清理网格

注意

尽管我们不会详细讨论绑定(rigging),但请注意经典的 T 姿势是有原因的。在绑定过程中,角色双臂伸展可以简化骨骼链和约束的设置。然而,Blender 绑定工具的不断改进使得不再像以前那样必须采用 T 姿势。你总是可以在建模和雕刻完毕后,将模型重新摆放回 T 姿势。

接下来,我选择了身体和腿部前后所有的边,并将它们细分(W),以便我能更好地雕刻躯干和腿部的形状。这样做在骨盆部位产生了一些尴尬的拓扑结构,我通过选择这两条新边并将它们合并来修复,如图 4-16 所示。我也对背部的边做了相同的操作。

我在角色的中部添加了一个边循环,如从侧面所见(图 4-17),并且在胸部和手臂下方也添加了边循环。接着,我进一步精细调整了身体形状,收紧了后部的腰部,并使腿部和手臂的形状更加圆润。此步骤将手臂和腿部的顶点数量增加到了八个,这在添加手和脚时会非常重要。

从侧面看,精细调整身体(左)并在中部添加一个边循环(右)图 4-17. 从侧面看,精细调整身体(左)并在中部添加一个边循环(右)

在此过程中,我尽量确保我的网格完全由四边形组成,并力求保持四边形的大小和形状大致均匀且方正。这在创建雕刻基础网格时非常重要,因为三角形、n 边形和长条形的面通常会在雕刻时产生伪影。

为了创建一个绕肩部的面片循环(图 4-18),我选择了手臂的面片,并将其从身体中分离出来(Y)。然后,我将手臂移出,并使用桥接操作符(W▸桥接两个边循环)在空隙周围桥接边缘。这样将两条顶点链或循环连接在一起,并通过面片从一个连接到另一个。两个循环的顶点数必须相同才能连接。

在肩部周围添加一个面片循环。这个循环使得在不变形胸部的情况下,可以轻松调整手臂在不同姿势中的位置。图 4-18. 在肩部周围添加一个面片循环。这个循环使得在不变形胸部的情况下,可以轻松调整手臂在不同姿势中的位置。

接着,我在身体的各个部分添加了更多的循环切割,跨越不同的形态,以平整网格并提供大致均匀的方形四边形分布(图 4-19)。你可以使用边缘滑动操作符(CTRL-E▸边缘滑动)来调整现有边循环的位置,这个操作符可以让你上下滑动边循环。

在腿部、手臂和躯干周围添加一些额外的边循环图 4-19. 在腿部、手臂和躯干周围添加一些额外的边循环

手部和脚部建模

为了建模手部(如图 4-20 所示),我从一个立方体开始,通过沿其 x- 轴缩放来扁平它,形成手掌的基础 1。然后,我在中部添加了一些循环切割,并进行垂直切割 2。

到这一点,我本可以直接从手掌底部的每个面片上挤出手指。然而,这样做会在手指交接处产生一些糟糕的拓扑结构,这样的结构在雕刻或变形时表现不佳。相反,我进行了挤出操作,添加了运行在手指之间的面片循环 3。对于中间的手指,我只选择了手部的一半并进行了挤出操作。对于外侧的两个空隙,我在手掌底部的两侧中部 4 面上进行挤出,同时连接两侧的底部,共计 10 个面片。

创建手部图 4-20. 创建手部

为了减少手部顶部(最终与手臂连接处)面片的数量,我将手部顶部角落与拇指对面的两对边缘合并(图 4)。(记住,我的目标是让手部与手臂连接时有八个顶点,所以这一区域需要保持简单。)

对于拇指,我首先从手部正面的一些面上向外挤压了两次,然后将角落的顶点合并,形成了一个弯曲。接着,我添加了一个环形切割,环绕在手部的外侧,挤压了手指和拇指,并稍微平滑了它们(W▸平滑)。接下来,我通过选择整个手指进行旋转,然后选择后三分之二的部分,再旋转指尖,稍微让手指和拇指有些向内卷曲。我还通过从上视图选择手部的一部分,并开启比例编辑,旋转这些部分来调整整个手部的形状,使手掌和拇指呈现轻微的弯曲。

我稍微平滑了手部(W▸平滑),使手指和手掌看起来不那么方块。通过选择手掌表面,并开启比例编辑,我稍微膨胀了它(ALT-S),使手部更有立体感(10)。这完成了图 4-20 中展示的建模阶段。

为了将手部连接到手臂(图 4-21),我删除了手部顶部中间的四个面,将手部移动到合适位置,然后在物体模式下将手部与主身连接(CTRL-J)。接着在编辑模式下,我删除了手臂末端的相应面,并连接环形边缘,完成手部与手臂的连接。

手部与手臂连接图 4-21. 手部与手臂连接

由于我保持了手臂末端和手腕周围的顶点数量相同,手部与手臂的连接相对顺利,如图 4-21 所示。因为连接处现在有两个非常靠近的边环,我删除了其中一个(通过 ALT-右键选择,然后使用 X▸Edge Loop 删除),以使边环的分布更加均匀。

脚的建模与此相似,如图 4-22 所示。我从一个立方体开始,首先挤压出了脚的大致形状。我添加了面环以在脚趾之间产生间隙(2 到 4),挤压了脚趾(5),稍微平滑了脚部(6),然后合并了脚背角落的边缘,以改善边环在脚背部的流动方式,并减少整体多边形数目,正如我在手部建模时所做的那样(7)。我使用了膨胀和比例编辑功能,使大脚趾变得更大,并细化了脚的坡度,脚从小腿部分向下倾斜,从大脚趾侧到小脚趾侧也有下坡(8)。同样,由于小腿周围有八个顶点,我可以从脚的顶部删除四个面,并通过连接小腿的间隙(9 和 10)。然后,我通过滑动、删除或添加边环来整理小腿部的边环分布,以便使边环更加均匀分布(11 和 12)。

建模头部

头部最初只是一个拉出的立方体,先是拉出前部,然后再拉出底部形成下巴(图 4-23)。添加了一些环形切割后,我从底部拉出形成脖部,然后对形状进行了平滑和细化,以便使轮廓更好,并稍微缩小前部。我从头部两侧的面上拉出一些几何体来创建耳朵的形状。然后,就像处理身体一样,我删除了一半,并添加了一个镜像修改器。接着,我将头部与身体连接,删除了中间的面,并使用桥接操作符填补了空隙。

构建脚部图 4-22. 构建脚部制作头部并将其连接到身体图 4-23. 制作头部并将其连接到身体

注意

在使用 CTRL-J 将头部与身体连接之前,确保头部原点的 x 位置与身体对齐。如果不对齐,身体上的镜像修改器和头部的中心不同,会导致头部分裂并迫使你重新连接面。

使用比例编辑调整模型

如果你不喜欢模型某些部分的比例,完全不必单独调整每一个顶点。你可以使用 Blender 的比例编辑功能,选择、缩放或旋转一个顶点,并拖动附近的顶点,这样就可以按比例进行调整。

要启用比例编辑,请使用 3D 视图窗口顶部的圆形图标(如图 4-1 所示)或快捷键 O。一旦启用比例编辑,你可以调整附近未选择的顶点的拖动距离(与已选择顶点一起),以及效果的衰减曲线。要改变半径,可以在操作选择时滚动鼠标滚轮。通过点击比例编辑图标旁边的下拉菜单,你可以选择不同的衰减曲线。你也可以设置比例编辑仅影响连接的顶点(ALT-O),这将只拖动与所选顶点位于同一网格中的附近顶点,让你在移动手臂时不影响模型的腰部。

不同的衰减设置会显著影响网格部分变换的效果。例如,Sharp Falloff 选项会在你抓住并移动一个顶点时创建尖锐的峰值,而 Sphere Falloff 选项会形成膨胀的球形形状。Random Falloff 选项适用于粗化网格表面;通过抓住一个顶点并稍微移动它,设置较大的衰减半径,你可以在网格表面上添加轻微的随机变化。

比例编辑不仅仅适用于调整比例,它还有许多其他用途。例如,你可以用它通过抓取或旋转网格的部分来创建有趣的曲线或扭曲变形(见图 4-24),或者在不需要绑定骨骼的情况下为角色摆姿势。

比例编辑有许多用途。这里使用比例编辑来变形一个细分的柱子,通过(从左到右)平移、旋转和缩放操作,并采用标准的“平滑”衰减。图 4-24. 比例编辑有许多用途。这里使用比例编辑来变形一个细分的柱子,通过(从左到右)平移、旋转和缩放操作,并采用标准的“平滑”衰减。

我使用比例编辑对网格进行了一些微调,例如稍微拉回手臂和肩膀,并在腰部水平的地方稍微收窄背部。

创建翅膀

为了更方便地在身体和翅膀上雕刻,我将它们创建为独立的网格,之后在重新拓扑时可以将它们合并。为了创建翅膀,我首先使用参考图像大致搭建了骨架,先从一个小平面开始,并沿着骨骼的长度进行构建(见图 4-25)。为了更容易得到我想要的拓扑结构,这时候我保持网格为 2D 形式。

在基本骨架完成后,我开始在骨头之间填充翅膀。为了确保缝隙能够整齐地填补,我沿着骨骼分布了顶点,使它们大致对齐,并根据需要添加更多顶点或移动现有顶点。接着,我对边缘进行了拉伸和缩放,创造出翅膀与骨骼之间的清晰分界,并开始填补空隙。(拉伸/缩放操作虽然不会产生完美的结果,但你可以手动调整顶点位置,以获得更好的布局。)

填补缝隙后,我选择了整个模型并将其向后拉伸,给它增加了一些厚度,如图 4-26 1 所示。接下来,我只选择了翅膀膜区域,并使用缩小/加粗工具(ALT-S)将这些区域稍微缩小 2。此时,翅膀有了一些厚度,但看起来仍然很平。为了解决这个问题,我首先选择了翅膀的中心部分,并稍微将它们向后移动,给翅膀增加了一些凹形曲线 3。

有时 Blender 会错误地计算网格的法线,这可能会导致像收缩/膨胀这样的操作符和像细分表面或倒角这样的修饰符行为异常。如果你将网格设置为平滑绘制,通常可以看到黑色边界出现在法线冲突的区域之间。解决这个问题的方法是,简单地在编辑模式下选择整个网格,并使用重新计算法线操作符(CTRL-N)强制 Blender 重新计算物体的法线。

接下来,我使用了 Warp 操作符(SHIFT-W)给翼部添加了曲线 4。这个操作符使用 3D 光标的位置作为操作的中心,并将选定的顶点围绕该中心排列成一个圆形。你可以通过光标来定义顶点的扭曲程度;在使用操作符之前将 3D 光标设置得离网格更远,会使曲线的半径更宽。

通过这些处理,我能够通过切换到顶部视图并使用 Warp 工具为翼部添加一个漂亮的曲线。此外,通过旋转网格并再次使用 Warp,我也能够为翼部的轮廓添加一个类似的曲线 5。

Warp 操作符通常会稍微移动网格,因此我切换回物体模式(TAB),在应用变换之前将翼部移回到我想要的位置(CTRL-A▸应用位置,然后对旋转和缩放重复相同操作)。

翼部封装。在二维平面上开始翼部的布局可以保持简洁,并使得构建我们想要的结构变得更加容易。图 4-25。翼部封装。在二维平面上开始翼部的布局可以保持简洁,并使得构建我们想要的结构变得更加容易。翼部封装。翼部被拉伸,骨骼之间的膜变得更薄。然后,整个翼部使用 Warp 工具添加了一些曲率。图 4-26。翼部封装。翼部被拉伸,骨骼之间的膜变得更薄。然后,整个翼部使用 Warp 工具添加了一些曲率。

应用变换

像 Warp 这样的操作可以将你的物体移出原位,需要你旋转、缩放或平移网格才能将其恢复到正确的位置。通常,最简单的方法是在物体模式下一次性移动整个网格,尽管这样做会影响物体的局部坐标,在使用运算符和修改器时可能会导致奇怪的结果。例如,我接下来想要使用镜像修改器将蝙蝠生物的翅膀复制到基础网格的另一侧,但在使用 Warp 运算符并在编辑模式下移动和旋转翅膀之后,添加镜像修改器会导致错误的结果(参见图 4-27)。这是因为在物体模式下旋转物体时,我也旋转了它的局部坐标。因为镜像修改器使用这些坐标来镜像物体,所以结果并不是你期望的。

要查看物体的局部坐标,请在属性编辑器的物体标签中打开坐标轴设置(参见图 4-27)。要重置坐标轴以匹配全局坐标系统,请依次在物体模式下使用每个应用位置/旋转/缩放运算符(CTRL-A),这将把物体的原点放置在全局原点,并使其局部坐标的旋转和缩放与全局坐标匹配,而不影响物体的形状。这样,你就可以更可预测地进行建模、添加修改器和执行其他操作。

打开物体的坐标轴后,可以明显看出为什么镜像修改器没有产生预期效果。在应用修改器之前先对网格进行变换会产生更可预测的结果。图 4-27. 打开物体的坐标轴后,可以明显看出为什么镜像修改器没有产生预期效果。在应用修改器之前先对网格进行变换会产生更可预测的结果。

注意

当然,除了上述方法,你也可以利用物体的局部坐标来发挥优势。例如,你可以使用镜像修改器创建一个对称的物体,然后将其移动和旋转到一个不符合全局坐标的场景位置。只要在此时不在物体模式下应用这些变换,修改器的结果应该会保持你想要的效果。

最后,与身体部分一样,我添加了一个镜像修改器,然后使用比例编辑将翅膀与背部更好地对齐,并调整了形状。

到目前为止,我已经完成了蝙蝠身体的阻塞,如图 4-28 所示。我们将在雕刻完成后创建最终拓扑,如第五章和第七章中所讨论的那样。

阴影模式

请注意,到目前为止,在阻塞出这些项目时,我保持了我们正在创建的网格使用平面阴影——也就是说,面看起来是平面的,并且没有相互融合。这样做的原因是,它能使我们一眼就能看出网格面法线的方向,并且能够清楚地看到网格形状的进展。稍后,我将使用光滑阴影渲染一些模型,使它们看起来平滑(图 4-29),但目前来说这并不是必须的。要在两者之间切换,只需选择你的网格,然后在工具架中使用平面和光滑操作符来切换选定区域的阴影模式。你可以在对象模式中进行切换,这会影响每个选定对象的整体,或者在编辑模式中进行切换,这只会影响选定的面。

完成的身体基础网格图 4-28。完成的身体基础网格!平面和光滑阴影模式。光滑阴影模式通过在网格面法线之间进行混合,使其看起来平滑。你可以在对象模式或编辑模式中使用“光滑阴影”和“平面阴影”操作符在这两种模式之间切换。图 4-29。平面和光滑阴影模式。光滑阴影模式通过在网格面法线之间进行混合,使其看起来平滑。你可以在对象模式或编辑模式中使用“光滑阴影”和“平面阴影”操作符在这两种模式之间切换。

创建蜘蛛机器人

在制作蜘蛛机器人时,我只需要身体和腿部的基本部分。为了生成更多关于身体主要部件的细节,我使用了雕刻技术,然后进行了重拓扑,并通过传统建模添加了更多机械部件。

从两个立方体开始,一个用于腹部(背部段),另一个用于头胸部(头部和身体段),我大致调整它们的比例,如图 4-30 所示 1。通过添加一个 Subsurf 修饰符(CTRL-1),我能够获得更圆滑的形状,而无需添加并手动调整大量的边循环。只添加几个边循环就使我更接近所需的形状 2。

在对象模式下将两个立方体合并为一个对象(CTRL-J)后,我在细分级别 1 上应用了 Subsurf 修饰符,以增加更多几何形状来操作 3,但我首先复制了修饰符,以便进一步细分网格。当应用修饰符时,它对网格所做的更改会被应用到网格上,从而转换为可以编辑的几何形状。这使我能够从身体前部拉伸出一些新面,形成头部的隆起 4。在仍然选择着拉伸面时,我按 CTRL-+来扩展选择,使用 ALT-S 稍微加粗它,然后稍微平滑一下,完成了用于雕刻身体的基础网格。

对于腿部,我首先规划了腿部的主要部分,长条形、扁平、骨头状的部分用于腿的长节段,盾形的部分用于膝盖和脚部段落。我为前后两对腿和中间两对腿分别创建了两个略微不同的长节段 5。为了创建这些部分,我从一个平面开始,添加了一个镜像修饰符使腿部对称,然后挤出一个边并添加环形切割,以创建腿部的俯视图。接下来,我选中了整个物体(A),并通过首先挤出(E)而不移动新面来沿法线方向挤出它。然后,我沿法线方向移动新面(ALT-S),使腿部段具有均匀的厚度。目前,我只创建了每个部分的一个副本;在雕刻和重拓扑后,我会复制完成的部分并将它们定位以形成腿部。这完成了蜘蛛机器人的一些基础部件。

为蜘蛛机器人创建基础网格图 4-30. 为蜘蛛机器人创建基础网格

回顾

本章为模型奠定了基础。对于蜘蛛机器人和蝙蝠生物,这意味着创建具有简单拓扑的基础网格,稍后我们将在这些网格上雕刻,完善角色设计。至于丛林神庙,我用简单的占位网格封锁了场景中最重要的元素。在下一章,我们将替换并扩展这些占位符网格,同时为另外两个项目建模一些额外的细节,并在过程中讨论一些更深入的建模概念。然后在第六章,我们将开始使用 Blender 的雕刻工具对本章中创建的基础网格进行雕刻。

第五章. 细节建模

在第四章中,我们设置了项目的基本元素,创建了丛林神庙的阻塞模型,并为雕刻蝙蝠生物和蜘蛛机器人建模了基础网格。在本章中,您将学习如何完善这个框架,创建完成的模型。

为了创建最终模型,我们需要使用各种技术对简单几何体进行转换。这些技术包括使用修改器添加程序化细节,以及手动建模元素。我们的目标应该是最终得到干净、建模精良且细节丰富的网格,而不至于过度复杂化或引入无用的几何体,这些都会拖慢渲染速度或产生伪影。

建模细节非常有趣,但也可能相当重复,因此我不会详尽地讲解制作每个部分的过程。相反,我将重点介绍一些制作项目中特定元素的关键方面,这些方面既有趣又棘手,其余部分就留给你们发挥想象力吧。我们将从一些关于拓扑的讨论开始,讲解什么样的网格是“好”的网格,然后再进入实际的建模过程。

拓扑

拓扑 描述了网格的边缘和面是如何连接并在其表面上流动的。我们在为雕刻蝙蝠生物和蜘蛛机器人创建基础网格时已经讲解了拓扑的基础——即围绕手臂和腿部创建均匀的顶点环路,并避免使用三角形面。现在让我们谈谈为什么我们要这样做。

有许多方法可以创建具有相同基本形状但在构建过程中使用非常不同面配置的网格,如图 5-1 所示。

虽然图 5-1 中的形状大致相同,但中间的网格是最有用的,因为它的几何结构与面部的形态相吻合,围绕眼睛和嘴巴形成环路,并整齐地延伸到脖部和头部。此外,它与其他网格一样好地描述了头部的形态,甚至更好,同时使用的面数更少。

这个网格的流畅特性对动画也很重要,因为它使网格可以轻松且平滑地变形。例如,闭眼或张嘴时,不会使边缘不自然地拉伸,也不会导致网格的某些部分产生不愉快的交错。基于环路的拓扑结构在创建形状的进一步变化时也很有帮助,它使得放置 UV 接缝和展开 UV 时,网格的拉伸不会过于严重(有关展开的更多内容,请参见第八章)。

同样的头部形状与三种完全不同的网格图 5-1. 同样的头部形状与三种完全不同的网格

在图 5-1 中,位于中间的网格是更好的选择,原因是它的拓扑最适合与细分表面(Subsurf)修饰符配合使用。我们在第四章中讨论过的细分表面修饰符,用于细分和平滑网格。细分表面修饰符使用的算法,Catmull-Clark 细分,在像这个网格这样构建的网格上效果最佳。当细分表面修饰符用于含有大量三角形或长而不规则面片的网格时,可能会得到较差的结果,但当应用于结构良好、流畅的拓扑时,它能生成非常可预测的、平滑的形状。

什么是良好的拓扑?

良好的动画拓扑通常也适合细分,反之亦然。那么,什么是良好的拓扑呢?虽然没有绝对的规则,但有一些重要的原则。它是艺术和科学的结合。

尽量避免三角形和n边形。** 这是最重要的一点。虽然三角形在静态网格中没有问题,特别是当你不打算细分或在低多边形对象中使用时,如果你计划细分网格,尽量使用尽可能少的三角形,因为三角形在细分时不如四边形表现得好。同样,n边形在细分之前会被转换为三角形,导致同样的问题。

避免有很多边的极点。 极点是指三个、五个或更多边相交的顶点——也就是说,网格中一个偏离网格结构的点。像三角形一样,极点在细分网格时可能会产生伪影。拥有三个或五个边的极点并不算太糟——事实上,除非创建环形物体和网格,否则几乎不可能不创建一些极点——但拥有六个或更多边的极点在细分时表现较差。

在重要形状周围创建环路。 这使得你可以轻松选择、变形和动画化你的网格,同时确保它们能干净地细分。例如,在图 5-1 中,使用围绕眼睛流动的边缘环路使得调整其形状变得更加容易。

让边缘与形状对齐。 如果你的对象大致是圆柱形的,网格的边缘应该沿着其周长和长度流动。如果你的对象大致是立方体形状,应该从一个立方体开始,并添加环形切割。一般来说,尝试创建一种与所要创建的形状“纹理”一致的网格结构,如图 5-2 所示。

处理困难的拓扑

上述规则很简单,但你可能会遇到一些麻烦,尤其是在尝试从模型中消除三角形和极点时。以下是处理困难拓扑的一些技巧:

提前规划。 大多数拓扑问题只需要提前规划就能避免。例如,在制作蝙蝠生物的基础网格时,我们确保了手臂和腿部的环路中有八个顶点:这样在连接手部时非常方便,因为在桥接空隙时没有多余的边需要连接。以 2 的幂(8、16 或 32)来思考往往是一个不错的方式,但无论如何,创建边环时尽量保持偶数。如果你是 3D 建模新手,提前在照片或概念图上草图化你的期望网格会很有帮助,可以使用 GIMP 或者纸上绘制,如图 5-3 所示。

两个三角形组成一个四边形。 你可以将两个相邻的三角形连接成一个四边形,一举两得。要自动将多个三角形转换为四边形,选择你的网格并按下 ALT-J,将合适的三角形对转换为四边形。

拓扑操作的注意事项:避免三角形 1,避免极点 2,围绕重要形状创建环路 3,并且让边与形状对齐,而不是与之相对 4。图 5-2. 拓扑操作的注意事项:避免三角形 1,避免极点 2,围绕重要形状创建环路 3,并且让边与形状对齐,而不是与之相对 4。

旋转边缘以移动三角形。 要旋转或“旋转”一条边,选择它并按 CTRL-E▸旋转边缘顺时针/逆时针(顺时针/逆时针)。这将重新排列该边周围的面,从而允许你移动三角形。你可以将这个技巧与上面提到的连接相邻三角形的技巧结合使用:通过旋转边缘将两个三角形组合在一起,你可以消除它们,如图 5-4 所示。

提前草图化你的拓扑可以帮助你避免困难。图 5-3. 提前草图化你的拓扑可以帮助你避免困难。

添加边环。 添加一个结束于三角形的环切(CTRL-R)会将该三角形转换为四边形(或两个三角形,你可以将它们合并为一个四边形)。如果新的边环终止于开放边缘,你就消除了这个三角形。如果你的网格是封闭的,它可能只是将三角形移到边环的另一端,如果两端都有三角形,你可以一次去掉两个(三角形)(参见图 5-5)。

将极点分成两部分。 一个具有六条边的极点可以通过在两半之间添加一个面环来轻松分裂为两个五边形极点。为获得更干净的拓扑,添加更多的面,如图 5-6 所示。

切割、溶解和连接。 切割工具(K)允许你任意切割边缘和面,以获得你想要的拓扑。你可以将这个工具与溶解操作符(X▸溶解)结合使用,以去除顶点的边缘,而不删除它们所属的面。然后使用连接边缘操作符将已经是面一部分但没有连接边缘的两个顶点连接起来。这些工具非常适合任意重组复杂的拓扑。

旋转边缘将两个三角形带到一起,可以消除它们。图 5-4. 旋转边缘将两个三角形带到一起,可以消除它们。使用环切工具(CTRL-R)添加边环可以去除三角形。如果你在两个三角形之间添加一个,你可以一举去掉它们两个。或者,你也可以删除已经存在的一个边环,达到类似的效果。图 5-5. 使用环切工具(CTRL-R)添加边环可以去除三角形。如果你在两个三角形之间添加一个,你可以一举去掉它们两个。或者,你也可以删除已经存在的一个边环,达到类似的效果。添加面以去除极点。将一个面环添加到六个极点之间,将其减少为两个五边形极点,这样细分效果会更加干净。图 5-6. 添加面以去除极点。将一个面环添加到六个极点之间,将其减少为两个五边形极点,这样细分效果会更加干净。隐藏在耳朵角落的这个三角形不太可能引起太多问题。图 5-7. 隐藏在耳朵角落的这个三角形不太可能引起太多问题。

如果你无法去除它,就隐藏它。 如果你真的无法去除某个三角形,可以把它隐藏到不会引起麻烦或产生细分伪影的地方,比如耳朵或鼻孔内,或者某个不需要变形的非常平坦的地方,如图 5-7 所示。

当不确定时,从头开始。 如果你曾经做成过某件事,通常你可以再次做到,并且做得更好。可能需要一些额外的时间,但通常是值得的。

丛林神庙的细节建模

丛林神庙的场景已经被初步搭建完成,接下来需要进行精细化处理,使其更加接近最终效果。这个过程需要我思考想要创建的形状,并使用这些形状来建模出更复杂的网格,最终渲染出想要的效果。

墙壁

对于丛林神庙的主墙,我首先布置了立方体来形成墙壁的石块(参见图 5-8)。从最底层开始,我手动添加每一块,并修改它们的长度以增加一些变化。接下来,我通过复制和缩放立方体,搭建了更高的层次。为了增加更多变化,我随机选择一些方块,将它们从墙体中移入或移出,并稍微旋转它们,使墙面的表面显得更加不平整。将初步搭建阶段的基础墙体留在新的方块后面,为方块之间的缝隙提供了填充物。

为了给方块添加斜边(参见图 5-8),我对其进行了几次细分(在编辑模式下选择所有[A],然后按 W▸Subdivide),接着添加了 Bevel 修改器,并将“限制”方法设置为角度。限制将倒角仅应用于具有锐角的面之间的边缘,并且将角度设置为大约 45°可以得到一个圆滑的倒角,使方块的角部比边缘更重。边部保持不变。

注意

应用 Bevel 修改器时,可能会出现将几何体转化为三角形并创建大量重复顶点的错误。为了解决这个问题,在完成建模后再应用修改器。然后,在编辑模式下,选择所有内容(A)并使用“移除重复顶点”(W▸Remove Doubles)操作来消除重复的顶点。接下来,使用“将三角形转换为四边形”(ALT-J)操作,将网格恢复到没有那么多三角形的更干净的状态。你也可以在编辑模式下对单独的边和顶点进行倒角,使用 Bevel 操作符(W▸Bevel)。

为墙壁创建石块。首先,我使用简单的立方体构建墙壁,通过缩放和移动来搭建墙体。接下来,我通过添加一些基本的细分并粗化一些边缘来稍微破坏墙壁。最后,我使用角度限制的 Bevel 修改器对方块的边缘进行了倒角处理。图 5-8. 为墙壁创建石块。首先,我使用简单的立方体构建墙壁,通过缩放和移动来搭建墙体。接下来,我通过添加一些基本的细分并粗化一些边缘来稍微破坏墙壁。最后,我使用角度限制的 Bevel 修改器对方块的边缘进行了倒角处理。

对于这些方块的细节,我细分了一些方块,并添加了额外的特征,比如中间的裂缝、角落的缺口和分裂。我添加了环形切割或细分了特定的部分,并移动了顶点来创建裂缝、凹陷和缺口。因为网格不会被大幅度细分或变形,所以这里不需要避免三角形;它们不会造成问题。

为了防止方块看起来有棱角,我将它们的着色模式设置为平滑,然后添加了一个 Edge Split 修改器,在特定的边缘处拆分网格,以产生独立的表面(见图 5-9)。Edge Split 修改器将网格拆分成独立的部分,这样在平滑着色或应用进一步修改器时,部分之间的边缘会被保留下来。你可以设置 Edge Split 使网格沿着在编辑模式下标记为 Sharp 的边缘(CTRL-E▸Mark Sharp)或沿着面之间有足够尖锐角度的边缘进行拆分。仅使用 30° 的角度设置可以得到外观不错的方块。

我按照与墙壁相同的方法创建了其他附加的方块和铺路板,使用初始的立方体作为放置的指南,随后在新方块放置完毕后删除了旧的几何体。最终的方块如图 5-10 所示。

最终的墙壁,使用了倒角和边缘分割修改器,使其具有倒角边缘和平坦的侧面图 5-9. 最终的墙壁,使用了倒角和边缘分割修改器,使其具有倒角边缘和平坦的侧面。

雕像

我用相当基础的构建块和概念艺术作为指南,在丛林神庙门口的角落建模了雕像。每一部分都从一个简单的原始体—通常是一个立方体或圆柱体—开始,通过变换、细分和挤压来创建所需的形状。

如图 5-11 所示,每个部分都相当简单。为了添加倒角边缘,我使用了与墙壁和地面块相同的方法。通过在一些部分的末端添加环形切割(例如,在“腿部”与“手臂”末端),可以使这些边缘在倒角时保持其方形形状和锐角,而不会过度细分。

场景中的其他石块与墙壁采用相同的建模方式。图 5-10. 场景中的其他石块与墙壁采用相同的建模方式。

石雕

对于石刻符文,我使用概念艺术作为唯一的正投影视图,将其加载为背景图像,如第三章所讨论的那样。接着,从一个平面开始,我勾画出每个设计部分,尽可能保持主要使用四边形。然后,我将整个设计向下挤压,赋予其一定的厚度,并随后删除新面,仅保留设计的侧面和前面。通过在设计内部元素的形状上放置边缘,我能够将设计中的沟槽向下移动,创造出细节。

为了清理设计,我使用了折痕(见图 5-12)。通过添加 Subsurf 修改器并将边缘标记为折痕,您可以创建沿标记边缘处具有锋利折痕的光滑物体。折痕让我能够在不增加多余多边形的情况下,为模型添加紧凑的折痕。然后在 Subsurf 修改器后添加 Edge Split 修改器,生成了光滑的网格,并在折痕边缘处形成了清晰的过渡。

雕像模型被分解成其组成部分。大部分来自简单的立方体或圆柱体。图 5-11. 雕像模型被分解成其组成部分。大部分来自简单的立方体或圆柱体。

完成雕刻后,我开始将它们放入我的场景中,通过用雕刻符文的行替换墙壁上的一些石块行来实现。为此,我将所有六个符文排成一行,然后使用数组修改器将设计重复,填充整个墙壁的长度(参见图 5-13)。

标记边缘

网格的边缘可以通过多种方式标记或标注,每种方法告诉不同的 Blender 操作符和修改器如何对网格进行操作。在编辑模式下,边缘操作符(包括标记)快捷键是 CTRL-E。边缘可以标记为锐利,这样像倒角和边缘分割这样的操作仅对这些边缘起作用。它们还可以被赋予折痕值,无论是在 CTRL-E 菜单中,还是使用 SHIFT-E,这告诉 Subsurf 修改器在进行细分时不平滑这些边缘,从而形成漂亮的锐利边缘。

创建石雕。我首先在概念艺术上将雕刻分解成单独的部分,主要使用四边形。接着,我将一些边缘标记为折痕(紫色),以便在细分时形成锐利的边缘。最后,我添加了 Subsurf 和 Edge Split 修改器,使雕刻表面光滑,同时在标记的边缘处保持锐利的边缘。这样得到的效果比使用支撑环路生成锐利边缘要少使用多边形且拓扑更简单。图 5-12. 创建石雕。我首先在概念艺术上将雕刻分解成单独的部分,主要使用四边形。接着,我将一些边缘标记为折痕(紫色),以便在细分时形成锐利的边缘。最后,我添加了 Subsurf 和 Edge Split 修改器,使雕刻表面光滑,同时在标记的边缘处保持锐利的边缘。这样得到的效果比使用支撑环路生成锐利边缘要少使用多边形且拓扑更简单。

锐利边缘与细分

增加折痕是获得锐利折痕的其中一种方法;另一种方法是使用支撑环路。支撑环路的原理是将两个或更多的边环路紧密地放置在形状的边缘处。当网格被细分时,由于额外的几何体限制了光滑度,新的几何形状无法像平常一样平滑,从而使角落更加锐利(参见图 5-14)。

这两种方法各有其适用场景。当你试图创建漂亮的倒角边缘并且需要精细控制物体外观时,支撑环是更好的选择。然而,如果你的目标是创建非常锋利的折痕,或者你正在处理简单的模型并且没有太多额外的拓扑结构,那么折痕方法更可取。你可以根据具体情况混合使用这两种方法。

支撑环在确保物体细分并呈现出你想要的形状时也很有用。例如,图 5-15 展示了一个应用了 Subsurf 修饰器并显示出线框的立方体。没有支撑环时,修饰器将其变成一个球体。当在面中部增加额外的支撑环时,物体更像一个立方体,将这些支撑环移向立方体的边缘,可以使角落更加锐利。这在建模各种表面时非常有用。

使用阵列修饰器重复石雕多次图 5-13. 使用阵列修饰器重复石雕多次!在处理细分曲面时获得锐利边缘的两种方法。顶部:未修改的网格,带有轻微坡度并应用了细分曲面修饰器。中间:添加支撑环以获得锐利边缘。底部:折痕边缘以获得锐利边缘(没有额外的几何体)。图 5-14. 在处理细分曲面时获得锐利边缘的两种方法。顶部:未修改的网格,带有轻微坡度并应用了细分曲面修饰器。中间:添加支撑环以获得锐利边缘。底部:折痕边缘以获得锐利边缘(没有额外的几何体)。从左上角顺时针:一个没有支撑环、一个支撑环、两个间隔较远的支撑环,以及两个均匀间隔的支撑环,环绕在每一面中部。随着边缘环越来越靠近边缘,角落变得更加锐利。图 5-15. 从左上角顺时针:一个没有支撑环、一个支撑环、两个间隔较远的支撑环,以及两个均匀间隔的支撑环,环绕在每一面中部。随着边缘环越来越靠近边缘,角落变得更加锐利。

植物

该场景中的植物很简单。为了创建它们,我首先从平面建模了几种不同类型的叶子;我将平面缩放并细分成叶状形状(见图 5-16)。接下来,我开始复制这些不同的叶子对象并将它们放置在场景中。通过使用 ALT-D 创建链接副本,你可以创建多个相同网格的副本,当你更改其中一个副本时,所有副本都会同步更新,这使得创建 UV 和纹理变得更加容易,因为你只需要为每种植物类型创建一次。通过在对象模式下缩放和旋转这些副本,并将它们放置在场景中,你可以在不创建大量不同网格的情况下,表现出多样性的效果(见图 5-17)。

在对象模式下有两种复制网格的方法。一种是创建一个简单的副本,它成为一个独立的对象(SHIFT-D);另一种是复制一个链接副本(ALT-D),它保留与原始网格相同的数据和材质,并与之同步更新。你仍然可以在链接副本上应用不同的修饰符,并在对象模式下独立移动、缩放和旋转它,但它的网格数据和材质以及其他数据会与原始对象保持链接;如果你编辑其中一个,所有更改都会同时应用到两个对象。

这两种方法对于不同任务都非常有用。基本上,你应该在以下情况使用简单的复制:

  • 你希望独立编辑新的对象。

    这些植物都是用非常简单的网格制作的(显示应用了细分曲面修饰符)。图 5-16。这些植物都是用非常简单的网格制作的(显示应用了细分曲面修饰符)。

  • 你计划将新的网格与场景中的其他元素重新组合。

  • 你希望将旧网格保留为备份或备用选项。

如果以下情况适用,你应该使用链接副本:

  • 你希望创建多个单一对象的副本,并且不想单独编辑它们。

  • 你希望多个对象共享一组 UV 和材质。

复制不同的植物组件并将它们放置在场景中。通过改变副本的缩放和旋转,可以使它们具有明显的独特性。图 5-17。复制不同的植物组件并将它们放置在场景中。通过改变副本的缩放和旋转,可以使它们具有明显的独特性。

当你选择一个链接的重复对象时,你可以通过检查其对象数据属性面板中的数据块信息,看到有多少用户(副本)在使用相同的数据块(参见图 5-18)。你还可以通过点击数据块名称旁边的数字图标来使对象变得唯一。将对象设为唯一会创建一个新的网格数据块,它现在独立于原始副本,你可以单独编辑对象的网格并更改其材质(就像它是一个简单的副本一样)。

IvyGen

Blender 的 IvyGen 插件是一个程序生成器,允许你快速创建类似常春藤的藤蔓,爬满你的场景(参见图 5-19)。要使用它,首先从用户偏好设置编辑器中启用它(文件用户偏好设置),然后在插件选项卡下的“添加曲线”类别中找到它。启用插件后,你应该可以通过添加菜单(在对象模式下按 SHIFT-A▸曲线添加常春藤到网格)在选定对象上生成常春藤。

检查网格数据块的用户数量。点击数据块名称旁的数字(此处为 4)以创建一个新的副本,你可以独立编辑。F 图标将创建该数据块的“虚拟”用户,这将保存对象并防止它在保存 .blend 文件时被删除,即使场景中没有该网格的实例。图 5-18. 检查网格数据块的用户数量。点击数据块名称旁的数字(此处为 4)以创建一个新的副本,你可以独立编辑。F 图标将创建该数据块的“虚拟”用户,这将保存对象并防止它在保存 .blend 文件时被删除,即使场景中没有该网格的实例。使用 IvyGen 生成程序化藤蔓。当使用 IvyGen 时,藤蔓的生长参数位于左侧的工具选项区域。为了清晰起见,我在这里为叶子添加了绿色材质,为藤蔓添加了棕色材质。图 5-19. 使用 IvyGen 生成程序化藤蔓。当使用 IvyGen 时,藤蔓的生长参数位于左侧的工具选项区域。为了清晰起见,我在这里为叶子添加了绿色材质,为藤蔓添加了棕色材质。

为了让 IvyGen 生成藤蔓,它需要一个单一的网格对象供藤蔓生长,因此我们需要创建一个新网格,包含我们希望藤蔓生长覆盖的所有几何体。为此,选择所有你希望藤蔓覆盖的对象,复制它们(SHIFT-D),应用任何修改器(在对象模式下使用转换为网格操作符——ALT-C),并将它们合并为一个对象(CTRL-J)。结果应该是一个对象。如果你的场景中有很高的多边形数量,你可能想跳过应用那些大幅增加多边形数量的修改器,以便为藤蔓生长提供一个低多边形的网格;不幸的是,这可能会牺牲一些藤蔓生长的精确度。

一旦你完成了藤蔓的生长,删除这个副本或将其移动到另一个层级,以免它妨碍你的操作(M)。

接下来,将 3D 光标放置在你希望藤蔓开始生长的位置,并通过添加曲线菜单(SHIFT-A▸添加曲线将藤蔓添加到网格)激活 IvyGen。IvyGen 允许你调整多个参数来决定藤蔓的外观,其中最重要的参数是最大藤蔓长度选项,它决定藤蔓扩展的距离,藤蔓大小和叶子大小选项,它们决定藤蔓的粗细和叶子的大小。叶子概率选项决定叶子的密度。其他选项,如浮动长度和附着长度,决定藤蔓从墙面延伸的距离以及它们如何受到重力的影响。

不断调整 IvyGen 的设置,并按下更新藤蔓按钮,直到你对藤蔓的外观满意为止。请记住,设置较高的最大藤蔓长度时,藤蔓生成的时间会更长。此外,如果你想覆盖较大的区域,最好反复运行 IvyGen,使用不同的起始位置来创建多个藤蔓网格。例如,在丛林神庙场景中,我将起始位置隐藏在场景的几个角落,然后让藤蔓从这些地方生长出来。你可以在图 5-21 中看到最终效果。

通过先在主地面平面网格中创建凹陷,然后添加第二个平面与其相交,从而向场景中添加水坑图 5-20。通过先在主地面平面网格中创建凹陷,然后添加第二个平面与其相交,从而向场景中添加水坑!最终建模的丛林神庙场景图 5-21。最终建模的丛林神庙场景

IvyGen 还会为它生成的叶子和藤蔓自动创建 UV 坐标,并为它们分配材质槽。这项功能将大大加快后续在藤蔓上进行纹理和材质分配的速度。(有关 UV 展开和材质的更多信息,请参见第八章和第十二章。)

地面/土壤

为了让地面看起来更有趣,我将其细分了几次,并使用雕刻工具稍微弄得粗糙一些,具体内容我将在第六章中详细讨论。接着,我添加了一个新的平面(这次保持它没有细分并且完全平坦),并将其放置在地面平均高度下方,以便一些较深的区域能够穿透平面。这产生了地面上水坑的效果(见图 5-20)。

此外,我通过创建一个平面,将其细分几次,并使用比例编辑工具添加突起,简单地在场景的角落创建了土堆。通过将这一过程与一些雕刻结合起来,在块体和其他元素之间的裂缝与角落处堆积土壤,我能够为周围环境赋予一种古老的外观。最终的场景显示在图 5-21 中。

注意

尽管以下内容延续了已经讨论过的建模技巧,我们所创建的部件将与我们在第六章和第七章中雕刻和重新拓扑的网格一起使用。你可以先跟随这一部分,或者跳到关于雕刻和重新拓扑的第六章和第七章,然后稍后再回来继续这一部分。

建模蜘蛛机器人的细节

对于蜘蛛机器人,我需要创建其他机械部件,这些部件与我将在第六章和第七章中雕刻和重新拓扑的主体和腿部零件组合后,将完成整个模型。目标是创建一些可行的机械外观部件,例如关节、电线等,这些部件将完善蜘蛛机器人的外观。

关节

所有的关节都采用了相同的基本模板进行设计:中央部分使用圆柱体,使其能够自由移动,连接腿部的支撑杆从中伸出(见图 5-22)。为了制作支撑杆,我从一个曲线对象开始,制作出基本形状的二维曲线,使用拉伸(Extrude)设置赋予它厚度,然后将其转换为网格。Blender 默认的曲线填充拓扑充满了瘦长的三角形,这些三角形无法很好地细分,因此我删除了这些面,手动填补了前后表面,以得到更好的拓扑结构(见图 5-23)。

腿部关节。两个关节都是通过将简单部分做成圆柱体、将较长部分做成曲线(转换为网格)来创建的。在圆柱体部分的边缘添加支持环,使得它们可以更好地细分。图 5-22。腿部关节。两个关节都是通过将简单部分做成圆柱体、将较长部分做成曲线(转换为网格)来创建的。在圆柱体部分的边缘添加支持环,使得它们可以更好地细分。

电线

这些线条都是由围绕腿部和其他区域建模的 3D Bézier 曲线创建的,以增加趣味性并连接各个部分(参见图 5-24)。为了增加更多细节,我将一些线条转换为网格,以便添加一些循环切割和挤出(参见图 5-25)。

对于一些更复杂的线条,我结合了 Array 和 Curve 修改器,将单个网格沿曲线复制(参见图 5-26)。首先,我建模了一个单一单元(图 5-26 中的环形物体),然后添加了 Array 修改器和 Curve 修改器,将该单元复制并沿曲线变形成曲线的形状。

使用曲线创建腿部支撑元素,然后用更干净的拓扑填充生成网格的平面表面图 5-23. 使用曲线创建腿部支撑元素,然后用更干净的拓扑填充生成网格的平面表面为腿部底部创建线条。这些是使用 3D 贝塞尔曲线制作的,并通过对象数据面板中的 Bevel 设置增加了厚度。图 5-24. 为腿部底部创建线条。这些是使用 3D 贝塞尔曲线制作的,并通过对象数据面板中的 Bevel 设置增加了厚度。最初,我使用曲线建模这些管道。然后,我将曲线转换为网格,以便我可以添加一些环形切割并缩放它们,形成凹槽。图 5-25. 最初,我使用曲线建模这些管道。然后,我将曲线转换为网格,以便我可以添加一些环形切割并缩放它们,形成凹槽。一个更复杂的曲面对象,通过结合数组修改器来复制基础单元(环形物体)和曲线修改器来沿曲线变形结果堆栈。我还使用了边缘分割修改器和镜像修改器,将结果镜像到模型的另一侧。图 5-26. 一个更复杂的曲面对象,通过结合数组修改器来复制基础单元(环形物体)和曲线修改器来沿曲线变形结果堆栈。我还使用了边缘分割修改器和镜像修改器,将结果镜像到模型的另一侧。

耦合

对于身体和腹部之间的耦合,我最初使用曲线创建了形状,然后将其复制并将副本转换为网格(ALT-C)。由于 Blender 默认的曲线填充会生成丑陋的长三角形,且变形效果不佳,我通过手动删除内部面并手动填充形状来修复拓扑(见图 5-27)。

创建联接。我将曲线对象(右)转换为网格,然后删除了一些边缘周围的边环,以均匀分布面片。我手动填充了内面的更好拓扑。接着,我使用比例编辑,在中间加入了一个弯曲。图 5-27。创建联接。我将曲线对象(右)转换为网格,然后删除了一些边缘周围的边环,以均匀分布面片。我手动填充了内面的更好拓扑。接着,我使用比例编辑,在中间加入了一个弯曲。

其他部分

我使用 Blender 的吸附工具放置了蜘蛛机器人眼睛:我打开了面吸附,进入对象模式添加了球体,然后将它们吸附到头部表面。獠牙则简单地是立方体,经过拉伸并添加了环形切割,以在弯曲处形成收缩。我使用 Blender 的建模工具和重新拓扑技术进行了进一步的装饰。(参见第七章了解这些部分和完成的模型。)

模型化蝙蝠生物的细节

最终的蝙蝠生物模型只会包含一个用于身体的网格,我们将在第六章中讨论,但它还需要眼睛、牙齿和指甲。由于这些部分不会经过雕刻或重新拓扑,我直接制作了最终网格。

眼睛

模型化眼睛有许多方法,但通常情况下,先建模眼睛的一些内部结构有助于让渲染出的眼睛能够真实地反射光线和反射。我为眼睛制作的模型(见图 5-28)包括外层和内层,外层将具有透明材质,构成眼角膜和眼睛的反射表面,内层则稍后会贴上瞳孔、虹膜和眼白(巩膜)纹理。

内外层的制作方式相同,从 UV 球体开始(在对象模式下按 SHIFT-A▸Mesh▸UVSphere),然后使用比例编辑将球体的末端推入内层部分,或将其稍微推出去,形成角膜的凸起。对于内层部分,在使用比例编辑将表面推入后,我从中最中央的面挤出,创造了一个凹陷的瞳孔。对于角膜,我删除了 UV 球体末端的三角面,并用一个细分平面替换它们,以避免在添加细分曲面修改器时产生伪影(见图 5-27 的左侧)。使用 To Sphere 操作符(ALT-SHIFT-S)可以帮助你在调整拓扑后恢复眼睛的球形。

牙齿和指甲

牙齿和指甲都是从立方体派生出来的(见图 5-29)。为了制作牙齿,我从一个立方体开始,将其缩小,然后从底部挤出。通过反复缩小牙齿底部然后再次挤出,我将牙齿雕刻成尖点。接着,我调整并复制牙齿,使用镜像修改器填充嘴巴的另一侧。

对于指甲,我稍微压扁了立方体,在中间加了一条环切,并稍微将其移动出来,给指甲一些曲线。然后,我重复了制作牙齿时的相同过程,将它们雕刻成尖点,然后手动放置并复制所需的数量。

建模眼睛。左:外层。注意角膜末端的网格拓扑。中:内层。右:两者合并后的线框视图,侧面展示。图 5-28。建模眼睛。左:外层。注意角膜末端的网格拓扑。中:内层。右:两者合并后的线框视图,侧面展示。建模牙齿和指甲图 5-29。建模牙齿和指甲

回顾

这完成了我们对丛林神庙场景建模的讨论,并为蜘蛛机器人和蝙蝠生物项目添加了一些额外的细节。你已经学会了如何使用 Blender 的多种建模工具,包括通过修改器修改现有网格,应用这些修改器的结果以便能够编辑结果,使用曲线建模并调整结果,以及从零开始使用基本体和挤压来建造复杂的形状。

在下一章中,我们将继续使用 Blender 中的多重分辨率修改器和雕刻工具来雕刻,创建详细的有机和硬表面形状。在第七章中,你将学习如何使用 Blender 的建模工具对这些形状进行重新拓扑,以便创建你的模型。

第六章 雕刻

将雕刻工具加入 Blender 的工具库大大拓宽了我们创作的范围,并提升了我们能为作品添加的细节水平。此外,雕刻还允许我们在创建模型的过程中拥有更多自由;在其引入之前,我们必须辛苦地创建拓扑以支撑模型的每个元素。现在,通过雕刻,我们可以从一个更简单的网格开始,使用多分辨率细分来提供支撑我们所需形态的控制力,然后再担心拓扑问题。

在本章中,我们将介绍 Blender 的雕刻工具,并展示如何使用雕刻模式。我们将探讨如何自定义雕刻模式的外观,以及使用这些工具让你在雕刻时充分发挥 Blender 的潜力。接下来,我们将开始使用这些工具在第四章中创建的基础网格上进行雕刻,将它们从简单、低分辨率的基础网格转变为高度细致的雕刻模型。最后,我们将探讨一些雕刻的基本原则。

雕刻模式

为了在 Blender 中进行雕刻,你需要进入 3D 视口中的雕刻模式,如图 6-1 所示。一旦进入雕刻模式,确保你已打开工具架(T),因为这里包含了 Blender 所有雕刻模式的选项和工具。

视口左侧的熟悉工具架现在是雕刻笔刷选项的所在地,在这里我们可以选择不同的笔刷并调整其设置。笔刷选项包括笔刷类型;是否使用图形平板的压力输入(如果有图形平板,建议启用);以及笔刷的大小、渐变和形状。图 6-1 还展示了如何设置 3D 视口以便更轻松地进行雕刻——你使用 Blender 的 GLSL 阴影并启用仅渲染来仅显示将被渲染的对象。这样可以让网格和场景中的任何多余对象(例如灯光和相机)在雕刻过程中不干扰你。我们将在自定义 3D 视口中更详细地讲解这些设置。

雕刻模式,视口显示模式设置为纹理化(使用 GLSL 着色)并启用仅渲染。工具架位于左侧,包含大多数 Blender 的雕刻工具和选项。图 6-1. 雕刻模式,视口显示模式设置为纹理化(使用 GLSL 着色)并启用仅渲染。工具架位于左侧,包含大多数 Blender 的雕刻工具和选项。

画笔选项

画笔选项显示在图 6-1 的左侧。点击选中的网格,在 3D 视口中开始雕刻。

按照顺序浏览图 6-1 中工具架的面板列表(一些面板已折叠,但其标题都是可见的),我们有以下内容:

画笔。在这里,您可以选择使用哪种画笔;画笔的属性,如半径、强度和平滑度;画笔是否应该增加或减少表面;以及一些特定于单个画笔的选项。您还可以通过点击+图标从画笔选择器创建新画笔。这样会复制当前画笔,创建一个可以单独修改的副本。

纹理。此面板允许您创建具有独特形状和纹理的笔触,或将图案拖拽到网格表面。画笔纹理利用纹理的亮度来决定刷笔的施加强度。尽管您可以使用彩色图像作为画笔,但通常更常见的是使用黑白纹理,这样更容易判断它们的效果。(为了区分画笔纹理和其他类型的纹理,我通常会将它们称为alpha纹理。)

工具。虽然画笔选择器中的画笔有像“粘土”和“平滑”这样的名称,您可以根据需要更改这些名称。任何画笔的实际行为由您在此面板中的下拉菜单选择决定,该菜单让您可以从 Blender 提供的所有基本工具类型中进行选择,然后进一步自定义它们。

笔触。该面板包含将鼠标或平板笔划转换为雕刻笔划的选项。大多数画笔的默认方法,空间,会创建均匀的画笔笔触。锚定允许你点击并在网格上拖动出一个大的笔触,该笔触围绕起始点并以你拖动的距离为半径。这个选项在拖出纹理以创建表面细节时非常有用。另一个选项,平滑笔触,会使你的笔触在光标后方滞后,从而产生干净、平滑的曲线。

曲线。该面板让你选择画笔的衰减曲线(参见图 6-2),并精细控制笔触深度如何从中心渐变。你可以通过拖动和点击添加点到曲线编辑器中手动定义曲线,也可以选择曲线编辑器下方图标中的预设之一。默认的平滑曲线适用于大多数画笔,但在拖动 alpha 时,最大曲线较为实用。对于细小褶皱,锐利曲线是最佳选择。

不同的衰减设置图 6-2. 不同的衰减设置

选项。该面板包含主要是杂项选项。一项选项是是否限制雕刻到单独的轴上。另一项选项决定是保持画笔大小和强度统一,还是为每个画笔单独设置。(保持统一的画笔大小通常不会造成混乱,但通常更倾向于为每个画笔单独选择强度,因为你可能希望不同的工具有不同的强度。)

对称。就像你在正常网格中使用镜像修改器一样,你可以在雕刻时启用对称,以保持画笔笔触的对称性。这对很多雕刻操作非常有用,因为大多数有机生物通常是大体对称的。

外观。该面板包含一些美学选项,用于更改画笔光标的颜色或为画笔添加自定义图标。

画笔类型

默认的画笔类型可以在工具面板中找到(参见图 6-3),以下将讨论这些画笔。某些画笔有热键(括号内显示),允许你快速切换你创建的该类型画笔。几乎所有画笔(仅抓取推动大拇指蛇钩除外)也有减法模式(ALT),通常执行与加法模式相反的操作。

气泡。这种画笔类型会在网格表面创建气泡般的膨胀块。这种选项是绘制膨胀画笔之间的混合。加法模式会使其膨胀,而减法模式则会将其切割进去。

工具面板让你在不同的基础刷子类型之间进行选择。图 6-3。工具面板让你在不同的基础刷子类型之间进行选择。

黏土 (C)。最重要的刷子类型之一,黏土刷均匀地构建网格表面,首先填补凹陷,然后从网格表面平滑地堆积。在整个雕刻过程中你都会发现这个刷子类型非常有用,但在添加细节时要小心,因为它会在细节上堆积(请改用绘制刷)。加法模式会向外堆积,而减法模式则会在网格上雕刻。

褶皱 (SHIFT-C)。此刷类型结合了绘制和捏合刷类型,先在网格上绘制一条笔触,然后捏合它使其变得更紧。它在减法模式下最为有用,非常适合在角色皮肤上创建皱纹和褶皱,但也可以在加法模式下使用,通过沿着形状的边缘描绘来创建锐利的边缘。

绘制 (D)。绘制刷类型从表面拉出一条笔触,移动表面而不改变下面的细节。如果在雕刻大规模形态时过早使用绘制刷,它可能会带来困难,因为它可能导致表面呈现较为突兀的外观(这也是为什么黏土刷更有用的原因)。然而,在后期添加细节时,绘制刷类型非常实用。

填充。此刷类型会填补网格表面上的凹陷区域,而不会接触到峰值。它对于平滑和填充网格中的凹面区域非常有用,而不会影响周围区域。在减法模式下,这个刷子会加深凹陷,而不是填充它们。

平整。平整刷结合了填充和刮除刷类型,填补凹陷并刮除峰值,从而创建更平滑的表面。与平滑刷类型不同,这个刷子除了平滑表面之外,还会将表面压平。在减法模式下,这个刷子类型会夸大凹陷和峰值,而不是将它们压平。

抓取 (G)。此刷类型会抓住刷子下方的区域并让你将其拖动。你会发现这是一个非常有用的刷子类型。

膨胀 (I)。膨胀刷类型以类似于编辑模式下收缩/膨胀操作符的方式膨胀网格。膨胀刷对于建立体积非常有用,有时也是绘制或黏土刷的良好替代品,但一定要保持刷子的力度较低,否则可能会造成一些损害。另外要注意,除了推动表面向外(或向内)之外,这个刷子通常会使面变大,减少修改区域能够承载的细节量。在减法模式下,此刷子会缩小网格,通常会导致网格自相交。使用时请小心。

图层 (L)。此刷类型从网格表面构建均匀的层,或者在减法模式下减去均匀的层。

推拉。像抓取刷子类型一样,这种刷子类型只会稍微推动网格,你可以继续移动光标到其他区域,以便对它们进行推拉。

捏合(P)。这种刷子类型将刷子下的面拉得更紧,形成捏合效果。这个刷子对于收紧褶皱和皱纹或在硬表面雕刻时锐化形状之间的边缘非常有用。在减法模式下,这个刷子会将面拉得更远。

旋转。这种刷子类型会围绕网格的原点旋转刷子下的区域。我发现这种刷子类型其实没什么用处。

刮削。刮削刷子类型会刮去网格的峰值,而不触及谷底。这个刷子类型非常适合用来建立平面、去除肿块和凸起,以及平滑重叠形态之间的过渡。在减法模式下,它会将峰值堆积起来,而不是将其刮去。

蛇钩。这种刷子类型允许你从网格中拉出类似触手的表面。由于下面的拓扑可能不太支持这种操作,因此需要谨慎使用这种刷子类型。这个选项适合用来拉出类似头发丝或角的峰值,特别是如果你计划在后续修正难看的拓扑时使用。

拇指。拇指刷子类型在网格表面下滑动,但仅限于表面朝向的平面。这类似于抓取刷子,不同之处在于它只允许你移动网格表面的内容,而不是将其推向或拉回内外。

Blender 刷子面板中的所有刷子(见图 6-4)都是上面列出的刷子类型的变体,通过各种调整使每个刷子产生略微不同的效果。例如,Polish(抛光)刷子是 Flatten(平坦)刷子的变体,开启了 Autosmooth 设置(它为任何刷痕添加了平滑效果)。

Blender 默认的雕刻刷子图 6-4. Blender 默认的雕刻刷子

创建自定义刷子

现在我们已经看过了一些 Blender 内建的刷子,让我们来看看如何创建自定义刷子,以更好地满足我们的需求。如前所述,Blender 的雕刻刷子都是在初始刷子类型的基础上进行变种的;它们的区别在于设置的不同,这些设置影响了刷子的功能。你会频繁调整一些设置,比如刷子的半径和强度。如果你经常使用一组特定的刷子设置,最好为它们创建一个专属的刷子。

要创建一个新的雕刻画笔,选择一个现有的与您想要创建的画笔相似的画笔,然后按画笔选择器中其名称旁边的 + 图标,创建一个新的、独特的画笔。现在,您可以通过修改画笔的强度、分配纹理和笔画选项等来修改新画笔。

为了演示,我们创建几个自定义画笔,这些画笔在雕刻时会非常有用。

粘土管

粘土管画笔(参见图 6-5)非常适合早期的雕刻工作。它的工作方式类似于传统的粘土雕刻家,他们通过向雕塑表面添加粘土条来构建形状。为了在 Blender 中创建模拟这一技巧的画笔,按照以下步骤操作:

  1. 复制默认的粘土画笔。

    粘土管画笔图 6-5. 粘土管画笔

  2. 在纹理面板中,通过点击纹理选择器中的 + 图标,添加一个新纹理作为画笔的 alpha。这会创建一个新的纹理并将其分配给画笔。给它起个有用的名字,比如粘土管

  3. 要编辑此纹理,请打开属性编辑器的纹理选项卡(参见图 6-6),确保已选择画笔图标来编辑画笔纹理。

  4. 在类型下拉菜单中,选择图像或视频,然后通过从图像面板打开或添加图像来选择一个作为画笔纹理。对于这个画笔,我在 GIMP 中创建了一个非常简单的、略微模糊的白色方形,背景为黑色,随后将其作为画笔纹理加载。

  5. 加载纹理后,返回到 3D 视图工具架,并在工具架的纹理面板中设置画笔角度(如图 6-5 所示),将其设置为耙子,使 alpha 旋转以匹配笔画的方向。现在,我们将获得漂亮的方形笔画,并带有轻微的纹理,非常适合构建肌肉和皱纹等形状,或者快速阻塞大体积形状。

  6. 为了停止画笔的常规衰减,将衰减曲线设置为曲线面板中的平坦最大预设。

添加粘土管纹理图 6-6. 添加粘土管纹理

耙子

像粘土管画笔一样,耙子画笔(参见图 6-7)也基于传统雕刻。粘土雕刻家通常使用带齿的刮刀工具——耙子,刮去粘土表面以产生细腻的纹理和平滑的形状。在 Blender 中,耙子画笔在加法减法模式下都非常有效。

和 Clay Tubes 画笔一样,梳理画笔从复制默认的 Clay 画笔开始,然后添加自定义的 alpha,不过这次我们使用的是一排模糊的点或方块,如图 6-7 所示。要创建梳理画笔,请按以下步骤操作:

  1. 像上面对 Clay Tubes 画笔所做的那样,复制 Clay 画笔。

  2. 为画笔添加纹理,方法与 Clay Tubes 画笔相同。有关所需纹理的示例,请参见图 6-7。

  3. 将角度设置为(惊讶!)梳理,并在 3D 视口工具架的画笔面板中启用自动平滑,将其值设置为大约0.25。(这为画笔笔触添加了一些平滑效果,以避免纹理失控。)

  4. 将画笔的衰减设置为平面(图 6-7)。

梳理画笔图 6-7. 梳理画笔

刮平

刮平画笔(参见图 6-8)可以在网格中创建平整、带棱面的表面。它非常适合雕刻 jagged 岩石和硬质、技术表面,以及快速建立有机模型中的清晰平面,之后你可以对其进行平滑和细化。

创建此画笔,请按照以下步骤操作:

  1. 复制刮平画笔。

  2. 通过点击新画笔选项旁边的锁定图标来锁定区域平面(如图 6-8 所示)。现在,当你开始画笔操作时,画笔下表面的法线将延伸贯穿整个笔触,形成一个平整的表面。

    刮平画笔图 6-8. 刮平画笔褶皱懒散画笔图 6-9. 褶皱懒散画笔

  3. 将画笔的平面偏移量设置为大约0.1(参见图 6-8),以使画笔更深入地切割表面。此设置决定了画笔在正值下对表面的影响深度,或在负值下将效果抬离表面。

尝试将该画笔的工具类型更改为 Flatten、Fill 或 Clay 工具,因为它们也适合这些设置。

褶皱懒散

这个画笔是标准褶皱画笔的一个变体。启用平滑笔触设置后,褶皱懒散画笔适用于创建长而平滑的褶皱。要创建褶皱懒散画笔,如图 6-9 所示,请按以下步骤操作:

  1. 复制褶皱画笔并启用平滑笔触

  2. 对于这个画笔和常规的 Crease 画笔,我喜欢将画笔的强度调到 0.6 到最大强度之间,并将 pinch 值调到大约 0.1 或 0.2。(我觉得默认的 pinch 强度有点大。)

拖拽 Alpha

拖拽 Alpha 画笔使用了锚定笔触设置,可以在网格表面拖拽 alpha 纹理,但除此之外,它只是一个基础的绘制画笔。你可以通过以下步骤创建此画笔,见 图 6-10:

  1. 复制 Draw 画笔并添加纹理。几乎任何纹理都可以使用;我选择了一个岩石的图像。

  2. 由于你可以在此画笔上使用各种纹理,因此不同的衰减曲线非常有用。对于自然内建衰减的图像,如 Clay Tubes 和 Rake 纹理(图像四周为黑色),你可以将曲线设置为平坦。对于你从照片或其他图像创建的没有自然衰减的纹理(图案覆盖整个图像),则使用一个预设曲线。预设曲线创建了一个平滑的过渡,避免了在网格上绘制时 alpha 纹理产生明显的边缘。

    拖拽 Alpha 画笔,图中使用了粗糙的混凝土 alpha 纹理图 6-10。拖拽 Alpha 画笔,图中使用了粗糙的混凝土 alpha 纹理

使画笔默认可用

为了默认加载你的自定义画笔,你需要将它们包含在默认的 .blend 文件中,这个文件会在每次启动 Blender 时自动加载。操作方法是,创建一个新的 .blend 文件,创建(或追加)你希望默认可用的画笔,然后保存修改后的文件(文件保存用户设置)。要追加到现有画笔中,请选择 文件追加(或 SHIFT-F1);然后选择你创建画笔的 .blend 文件,选择 画笔,挑选你想要的画笔,点击 追加。现在,每次你进行雕刻时,你的自定义画笔都可以使用了。

改善你的雕刻体验

要在雕刻模式下获得最佳效果,你需要稍微调整 Blender 的设置。目标有两个:确保在雕刻时获得最佳性能,并配置 Blender 的 3D 视图和材质,以便更容易看到画笔笔触在模型上产生的效果。

优化雕刻性能

当然,提升雕刻性能的最佳方式是使用一台性能强大的计算机,并配备大量的内存。如果你打算处理数百万个多边形,至少需要 4GB 的内存,但更多的内存肯定不会有坏处。但是,如果硬件升级不可行,以下是如何最大化你现有硬件性能的方法。

关闭其他程序。 如果你正在另一个 Blender 实例中进行渲染,或者同时在刻录 DVD,你的雕刻性能将会受到影响!

启用 VBO(顶点缓冲对象)。 打开 Blender 的用户设置(文件用户设置 或 CTRL-ALT-U),进入系统标签,勾选VBOs复选框。如果你的显卡支持 VBOs,这将提升 3D 视口的性能。

启用快速导航(Fast Navigate)。 你可以在 3D 视口工具架的选项下找到快速导航。启用快速导航后,当你移动或旋转 3D 视口时,模型会自动切换回较低的细分级别,从而加速雕刻时的导航速度。

在添加多分辨率(Multires)修改器之前进行细分。 如果你正在使用像我们在第四章中创建的相对密集的基础网格,你就不需要进行这一步骤。然而,如果你打算从一个立方体开始,建议先添加并应用细分曲面(Subsurf)修改器,再添加多分辨率修改器,这样可以加速雕刻过程。

这一效果之所以能够实现,是因为 Blender 在后台会根据刷子笔划覆盖了多少基础网格的面来判断需要更新网格的部分。例如,如果你的基础网格只有六个面,大多数笔划会影响到大部分面(至少六分之一),这会让 Blender 更新形状变得较慢。通过先进行细分,每次笔划将只影响基础网格中的较小部分面,Blender 更新的内容较少,从而加快了雕刻体验。

自定义 3D 视口

在雕刻时,我们通常只希望看到自己正在工作的部分,而不想被灯光和网格地面等干扰。要关闭这些干扰,打开 3D 视口中的属性区域(N),在显示面板中勾选仅渲染,以便在渲染时只显示网格和其他物体。你还可以从该面板关闭网格地面和坐标轴指南,这样即使在关闭仅渲染时它们也不会显示。启用仅渲染后,3D 视图的背景颜色会切换为在属性编辑器的世界设置标签中设置的背景颜色。雕刻时将其设置为深灰色或黑色会比较合适,但你也可以根据自己的喜好进行设置。

MatCap 材质

在雕刻时,你希望在 3D 视口中看到的网格效果能尽可能多地提供关于你正在雕刻的表面形状的信息。虽然 Blender 的 OpenGL 着色器已经做得相当不错(并且可以根据下面的说明对雕刻进行优化),但使用一种被称为MatCap材质捕捉的简称)的 GLSL 材质,它根据网格的法线对网格进行着色,可以提供更好的视觉效果和更美观的模型展示。

MatCap 图像使用一个预渲染(或绘制/拍摄)过的球体图像来为你的整个物体上色,将球体图像的阴影与网格的法线进行匹配。本章节中许多图形使用的 MatCap 图像见图 6-11。我将在第十二章中讲解如何创建材质,但现在我将概述如何创建 MatCap 材质。

MatCap 图像。Blender 使用你的物体法线将网格的阴影与球体的阴影匹配。图 6-11。MatCap 图像。Blender 使用你的物体法线将网格的阴影与球体的阴影匹配。

创建 MatCap 材质

要创建一个 MatCap 材质,请按照以下步骤操作:

  1. 选择你想应用材质的物体。

  2. 在属性编辑器的材质标签页中,通过点击+新建按钮添加一个新材质。这将创建一个具有默认设置的新材质。

  3. 你需要做的唯一修改是在阴影面板中启用无光照选项。这将停止在 GLSL 模式下使用灯光,而是仅使用材质纹理中的颜色信息。(相关设置见图 6-12。)

  4. 在纹理标签页中,为该图像添加一个新纹理。将其类型设置为图像或电影,然后加载你的 MatCap 图像。默认情况下,这将用于影响材质的颜色,因此你只需要在映射标签页中将纹理的映射坐标更改为法线,这样就会将物体的法线作为纹理坐标。

  5. 最后,将 3D 视口的视口阴影方法设置为纹理,并在 3D 视口的显示面板中,将阴影选项设置为GLSL。你的 MatCap 材质现在应该在网格上可见,如图 6-12 所示。

查找 MatCap 图像

这本书附带的光盘中包含了多个 MatCap 图像,但你也可以在网上找到更多。许多图像可以从专门提供 ZBrush 材质的网页上找到,ZBrush 是一款强大的商业雕刻应用程序,它是最早实现这种雕刻阴影效果的应用之一。尽管许多 MatCap 图像以专有的.zmt格式分发,但你通常可以很容易地找到适用于 Blender 的 MatCap 材质图像作为纹理。你也可以通过谷歌搜索找到很多优质的 MatCap 纹理。

创建你自己的 MatCap 图像也是值得的。每当你有一个喜欢的材质时,尝试将其应用到一个球体上,并渲染出来作为 MatCap 材质使用。(只需记得将图像裁剪到球体轮廓内,以避免在网格边缘产生任何伪影。)你还可以使用具有多个纹理槽的材质混合 MatCap 纹理。(有关如何做的更多信息,请参见第十二章)。

一个 MatCap 材质设置和 Blender 3D 视口中的结果。使用法线纹理坐标,球体的图像被映射到网格的法线,模拟相同的阴影效果。 图 6-12。一个 MatCap 材质设置和 Blender 3D 视口中的结果。使用法线纹理坐标,球体的图像被映射到网格的法线,模拟相同的阴影效果。

调整 OpenGL 阴影

尽管使用 MatCap 材质进行雕刻很不错,但一旦你的雕刻模型达到数百万多边形时,Blender 的性能可能开始下降。切换回 Blender 的默认 OpenGL 阴影(即实体阴影)会更快,但这种阴影非常均匀,不太适合雕刻。幸运的是,你可以在用户偏好设置的系统选项卡中轻松调整这种阴影效果,使其更适合雕刻,并增加可以在保持合理性能的同时,挤压出更多细分的能力。

在图 6-13 中,我调整了 Blender 的标准 OpenGL 照明。要自行进行此操作,请打开用户偏好设置,在系统标签中找到 Solid OpenGL Lights 设置,如图 6-13 所示。这些设置为您提供了三个独立的“光源”,它们决定了在 Blender 的默认实心着色视图中,网格的着色方式。您可以使用灯泡图标打开和关闭这些光源,通过颜色选择器调整其漫反射和高光颜色,并使用右侧的球体改变它们照射网格的方向。

为了使照明更适合雕刻,我关闭了第二和第三个光源,并将第一个光源设置为直接照射网格,使其呈现出轻微的棕褐色。这导致了图 6-13 中的右侧着色效果,这种效果更具方向性,并且在雕刻时能更好地展示网格的形状。

Blender 的默认 OpenGL 着色非常多功能,并且比 GLSL MatCap 着色要快得多,尤其是在高多边形数量时。通过调整三个可用光源的位置和颜色,您可以创建更适合雕刻的照明设置,优于默认设置。图 6-13。Blender 的默认 OpenGL 着色非常多功能,并且比 GLSL MatCap 着色要快得多,尤其是在高多边形数量时。通过调整三个可用光源的位置和颜色,您可以创建更适合雕刻的照明设置,优于默认设置。

Multires 修改器

尽管你可以在任何网格上进行雕刻,但我们需要使用 Multires 修改器来将雕刻提升到高细节级别,同时保持一个仍然易于编辑的基础网格(参见图 6-14)。Multires 修改器与 Subsurf 修改器类似,都通过 Catmull-Clark 或 Simple 子分割 1 来细分你的模型。然而,Multires 修改器不仅是纯粹的程序化操作,它还会在雕刻模式下存储对网格的进一步编辑,允许你先细分网格,再利用创建的额外几何体来雕刻更多细节。这让我们可以将一个相当简单的模型细分成数百万个多边形,并将它们雕刻成任何形状,并加入任何我们想要的细节。

Multires 修改器面板左侧的三个设置(预览、雕刻和渲染 2)决定了在不同模式下显示的子分割级别。预览设置的是对象模式下的显示级别,雕刻设置的是雕刻模式下的级别,而渲染则设置渲染网格时使用的子分割级别。每次点击 Subdivide 操作符 3 时,都会增加一个子分割级别,而 Delete Higher 操作符 4 会删除当前工作级别之上的所有子分割级别。

如果你将网格导出到其他程序,或是复制并单独编辑它,你可以使用 Reshape 操作符 5 将 Multires 网格重新塑形,使其与另一个选定对象的网格相同。不过,为此,两个网格的顶点顺序和拓扑必须完全相同,任何删除或添加顶点的操作都会破坏这一功能。如果你是导出到其他程序(如 ZBrush 或 MeshLab),请确保使用.obj格式,并确保在导入和导出时选中保持顶点顺序的选项。

Multires 修改器不会影响网格的原始形状;但是,你可以使用 Apply Base 操作符 6 将最低的子分割级别(你的原始网格)与子分割后的网格形状匹配。如果你做了大量的雕刻,并希望基础网格再次与雕刻后的网格形状更接近,这非常有用。

顶点顺序

Blender(以及任何使用网格对象的应用程序)将网格存储为一个编号的顶点列表,并包含这些顶点之间构成边和面的连接。这就是对象的顶点顺序,它必须保持不变,以确保 Reshape 操作符能正常工作。简单的顶点操作——如移动、旋转或缩放——不会影响顶点的顺序,但添加或删除顶点则会。此外,在导入或导出时保存为其他格式可能会重新排序网格的顶点。

Multires 修改器图 6-14. Multires 修改器

子分割与多边形计数

在使用 Multires 修改器时,你可以通过信息编辑器头部追踪场景的多边形数(见图 6-15). 请记住,每次细分都会使该对象的多边形数乘以 4,因此将一个网格细分五次会使你的多边形数增加 1024 倍!根据你拥有的内存,你可能能够安全地将多边形数细分到百万级别以上,但所需的细分层数将真正取决于基础网格中的多边形数量。

信息编辑器头部包含几个有用的数字。从左到右,它们分别是:你使用的 Blender 版本,当前活动图层的总顶点数(Ve:),当前活动图层的总面数(Fa:),选中的对象数量(Ob:)以及所有对象的总数量(选中-总计),当前活动图层,内存使用情况,以及当前活动对象的名称。

使用 Multires 修改器时,注意多边形数(Fa:)。图 6-15. 使用 Multires 修改器时,注意多边形数(Fa:)。

雕刻概念

Blender 在雕刻方面设置好之后,我们就可以开始了。通常,我们将从粗到细进行雕刻,就像现实世界中的雕塑一样。通过从我们想要实现的最终产品的宽大结构开始,逐步朝向细节雕刻,我们减少了需要撤销的步骤,以纠正错误。

本节将介绍一些我在雕刻时思考的通用概念。

体积和比例。在开始雕刻时,首先设定出主题的大致形状;换句话说,为整体人物的每个组成部分创建一个粗略的体积。当雕刻角色时,你应该先绘制出腿部、手臂、躯干、头部、手和脚的体积。这部分是通过创建一个良好的基础网格来完成的。例如,我们已经在第四章中创建了 Bat Creature 角色的基本形状;然而,这在雕刻过程中仍然可以进行改进,以便更好地感知模型的大小和整体形状。

姿势。姿势描述了角色的站姿以及身体部位之间流动的形态。这个阶段更适用于有姿势的角色,但也是创造一个良好中立姿势的重要部分,甚至在雕刻无机形态时也适用。此阶段的关键是,身体的各个部分通过平滑流畅的曲线连接起来。通常你应该能够在角色的姿势中画出一条平滑的曲线,如图 6-16 所示。

。这里所说的“面”是指将物体的形状分解和简化为平面——物体的区域形成广泛的平面表面,而不是多边形。雕塑中面的位置和方向决定了物体表面如何反射光线,产生的光影模式反过来在我们识别和解读形状时起着重要作用。

即使你最终会平滑这些面,它们仍然会影响你最终的作品。例如,人类或类人角色的面大多由物体的主要解剖标志定义,如颅骨、胸廓、锁骨和骨盆的骨性部分。在图 6-17 中,主要的大面由颅骨的形状定义;这些面包括头部两侧、下巴线和下巴沿线、以及鼻梁上的面。较小的次要面形成了耳朵、嘴唇和鼻孔的形状。(你实际上不需要过于严格地定义模型的面,因为它们最终会被平滑掉,但知道它们的位置并大致标记出来是很重要的。)

尽量建立流畅的曲线,使其贯穿角色图 6-16。尽量建立流畅的曲线,使其贯穿角色

粗略细节和解剖学。一旦你完成了雕塑的主要体积和面,通常会发现许多解剖细节实际上已经存在,尽管仍有许多解剖特征需要添加到最终的雕塑中。在雕塑中实现解剖学的真实感需要练习,这是通过收集和研究解剖学参考资料,然后将这些解剖学标志放置并完善在雕塑上的过程。

填充细节的一种方法是从主要的肌肉群和骨骼标志开始,然后逐渐加入更小的细节,如肌肉结构和小特征,如手指、耳朵、眼睛等。请参阅面,了解我如何为蝙蝠生物实现这一过程。

精细细节和表面纹理。最后,我们进入精细细节阶段,比如皮肤上的皱纹和毛孔,或硬表面模型中的技术细节(参见图 6-18)。这是一个有趣的阶段,可以为模型增加许多个性。需要注意的一点是,特别是对于那些没有强烈肌肉结构的有机角色,你可能添加的许多解剖学细节需要被淡化。你可以选择在雕刻过程的早期省略这些细节(但仍然要考虑它们在表面下的位置),或者在需要更细腻效果的区域将它们平滑掉。最后,你可以开始添加更小的细节,如皱纹、毛孔、疤痕等。我们可以开始平滑和抛光在早期雕刻过程中产生的任何伪影,然后添加更多有意识的精细细节。

头部的平面。你不需要将平面定义到这个程度,但要记住它们。图 6-17。头部的平面。你不需要将平面定义到这个程度,但要记住它们。

这些是雕刻过程中一般的阶段。它们从粗略的整体形状开始,到具有你试图创造的关键特征,然后让你重新创造更精细的细节。现在,让我们将这些阶段应用到雕刻蝙蝠生物和蜘蛛机器人上。

精细细节可以在主要形态确定后处理。图 6-18。精细细节可以在主要形态确定后处理。

雕刻蝙蝠生物

对于蝙蝠生物,我从几个简单的基础网格开始,这些网格的拓扑支持了我需要的大部分特征(虽然面部的部分没有拓扑支持)。然后,我可以开始将蝙蝠生物的形态发展成更有趣的样子,并添加进一步的细节,例如一些肌肉结构和面部特征。

首先,我取了基础网格,添加了一个 Multires 修改器和几个细分。最初的目标是增加足够的分辨率,以便我可以开始精炼体积,定义基本的平面和地标——但又不会增加过多分辨率,以至于过早进入细节雕刻。雕刻时,尽量在添加下一级细分之前充分利用每一级细分的效果。

体积

我首先使用膨胀工具为腿部和手臂添加体积(参见图 6-19)。膨胀工具在低细分级别下非常方便,可以扩大基本的质量并赋予它们圆润的形状。粘土工具也很适合在特定位置构建体积。(使用平滑工具或膨胀工具的减法模式,可以轻松地再次使形状变薄。)

在蝙蝠的躯干上,我开始将大部分肋骨或胸部与骨盆分开,并在背部增加一些肌肉量以表现肩部。蝙蝠生物是一个背部长有翅膀的角色,因此背部的大肌肉是预期的。

平面

接下来,我开始雕刻人物的基本平面。由于此时我正在增加更多细节,所以首先添加了几个细分级别,使得整体的多边形数量达到了几十万个多边形。这里的目标是首先找到身体的骨骼标志性位置,如肋骨的上下、骨盆的髂脊、膝盖和肘部,以及头骨(参见图 6-20, 标志性位置)。

作为第一步,你可以用粘土画笔轻轻标记这些点。接下来,可以使用这些标记作为指南,放置主要肌肉群的次要形态。为此,只需使用粘土画笔(图 6-20, 体积)添加和去除质量。然后,你可以开始使用平坦、刮削和填充画笔,将这些质量展平成身体的主要平面(图 6-20, 平面)。在此阶段使用折痕画笔,可以在减法模式下更好地创建平面之间的划分(这是该画笔的默认行为);此画笔也可以在加法模式下使用,为面向外部的平面添加锐利的边缘。

规划和跟踪你想要创建的细节的一个好方法是使用 Blender 的油漆铅笔,设置为 Surface 绘制模式来勾画肌肉群(见图 6-21)的轮廓。在物体模式下,选择你的网格,添加一个新的油漆铅笔图层,将绘制模式设置为Surface,然后按住D键并点击进行绘制,便可以在网格表面上绘制笔画。现在,你可以在雕刻之前勾画出任何解剖学地标。例如,在图 6-21 中,我已经勾画出了主要的肌肉群。

蝙蝠生物体积:在雕刻体积之前的细分基础网格(左)和使用 Grab 与 Inflate 刷子粗略添加的大体体积(右)。在这个阶段,我专注于通过充气与放气,或者在较低细分级别上平滑形状,来精炼角色的整体形状,使其具有正确的体积和比例。我也可以在基础网格中调整某些比例。图 6-19. 蝙蝠生物体积:在雕刻体积之前的细分基础网格(左)和使用 Grab 与 Inflate 刷子粗略添加的大体体积(右)。在这个阶段,我专注于通过充气与放气,或者在较低细分级别上平滑形状,来精炼角色的整体形状,使其具有正确的体积和比例。我也可以在基础网格中调整某些比例。勾画身体主要平面阶段图 6-20. 勾画身体主要平面阶段!左:使用油漆铅笔勾画肌肉群和地标。右:在属性区域中的油漆铅笔面板。图 6-21. 左:使用油漆铅笔勾画肌肉群和地标。右:在属性区域中的油漆铅笔面板。

粗略的解剖学

在勾画好我们的平面后,我们可以继续进一步定义解剖结构。在这一阶段,参考资料特别重要,因为我们使用像 Clay、Clay Tubes、Crease 和 Inflate 这样的刷子来进一步定义解剖细节,强调单独的肌肉、身体和面部的骨骼(见图 6-22)。

使用形状键雕刻难以触及的区域

一些区域,如腋下或腿部之间,使用雕刻刷子时可能比较难以触及。为了让操作更轻松,在编辑模式下为你的网格创建一个新的形状键,这样你就可以轻松到达你想要处理的区域。

形状键允许你存储网格顶点的不同位置,这样你就可以拥有一个手臂抬起的姿势,一个手臂放下的姿势,或者任何你想要的姿势。形状键完全兼容雕刻模式,这意味着你可以在雕刻时启用或禁用它们,以改变雕刻的姿势。例如,在这个雕刻中,我创建了手臂和腿部位置更远的形状键,这样就更容易到达腋下和内侧腿部区域。

进一步定义解剖结构。此阶段参考资料很重要,但也有创作的空间。图 6-22. 进一步定义解剖结构。此阶段参考资料很重要,但也有创作的空间。

为了创建形状键,我首先在对象模式下添加了一个新的形状键来保持新的姿势。(点击形状键面板右侧的+图标两次,将网格的原始形状设置为默认的“基础”形状;然后再次点击它,创建一个相对于基础形状存储顶点位置的新形状。)接下来,我在编辑模式下选择了手臂的顶点,并围绕肩膀旋转它们,稍微将手臂伸展出去。然后,我调整了周围的顶点,以精细化新的姿势(参见图 6-23)。返回到雕刻或对象模式后,我可以通过调整形状键的值(在形状键面板中使用滑块)来将身体移到更易于操作的位置。

隐藏网格的部分区域

另一种处理雕刻中难以触及区域的方法是使用快捷键 ALT-B 隐藏部分网格,这样你可以在屏幕上拖出一个框,限制网格可见的部分仅为框内的内容(参见图 6-24)。通过隐藏网格的一部分,你可以专注于模型的一小部分,同时查看一些更难触及或隐藏的区域。

为不同的姿势添加形状键。左上:在属性编辑器的对象数据标签中找到形状键面板。右上:选择手臂并将其移到新位置,使之前隐藏的手臂和胸部区域更加可见。底部:在雕刻模式中应用的新姿势,以及为腿部制作的独立、类似的形状键。图 6-23. 为不同的姿势添加形状键。左上:在属性编辑器的对象数据标签中找到形状键面板。右上:选择手臂并将其移到新位置,使之前隐藏的手臂和胸部区域更加可见。底部:在雕刻模式中应用的新姿势,以及为腿部制作的独立、类似的形状键。限制可见区域为一个小选择区域,使用快捷键 ALT-B 并拖动矩形框选你想要保持可见的区域图 6-24. 限制可见区域为一个小选择区域,使用快捷键 ALT-B 并拖动矩形框选你想要保持可见的区域。

雕刻翅膀

接下来我开始雕刻翅膀(参见图 6-25)。翅膀的工作量较少,因为它的基本形状已经接近我想要的最终效果。

我首先使用 Inflate 刷子为翅膀骨骼增加一些体积,然后添加了一些骨骼标志点。接着,我细化了骨骼的平面,并使用 Inflate、Crease、Flatten 和 Clay 刷子给它们设定了清晰的边界。我们之前制作的 Crease Lazy 刷子在处理骨骼轮廓和为翅膀结构添加脊线时非常有用。

基本细节

虽然我不打算在重拓扑之前完成蝙蝠身体上的精细细节,但我仍然需要添加头部的主要特征:眼睛、鼻孔、嘴巴和耳朵的细节。回到身体部分,我开始添加这些细节。Crease 刷子是勾画这些细节轮廓的绝佳工具——例如嘴唇之间的沟槽、眉毛的褶皱和鼻子周围的折痕——然后使用 Clay 刷子构建基本形状,再用 Flatten 和 Polish 刷子来精细调整它们(参见图 6-26)。稍后,这些部分会进行重拓扑并重新雕刻,所以我目前只是粗略地做了标记,足以显示出大致形状。

翅膀与身体的雕刻方式相同。由于初始的基础网格定义得更为清晰,这个过程比身体的雕刻简单。图 6-25. 翅膀与身体的雕刻方式相同。由于初始的基础网格定义得更为清晰,这个过程比身体的雕刻简单。

雕刻眼睛周围的区域

眼睛的雕刻可能有些棘手,因为你需要遵循眼球的基本形状,同时添加眼睑等细节。为了简化这一过程,首先添加一个新的球体对象作为眼球的占位符(见图 6-26),然后围绕球体雕刻眼睑。可以使用镜像修饰符,通过将身体对象作为修饰符设置中的镜像对象来创建另一只眼睛。

添加眼睛以便更容易雕刻周围区域,并使用 Crease 刷子标记面部的关键特征。记住,在调整眼睛至正确大小时,头骨大约有五个眼睛宽度,且两只眼睛之间应该有一个眼睛宽度的间距。图 6-26. 添加眼睛以便更容易雕刻周围区域,并使用 Crease 刷子标记面部的关键特征。记住,在调整眼睛至正确大小时,头骨大约有五个眼睛宽度,且两只眼睛之间应该有一个眼睛宽度的间距。

是时候进行重拓扑了

此时,我已经到了需要添加更多细分的阶段,但由于当前拓扑结构的问题,这个过程会变得缓慢且笨重(此时身体的多边形数已经超过了 500 万个面)。通过在此阶段进行重拓扑,可以创建一个更密集且更合适的网格,从而在面部和手部等重要区域提供更高的初始多边形密度,并且具有更好的拓扑结构来支持更粗的细节。这将使得在重拓扑之后,能够继续雕刻并向网格中添加更精细的细节,而不必继续以荒谬的速度增加多边形数。

注意

如果你希望严格按照时间顺序继续操作,请跳到第七章。从这里开始,我将把现有的细节转移到新的重拓扑网格上,然后继续添加更精细的细节。

将雕刻的细节转移到新的网格并使用位移贴图

在完成重拓扑雕刻后,我需要将原始网格上雕刻的细节转移到新网格上。对此有几种方法,每种方法都有其优缺点。一个方法是使用 Shrink Wrap 修改器:首先为新网格添加 Multires 修改器,然后进行几次细分,添加 Shrink Wrap 修改器,并将原始网格设置为目标。对于较简单的雕刻,这种方法可以较好地工作,但对于更复杂的物体,它可能会产生一些伪影和错误,需要花时间修正。因此,对于更复杂的雕刻,使用位移贴图是一个更好的方法。

关于位移贴图

位移贴图是定义如何根据纹理的值来位移网格表面的图像纹理:白色区域使表面抬升,而黑色区域则被压入。通过对网格进行 UV 展开,并将位移贴图应用到新的网格上,你可以将旧雕刻的细节转移到新网格上。

要创建位移贴图,使用 Blender 的纹理烘焙工具来计算原始雕刻表面和新重拓扑网格表面之间的距离,并将它们烘焙到图像中。然后,通过使用 Displace 修改器(结合 Multires 修改器来细分网格),你可以应用这个位移,使新的重拓扑网格精确匹配旧的网格。(UV 映射在第八章中有更详细的介绍,纹理烘焙在第十章中有更深入的讨论,因此这里只介绍基础内容。)

我通过标记一些接缝(CTRL-E)来为我的重拓扑网格创建一个简单的 UV 展开,将其分割成易于展开的片段。然后我使用 Unwrap 操作符(U▸Unwrap)进行展开,并将 UV 岛屿打包到 UV 网格中。(你可以使用快捷键 CTRL-P 自动完成此操作。)

接下来,我通过选择对象,进入编辑模式,在 UV 图像编辑器中使用“图像▸新建图像”来为对象的 UV 坐标分配一个新的图像,创建一个空白的 4096×4096 图像用于烘焙位移。(创建此图像时,确保勾选32 位浮点选项,以获得最佳效果,因为位移贴图的位深度较低时,可能会产生难看的阶梯伪影。)

最后,我通过按照以下步骤将位移从我的原始雕刻烘焙到新的重拓扑网格(见图 6-27):

  1. 选择原始雕刻。

  2. 使用 SHIFT▸选择重新拓扑的网格,并应用一个渲染级别为3细分表面修改器。这样会在计算位移之前细分网格,以便稍后当我们使用多重细分(Multires)修改器细分网格时,能应用相同的位移。

  3. 在属性编辑器的渲染标签下,打开烘焙面板。

  4. 确保选择到活动对象已启用,并且烘焙模式设置为位移

    从旧的雕刻到新的重新拓扑网格的位移烘焙。这通常比使用收缩包裹(Shrinkwrap)修改器更容易调整,并且效果更好,尽管需要一些额外的努力。图 6-27. 从旧的雕刻到新的重新拓扑网格的位移烘焙。这通常比使用收缩包裹(Shrinkwrap)修改器更容易调整,并且效果更好,尽管需要一些额外的努力。

  5. 将“距离”参数保持为默认值0

  6. 点击烘焙以烘焙你的位移贴图。

  7. 一旦烘焙完成,在 UV 图像编辑器中将位移贴图保存为OpenEXR文件,通过从头部菜单选择图像另存为图像(确保在保存时将文件类型设置为EXR)。

将位移应用到雕刻

一旦位移贴图图像被烘焙完成,你需要创建一个使用该图像的纹理,并将其作为位移修改器的输入应用到新网格上。

注意

下面列出的步骤有些不太优雅,因为要编辑纹理的属性,Blender 需要你将其分配到材质、世界或画笔上。为了绕过这个问题,你可以创建一个“虚拟”材质,将位移纹理分配给它,以便你可以编辑它,然后将其分配给位移修改器。(有关图像、纹理和材质的正常工作方式,请跳至第十章,第十一章,和第十二章。)

要将位移贴图应用到你的新重新拓扑网格,请执行以下操作:

  1. 选择你的重新拓扑网格,并在属性编辑器的材质标签下,通过点击新建按钮为其创建一个新材质。我们稍后不会使用这个材质来渲染网格,它只是用来暂时存放我们的纹理。你可以将这个材质重命名为Displacement_Dummy。你可能还想通过点击其名称旁的F图标为该材质创建一个假用户,以便在你将不同的材质分配给物体(留下虚拟材质未分配)时,虚拟材质不会被丢弃。

  2. 切换到属性编辑器的纹理标签,并通过点击新建为材质添加一个新纹理。

  3. 将材质类型设置为图像或电影,然后在下面的图像面板中点击打开,加载你刚刚创建的位移贴图。为它命名一个容易记住的名称。

  4. 删除我们之前添加的细分曲面修改器,并将Multires修改器添加到重新拓扑的网格中。然后将其细分几次。暂时目标是大致达到与原始网格相同的面数。

  5. 添加一个位移修改器。在纹理选择器中,选择你的位移材质,并将方向设置为法线,但将坐标设置为UV,以便使用物体的 UV 坐标来应用位移纹理。由于我们将纹理烘焙设置大部分保持为默认值,因此默认强度为 1 应该正好是我们需要的。这应该能使你的网格与原始雕刻的形状完全一致。

使用顶点组控制位移

一些区域,如嘴巴内部,可能会在应用位移修改器时造成问题。由于嘴巴内部是全新的拓扑,它在位移贴图中不会包含任何有用的信息,因此最好将这些区域排除在位移修改器的影响之外。为了解决这些问题区域,你可以为位移修改器分配一个顶点组,限制位移只作用于网格的某些部分,保持问题区域不受影响。图 6-28 显示了位移修改器在权重绘制模式下的顶点组;嘴巴和眼睛内部以及翅膀上的爪尖不包含在组内。

使用顶点组限制位移修改器的作用(此处显示为权重绘制模式)图 6-28. 使用顶点组限制位移修改器的作用(此处显示为权重绘制模式)

要创建一个顶点组,请执行以下步骤:

  1. 进入编辑模式,在属性编辑器的对象数据选项卡中,点击顶点组面板中的+图标来创建一个新的顶点组。

  2. 选择你希望包括在组中的顶点(即,你希望应用位移修改器的网格部分),然后在顶点组面板中点击分配,将它们分配到该组中。

  3. 切换回对象模式,并将该顶点组设置为限制位移修改器效果的顶点组(顶点组选项位于修改器设置中;参见图 6-29)。你现在应该已经应用的修改器如图 6-29 所示。

  4. 通过点击应用来应用位移修改器。其效果将被 Multires 修改器保存,使你能够返回雕刻模式,继续雕刻并添加细节。

使用位移修改器应用位移贴图。在修改器堆栈中将位移修改器放置在 Multires 修改器下方将允许你应用位移,并将结果由 Multires 修改器捕捉,以便继续雕刻。图 6-29. 使用位移修改器应用位移贴图。在修改器堆栈中将位移修改器放置在 Multires 修改器下方将允许你应用位移,并将结果由 Multires 修改器捕捉,以便继续雕刻。

细节雕刻

在重新拓扑的网格已经准备好进行雕刻后,我开始使用各种刷子进行雕刻,并添加精细细节(参见图 6-30)。粘土刷和标准刷通常是定义重要形态的最佳选择,但 alpha 纹理可以更快地添加纹理。

从面部开始,我使用粘土刷和绘制刷添加了一些主要的皱纹。然后,我转向使用 alpha 纹理。使用本章前面讨论过的拖动 Alpha 刷,并结合一些皮肤纹理 alpha,我开始构建皮肤表面的纹理。

剩余的身体部分以相同的方式覆盖:使用混合的 alpha 刷和小型粘土刷和绘制刷构建纹理和细节。在肩部和翅膀周围的区域,我使用一混合的 alpha 刷、粘土刷和皱纹刷,添加了一些与翅膀扩展和收缩相匹配的褶皱,正如图 6-31 所示。

程序化细节

尽管最好手工雕刻模型的关键细节,但能够为雕刻表面添加一些通用的粗糙度是很方便的。我们使用了位移修改器来通过烘焙的位移贴图传输细节,但我们也可以使用其他纹理作为位移修改器的输入,以生成表面上的一些微妙变化。Blender 提供了多种程序化纹理(通过各种算法生成的纹理,不需要图像作为输入),这些纹理非常适合此用途。

使用各种刷子和 Alpha 图层为面部添加细节图 6-30. 使用各种刷子和 Alpha 图层为面部添加细节为翅膀和背部添加细节图 6-31. 为翅膀和背部添加细节

要使用程序化云纹理和位移修改器为你的雕刻添加表面细节,请按照以下步骤操作,并查看图 6-32:

  1. 创建一个新的纹理块(我们可以使用之前创建的虚拟材质来存放它),并将其类型设置为

  2. 在对象模式下(位移修改器在雕刻模式下无法显示),为你的雕刻添加一个位移修改器(位于多分辨率修改器之后)。将你新的程序化纹理设置为修改器的纹理。

  3. 将修改器的强度设置得非常低。然后切换回纹理标签(Texture tab),并调整现在选择了云纹理类型后出现的云纹理面板中的设置。尝试将云的缩放设置为非常小的值,并调整亮度、对比度和噪声基准,以产生不同的效果。

    使用云纹理和位移修改器添加程序化细节图 6-32. 使用云纹理和位移修改器添加程序化细节

  4. 正如我们在使用位移修改器传输细节时所做的那样,你可以使用顶点组来遮罩不希望受到影响的区域。

  5. 当你对效果满意时,应用修改器将结果烘焙到多分辨率修改器中,这样你就可以继续雕刻。

打破对称性

在这个阶段,如果你保持对称性开启,你的雕刻可能会变得有些过于对称。虽然大多数动物和角色的身体和面部在大体上是对称的,但像毛孔、皱纹、疤痕等细节却并非如此。

一旦你达到细节阶段,通常最好在工具选项中关闭对称性。对于更远的区域,如手臂和腿的末端,你可以保持对称性:因为这些部分彼此较远,对称性不太明显。然而,在角色中间的细节明显对称会看起来奇怪,所以特别为这些区域关闭对称性。

当然,你可以更早地打破对称性;大多数角色和面部都有一些微妙的不对称性。这种微妙的程度可以为你的雕塑增加很多可信度,所以考虑在早期禁用对称性。

姿势

为了为我的角色创造一个更有趣的姿势,我进入编辑模式(TAB),并在连接模式下(ALT-O)使用比例编辑,同时围绕 3D 光标旋转移动肢体(见图 6-33)。我为这个姿势创建了一个新的形状关键帧,然后开始调整身体。例如,为了移动一条腿,我选择了腿部所有的顶点,将 3D 光标放在髋关节位置,然后围绕该点旋转腿部,使用比例编辑创建平滑过渡。这是一种快速而简单的方式来为角色设定姿势,而不需要进行复杂的绑定工作,这是一项复杂的任务,对于静态渲染来说,付出的努力不值得。

我调整了其余的肢体和头部,使角色以更有趣的方式摆姿势。然后我回到雕刻模式,在低细分级别下使用抓取和粘土刷来修复姿势中的任何错误,并调整肌肉的外观。我用平滑工具放松了会被伸展的肌肉,并稍微减少了它们的体积,反之,膨胀并收紧了在新姿势中会收缩的肌肉。

表情

面部表情是任何角色的重要组成部分。我添加了一个新的形状关键帧来保持面部表情,并使用抓取和粘土刷在蝙蝠的脸上加入了一点咆哮的表情(在图 6-32 中可见),通过抓住鼻子的两侧并稍微向上移动,稍微提起上唇,收紧眼睛。在面部皱起的区域添加一些皱纹,并平滑拉伸的区域,以补充已经添加的细节。

调整角色的姿势。我选择了头部的顶点,然后将 3D 光标放置在脖部的基部,允许我通过围绕 3D 光标旋转选定部分来稍微转动头部,并启用了比例编辑。将这个新姿势作为形状键保存,可以让你以后改变主意并恢复到标准姿势。图 6-33。调整角色的姿势。我选择了头部的顶点,然后将 3D 光标放置在脖部的基部,允许我通过围绕 3D 光标旋转选定部分来稍微转动头部,并启用了比例编辑。将这个新姿势作为形状键保存,可以让你以后改变主意并恢复到标准姿势。

雕刻蜘蛛机器人

蜘蛛机器人像蝙蝠生物一样进行了雕刻,首先使用黏土和抓取刷子封锁主要形态,然后精细调整平面并添加细节。然而,在蜘蛛的情况下,我还需要面对增加的复杂性,即尝试创建硬表面形态。虽然你可以直接建模这些形态(通常是一个很好的方法),但雕刻一些硬表面形态的部分让我在创建模型时可以更加实验性。

虽然 Blender 无法完美地抛光硬表面和锋利的边缘,但你可以借助 Flatten 和 Polish 刷子以及 Pinch 和 Crease 刷子完成很多工作。然后,你可以使用重新拓扑技术创建一个最终的模型,具备干净、平滑的形态。通过先专注于形态,再处理拓扑,可以减少在不确定形态时建模的麻烦,之后再让你的物体以干净的拓扑流畅地曲线化。

身体

从蜘蛛机器人的身体开始,我使用 Crease 工具粗略标记出硬表面边缘的位置。接着,我使用黏土刷(自定义的 Clay Tubes 刷子在这方面非常优秀)在这些线条周围构建体积,然后使用 Polish 和 Flatten 刷子进行精细调整(参见图 6-34)。

首先,使用 Crease 刷子绘制粗略设计。接着,使用 Clay Tubes 刷子构建体积。最后,使用 Polish、Pinch 和 Flatten 刷子进行精细调整。图 6-34。首先,使用 Crease 刷子绘制粗略设计。接着,使用 Clay Tubes 刷子构建体积。最后,使用 Polish、Pinch 和 Flatten 刷子进行精细调整。

为了创造更加精细的边缘,可以将 Crease 画笔(我们制作的自定义 Crease Lazy 画笔适合长而平滑的曲线)与加法模式(按住 CTRL 键)结合使用,使角落和边缘更加锐利。然后,捏合这些边缘,使其形成真正尖锐的褶皱。通过避开边缘并在平面区域使用 Flatten 画笔,你可以获得相当精细的效果。(不要过于着迷;我们稍后会使用重新拓扑来创建一个具有更光滑形态的新网格。)

头部

头部的雕刻方法相同(见图 6-35),使用 Polish 画笔使形状更加平坦,使用 Crease 画笔标记边缘和凹槽。我还在腿部和獠牙与身体连接的地方雕刻了深深的凹陷。

头部部分,雕刻方式与身体相同图 6-35. 头部部分,雕刻方式与身体相同

腿部

雕刻腿部的过程与雕刻身体相似。我首先将各部件的整体形状抛光成更平坦且略微硬朗的边缘。然后,我使用 Clay 和 Crease 画笔在其上构建了更有趣的形状,首先勾画出设计图案,再填充形状。接下来,我再次进行抛光,使形状更加紧凑、光滑(见图 6-36)。

使用与身体相同的技术雕刻腿部。我保持了腿部件的雕刻相对松散,因为最终的腿部零件将通过对雕刻的腿部进行重新拓扑来创建干净、平滑的几何形状。图 6-36. 使用与身体相同的技术雕刻腿部。我保持了腿部件的雕刻相对松散,因为最终的腿部零件将通过对雕刻的腿部进行重新拓扑来创建干净、平滑的几何形状。

不过,依然无需追求完美光滑的表面,因为我们将在第七章中通过重新拓扑来修复这些表面。

注意

Polish 和 Flatten 画笔在锐利的角落处可能会产生奇怪的效果,形成尴尬的凹痕。为了解决这个问题,可以撤销操作,或者使用 Inflate 和 Smooth 画笔去除这些凹痕,然后重新增加褶皱并抛光表面。

为了了解我在这一阶段雕刻的外观,我复制了腿部的部件(作为链接副本,ALT-D),并在物体模式下将它们移动并旋转到合适的位置(见图 6-37)。这让我检查了模型的最终效果,尽管在这个阶段我没有将腿部部件镜像到身体的另一侧。

雕刻的身体部件,复制并大致移动到最终位置图 6-37. 雕刻的身体部件,复制并大致移动到最终位置

丛林寺庙:创建附带细节

尽管废弃寺庙场景没有使用大量雕刻,但某些附带的细节更容易雕刻,比如泥土和粗糙地面的斑块(见图 6-38)。我主要通过使用没有多重细分修改器的粘土刷来创建这些区域,而是选择在编辑模式下将网格细分几次。我本可以使用 Alpha 模板在石墙上雕刻一些损坏的痕迹,但我觉得墙壁相对的平整与周围植物的混乱形成了很好的对比,所以我保留了光滑的墙面。

从寺庙场景中粗略雕刻的泥土斑块图 6-38. 从寺庙场景中粗略雕刻的泥土斑块

雕刻自然面部的技巧

尽管蝙蝠怪物一张脸,但它并不是你会称之为经典帅气的那种脸。这里有一些雕刻更自然面部的技巧。

  • 在深入细节之前,首先要关注比例和大的体积。锁定总体体积后,再添加皱纹、毛孔和疤痕,这样当你的雕刻看起来不对时,就不需要重新做这些细节了(见图 6-39)。

    头部比例的划分。总体而言,你可以将头部视为围绕颅骨的球体构建,面部从中向前和向下延伸。在这里,头部的比例被划分在一个以眼睛宽度为单位的网格中。颅骨的一些重要特征,包括颧骨、眼窝和上颚,都用红色标出。图 6-39. 头部比例的划分。总体而言,你可以将头部视为围绕颅骨的球体构建,面部从中向前和向下延伸。在这里,头部的比例被划分在一个以眼睛宽度为单位的网格中。颅骨的一些重要特征,包括颧骨、眼窝和上颚,都用红色标出。

  • 头部大约是五个眼睛宽度,垂直大约是七个眼睛宽度(参见图 6-39)。这是一项有用的测量方法。记住这个比例,并用它来判断面部特征的相对距离和大小。

  • 嘴巴的雕刻较为困难。根据你是雕刻一个“张开”的嘴巴(内部拓扑是圆形的)还是一个“闭合”的嘴巴(仅仅是“画”在面部表面上的),你需要采用不同的策略。对于张开的嘴巴,使用充气和光滑刷可以调整嘴唇及其周围区域的形状。对于闭合的嘴巴,皱褶刷非常适合绘制上下嘴唇之间的褶皱,然后使用黏土和黏土管刷填充周围区域。记住,上唇通常比下唇更有轮廓,呈现出粗略的M形状。下唇则更圆润,且在大多数人身上稍微被上唇遮住(参见图 6-40)。

    嘴唇图 6-40. 嘴唇

  • 脸部的解剖结构和颅骨的标志性位置非常重要。尝试雕刻或塑造一个颅骨,雕刻面部肌肉,然后在其上添加皮肤,观察它们之间的相互影响(参见图 6-41))。

    头骨的解剖结构在决定一个人外貌时非常重要。特别是头骨的标志性部位——如颧骨、眉骨和下巴——对面部的整体外观有着重要影响。图 6-41。头骨的解剖结构在决定一个人外貌时非常重要。特别是头骨的标志性部位——如颧骨、眉骨和下巴——对面部的整体外观有着重要影响。

  • 除非你希望角色看起来非常老,否则不要添加过多的皱纹和褶皱。即使是一些微妙的皱纹,也能为面部增添许多个性。

  • 很少有面部是完全对称的。虽然开启对称雕刻可以帮助你取得很大的进展,但在雕刻的后期阶段,关闭对称功能,可以让面部的两侧增添一些独特性。

复习

在本章中,我们探讨了 Blender 提供的各种雕刻工具,并学习了如何自定义它们,以充分发挥其功能。接着,我们开始雕刻蝙蝠生物的身体,并将我为其和蜘蛛机器人项目所创建的简单基础网格,转化为更详细、更精细的模型,这些模型现在已准备好进行重拓扑。最后,我们讨论了一些雕刻面部的基本原则。

在下一章中,我们将开始对雕刻进行重拓扑,完成项目的建模阶段。在之后的章节中,我们将再次使用高多边形雕刻模型,通过烘焙贴图和纹理为模型准备渲染,使用位移和法线贴图恢复我们在本章中创建的细节。

第七章 重拓扑

有时候,使用一种方法来创建物体的基本形态会更容易——例如,通过雕刻或组合简单的原始形体——然后再用另一种方法来创建最终的拓扑结构以便纹理映射和最终渲染,使用这些基本形态作为指导。这就是重拓扑能够帮助我们做的事情。重拓扑是指在现有网格上创建新的几何体,同时保持物体的基本形状并重建其拓扑结构。重拓扑让我们可以将创建正确形状和创建有用拓扑的任务分开,从而更容易制作出我们想要的模型。

在本章中,你将学习如何使用 Blender 的捕捉工具和其他重拓扑技巧,在高多边形雕刻网格的表面上建模新几何体,就像我们在第六章中雕刻的那些网格一样。最终的结果将是一个捕捉雕刻细节的网格,使用更少的多边形,且拓扑结构能够良好细分,适合绑定和动画制作。

基础知识

有多种方式进行重拓扑,但最直接的方式是使用 Blender 的投影捕捉工具,直接在你想要重拓扑的网格表面创建几何体。(更多关于这些工具的信息,请参见捕捉)。

使用捕捉工具进行重拓扑

要开始进行网格重拓扑,按照以下步骤操作:

  1. 在对象模式下添加一个新的平面对象。

  2. 进入编辑模式并启用捕捉

  3. 将捕捉目标更改为并启用投影到表面(参见图 4-10),这样 Blender 就可以通过从当前视角投影,将选定的顶点和边捕捉到其他物体的表面上。

  4. 将平面缩小,直到它的大小与最终重拓扑网格中面部的大小一致。接下来,抓取并将平面放置到你想要开始重拓扑的网格区域上。

  5. 调整现有顶点的位置。然后,选择面的一条边,并开始挤出以创建新面,沿着网格的轮廓进行操作。

  6. 每当你挤出一个新面或抓取一个已有的面时,它会被投影到屏幕上任何其他网格的表面上(尽管在进入编辑模式之前你选择的其他物体将被忽略)。

使用上面描述的方法,你应该能够在短时间内覆盖即使是复杂网格的表面,创建出与原始物体相同形状的全新网格。

重拓扑的替代方法

还有其他几种快速重新拓扑的有用方法,值得讨论。第一种是使用 Shrinkwrap 修改器将简单的拓扑投影到网格的表面。使用这种方法,你首先在原始模型外部建模一个基本的笼子(如图 7-1),挤出区域以创建你想要的拓扑。笼子只需大致匹配原始形状,因为下一步是向网格添加 Subsurf(或 Multires)修改器和 Shrinkwrap 修改器,并将原始模型设置为 Shrinkwrap 修改器的目标。然后,Shrinkwrap 修改器会自动将新网格调整到原始模型的表面。

Shrinkwrap 有几种方法可以实现这一点,最好进行实验,看看哪种方法最适合你的模型。我通常发现最有用的方法是 Nearest Surface Point 和 Project 模式。请注意,Project 模式有一些额外的选项,你需要在方向复选框中同时启用 Negative 和 Positive,这样你的网格才能在两个方向上投影并适应目标(除非新网格的表面始终位于目标表面之上或之下)。

使用 Shrinkwrap 修改器进行快速重新拓扑。首先,在高多边形原始模型周围创建一个简单的网格。接着,添加一个 Shrinkwrap 修改器,将新网格投影到原始模型上。在这里,一个手臂通过沿长度挤出一个圆圈来进行重新拓扑,粗略地缩放和旋转它到位,然后添加 Subsurf 和 Shrinkwrap 修改器,使新网格适应雕刻。图 7-1. 使用 Shrinkwrap 修改器进行快速重新拓扑。首先,在高多边形原始模型周围创建一个简单的网格。接着,添加一个 Shrinkwrap 修改器,将新网格投影到原始模型上。在这里,一个手臂通过沿长度挤出一个圆圈来进行重新拓扑,粗略地缩放和旋转它到位,然后添加 Subsurf 和 Shrinkwrap 修改器,使新网格适应雕刻。

当你想要快速重新拓扑一个需要更好基础网格的雕刻时,这种重新拓扑的方法效果很好——例如,如果你是从一个立方体开始做头部或甚至整个身体,然后希望有一个基础网格,拓扑能更好地支持基本形状。

Shrinkwrap 方法对于将由多个部分组成的模型合并成一个单一网格也非常有用。例如,要创建第六章中讨论的玛雅符号的一体化版本,你可以将一个简单的网格投影到这些符号上,如图 7-2 所示。请注意,我重复使用了 Shrinkwrap 和 Subsurf 修改器,以捕捉所有的细节。重复使用修改器是一个非常有用的小技巧,尤其是在你投影到一个有很多尖角或深凹折的网格时,因为第一个 Shrinkwrap 修改器会遗漏那些当你正面查看目标网格表面时看不见的细节。最终生成的网格可以轻松地雕刻、展开和纹理化,而无需处理多个部分的网格。

另一种进行重拓扑的方法是使用 Blender 的 Bsurfaces 插件,它提供了一些很棒的重拓扑工具,允许你使用油漆笔绘制线条,并自动将这些线条转换为网格,如图 7-3 所示。

将网格投影到丛林神庙项目中的字形上,结果得到一个捕捉所有细节的单一网格。这个技术可以使 UV 展开和纹理处理变得非常简单,但会产生更高的多边形数量。顶部:原始字形。底部:投影到字形上的网格。右侧:修改器堆栈。Shrinkwrap 修改器重复使用,并在其间添加细分表面修改器和光滑修改器,以帮助第二个 Shrinkwrap 修改器进入所有紧密的角落。图 7-2. 将网格投影到丛林神庙项目中的字形上,结果得到一个捕捉所有细节的单一网格。这个技术可以使 UV 展开和纹理处理变得非常简单,但会产生更高的多边形数量。顶部:原始字形。底部:投影到字形上的网格。右侧:修改器堆栈。Shrinkwrap 修改器重复使用,并在其间添加细分表面修改器和光滑修改器,以帮助第二个 Shrinkwrap 修改器进入所有紧密的角落。

对丛林神庙树木进行重拓扑

我在创建丛林神庙项目的大部分内容时使用了传统的建模方法,并没有进行大量的重拓扑。然而,在阻塞树木时,我通过将曲线对齐到背景物体的表面,得到了不错的占位符。这些占位符曲线可以通过重拓扑轻松转换为更完整的网格。要应用此技术,请执行以下步骤:

  1. 创建树木占位符的副本(未链接,SHIFT-D)。然后,使用 ALT-C▸从曲线/元件/文本创建网格将其转换为网格。这将创建一个大致符合我们需求的网格,除了根部和树干是分开的网格。

    使用 Bsurfaces 通过绘制多边形与油画笔进行重拓扑。首先,用油画笔绘制你所需的网格,在你希望创建顶点的地方交叉笔划。然后,在编辑模式下使用添加表面按钮(Add Surface)从笔划中创建网格。使用油画笔笔划的表面选项将允许你直接在雕刻上绘制,创建一个跟随其形状的网格。图 7-3. 使用 Bsurfaces 通过绘制多边形与油画笔进行重拓扑。首先,用油画笔绘制你所需的网格,在你希望创建顶点的地方交叉笔划。然后,在编辑模式下使用添加表面按钮(Add Surface)从笔划中创建网格。使用油画笔笔划的表面选项将允许你直接在雕刻上绘制,创建一个跟随其形状的网格。

  2. 通过删除根部和树干应连接区域的顶点,将根部与树干连接起来。然后,开始创建新的几何体来覆盖连接处并填补空隙(见图 7-4)。选择大致对齐的边对,并在它们之间创建面(F)。

  3. 然后,您可以在这个面上添加一些环切(CTRL-R),将其分割成更均匀的四边形。

  4. 获取新生成的顶点,并再次释放它们以将它们固定到表面。重复这一过程,继续填补空隙,将新的面连接起来,并尽量保持拓扑结构尽可能均匀和类似网格的形式。

    使用 Blender 的吸附工具将基于曲线的树重新拓扑为单一网格。在我复制原始的基于曲线的树并将其转换为网格后,大部分工作已经完成,剩下的只是填补根部和树干之间的连接部分。图 7-4。使用 Blender 的吸附工具将基于曲线的树重新拓扑为单一网格。在我复制原始的基于曲线的树并将其转换为网格后,大部分工作已经完成,剩下的只是填补根部和树干之间的连接部分。

  5. 对根部和树干之间所有连接处重复上述步骤。

  6. 最后,关闭根部的开放端。在此阶段,调整根部和树干周围边环的密度也很有价值,删除一些过于密集的部分(XEdge Loop),并在较稀疏的区域添加新的边环(CTRL-R)。

重新拓扑蝙蝠生物

虽然原始蝙蝠生物的基础网格是一个很好的开始,但它缺乏支撑头部和更详细解剖特征所需的拓扑结构。此外,翅膀最初是作为单独的部分构建和雕刻的。现在,我需要创建一个最终的网格,具有更详细的拓扑结构,将这两部分结合起来。

简化多边形

在使用重新拓扑之前,我需要处理一个问题,那就是完整的雕刻模型已经有几百万个多边形,变得非常笨重。当然,这正是需要重新拓扑的原因,但在此之前,最好有一个能够捕捉细节的低多边形计数的替代网格,这样我就可以在其上绘制新的拓扑结构。解决办法就是简化多边形数量。

简化是一个过程,通过此过程,高多边形网格会自动简化,方法是通过合并小边缘和多边形来降低模型的复杂性,同时尽量减少细节丢失。Blender 有一个简化修改器,但它有点慢且并不总是有效,所以我通常使用另一个开源应用程序叫做 MeshLab (www.meshlab.sourceforge.net/)。要在 Blender 的雕刻上使用 MeshLab,请按照以下步骤操作:

  1. 将你的对象导出为 Wavefront 对象 (.obj) 文件(文件导出),确保选中仅选择应用修改器选项,这样可以确保应用所有修改器(包括多重解析)并保留雕刻的细节。这将创建一个相当大的 .obj 文件,包含你高多边形雕刻的网格。

  2. 要将你的雕刻导入到 MeshLab,只需运行程序,然后使用文件导入将你的网格以 .obj 格式导入。

  3. MeshLab 提供了大量处理网格的选项,但为了我们的目的,我们将使用二次边缘折叠简化工具(过滤器重网格化二次边缘折叠简化)。这将打开一个菜单,允许你为网格指定目标多边形数量,以及其他选项(见图 7-5)。

  4. 将目标多边形数设置为大约 150,000,并在选项中打开平面简化。然后运行过滤器。稍等片刻后,你应该会看到一个多边形数大大减少的雕刻版本,且仍保留了大量的细节。你可以通过 MeshLab 的文件菜单导出该模型,然后重新导入到 Blender 中。

在 MeshLab 中简化雕刻。二次边缘折叠简化工具允许你设置目标多边形数量,然后 MeshLab 会通过合并接近的顶点来减少网格。图 7-5. 在 MeshLab 中简化雕刻。二次边缘折叠简化工具允许你设置目标多边形数量,然后 MeshLab 会通过合并接近的顶点来减少网格。

重拓扑身体

当雕刻被简化并重新导入到 Blender 后,我可以开始在其上放置新的拓扑结构。我首先在对象模式下添加了一个新的平面,并应用了镜像修改器。然后,我在捕捉工具按钮中打开了投影功能。接着,我在编辑模式下抓住平面,并将其缩放并定位到我想从那里开始重拓扑的位置(在这个案例中是躯干)。

注意

在这一阶段,我仔细考虑了最终模型中所需的多边形密度。通过上下缩放第一个平面并朝着这一尺度进行操作,对重新拓扑网格的最终多边形数量产生了很大影响。我通常会尝试在与原始网格的大多数重要细节相似的尺度上进行工作。

设置好起始点后,我开始沿着模型的轮廓从原始四边形的一个边缘进行挤出(E)(参见图 7-6),跟随肋骨和躯干肌肉的轮廓。这样创建了一个面循环,沿着模型中的一个重要形状延伸。通过填充周围区域并在其他形状上创建进一步的面循环,我们可以朝着完全重新拓扑雕刻的目标前进,使用支持我们雕刻形状的拓扑。这为捕捉精细细节创造了更高效的网格,当我们进行细分时能更好地呈现这些细节,并且如果需要以后解包和绑定,操作也会更加简便。

随着模型的推进,我在基础网格上使用的许多相同面循环的位置再次变得非常有用。虽然整体拓扑更加复杂,但在腋下、肩膀、手臂、腿部和脖部周围创建的面循环,导致了干净且易于修改的拓扑(参见图 7-7)。此外,由于网格仍然大致对称,我只需要对一半的身体进行重新拓扑,并使用镜像修饰符填充另一半。

对于某些区域,如面部,我开始缩小多边形,以便在区域较小且更细致的形状中填充更多内容。我创建了环绕眼睛、鼻子、嘴巴和耳朵外部的面循环(参见图 7-8)。这些面循环不仅支持了面部的形状,使得细分时它们不会丢失或过于柔化,还增加了这些区域的密度,以便在使用 Multires 修饰符时添加更多细节。(有关面部拓扑的具体技巧,参见头部拓扑。)

要创建一个嘴巴空腔,我从围绕嘴巴的边环挤出并填补了空洞(参见图 7-9)。当我们返回到重新拓扑后的网格进行雕刻时,我们需要重新雕刻这个区域,但嘴巴现在可以被张开并摆出不同的姿势。

对于像翅膀这样的物体,在难以看到狭小区域时,切换到透视视图(5)会非常方便,这样可以让相机在狭窄空间内自由移动。使用 ALT-B 限制视图也很有用。这样可以选择模型的一部分显示在 3D 视口中,让你只看到一个小区域,避免其他部位挡住视线,如图 7-10 所示。

从创建一个重要的面环循环开始,一次一个四边形。然后,继续其他的面并填充中间的区域。图 7-6。 从创建一个重要的面环循环开始,一次一个四边形。然后,继续其他的面并填充中间的区域。重要的面环循环。当进行重新拓扑时,一个好技巧是按/(斜杠)只查看你选择的物体。这样可以让你在按/返回全局视图并继续建模之前,看到你重新拓扑的网格进展。图 7-7。 重要的面环循环。当进行重新拓扑时,一个好技巧是按/(斜杠)只查看你选择的物体。这样可以让你在按/返回全局视图并继续建模之前,看到你重新拓扑的网格进展。重新拓扑面部,创建一个跟随雕刻形状的新拓扑图 7-8。 重新拓扑面部,创建一个跟随雕刻形状的新拓扑为嘴巴添加一个空腔图 7-9。 为嘴巴添加一个空腔将 Blender 的视图限制为小范围(ALT-B)让你更容易处理狭小区域。再次按 ALT-B 可以恢复正常视图。图 7-10。 将 Blender 的视图限制为小范围(ALT-B)让你更容易处理狭小区域。再次按 ALT-B 可以恢复正常视图。

创建新的拓扑结构,将翅膀和身体的连接部位桥接起来,简单得多,只需继续在连接部位上进行重新拓扑(参见图 7-10),这展示了覆盖蝙蝠生物翅膀和肩膀的网格。这样做可以创建一个结合了翅膀和身体的单一网格(参见图 7-11)。

重新拓扑后的身体网格,现在结合了翅膀和身体,并且有足够的细节来捕捉面部和肌肉的广泛特征图 7-11。重新拓扑后的身体网格,现在结合了翅膀和身体,并且有足够的细节来捕捉面部和肌肉的广泛特征。

重新拓扑蜘蛛机器人

我为蜘蛛机器人设定的目标是将粗糙的雕刻转变为光滑的硬表面模型。为了做到这一点,我需要用更密集的网格替换原始基础网格的简单拓扑,确保它与身体形状相匹配。此外,重新拓扑还让我可以在过程中进行装饰,将模型的部分区域变成空壳、添加孔洞或在重新拓扑的表面上增加附加细节。

重新拓扑身体。注意多边形如何沿着雕刻的边缘流动。稍后,我们将添加支撑环以精细化边缘,使其更加锐利和平滑。图 7-12。重新拓扑身体。注意多边形如何沿着雕刻的边缘流动。稍后,我们将添加支撑环以精细化边缘,使其更加锐利和平滑。

从身体开始,我像之前一样添加了一个平面(SHIFT-A),并开启了吸附功能,将新几何体投影到雕刻表面上。接下来,我为平面添加了镜像修饰符,并开始沿着表面的大致线条进行操作(参见图 7-12)。最后一步是填充四边形,完成其余表面,同时尽量保持多边形的大小和分布均匀。为了平滑表面上的任何凹痕,你应该选择一个已经重新拓扑过的区域——避免选择边缘和角落——并使用平滑工具几次,均匀地分布几何体。

用新的、更干净的几何体替换雕刻的某些区域。在这里,立方体是手动放置的,并在与重拓扑几何体连接之前被细分了几次。图 7-13. 用新的、更干净的几何体替换雕刻的某些区域。在这里,立方体是手动放置的,并在与重拓扑几何体连接之前被细分了几次。

对于雕刻的某些部分,我希望用更精确的几何体替换自由手绘的粗糙形状。为此,我简单地添加了一个原始体,例如一个大致符合形状的立方体或圆柱体,并将其移到合适的位置。例如,在图 7-13 中,我添加了立方体来形成腿部的插槽,删除了它们的前面和底面,并通过细分它们来获得正确的形状,同时调整周围的几何体以使其适应。

为了进一步完善模型,我在其主要的硬边缘周围添加了支撑环(见图 7-14)。你可以使用诸如 Loop Cut(CTRL-R)、Subdivide(WSubdivide)和 Edge Slide(CTRL-E▸Edge Slide)等工具,或者使用Inset Faces操作符,它可以在所选面周围添加一个具有恒定厚度的边环。结合这些操作符,你可以在模型的关键硬边缘周围建立支撑环。

使用支撑环来收紧重拓扑雕刻的形状图 7-14. 使用支撑环来收紧重拓扑雕刻的形状

你可以通过多种方式为重拓扑网格添加装饰。例如,图 7-15 中左侧的部分是通过在编辑模式下复制(SHIFT-D)重拓扑网格的一些面并将它们上移(关闭吸附)来创建一个新部分。接着,通过拉伸新部分增加厚度,并在边缘添加支撑环,我在模型表面创建了一个凸起区域。图 7-15 中头部的圆形元素是通过创建一个新的圆圈,使用 Blender 的吸附工具将圆圈投影到模型表面,然后关闭吸附并进行拉伸来创建一个凸起区域。为了将其顶部弄平,我通过将 3D 操作小部件的变换方向设置为法线,并使用 S▸Z▸Z▸0 按法线方向缩放中心部分,使其完美平整。

通过将重拓扑与常规建模技术结合来增加装饰图 7-15. 通过将重拓扑与常规建模技术结合来增加装饰

我对腹部(见图 7-16)和腿部(见图 7-17)也使用了相同的过程。在某些区域,我的雕刻存在一些突起或没有打磨光滑的地方,因此在完成重拓扑后,我需要稍微调整一些部分,以确保得到干净的边缘。

由于我只为不同的腿部件雕刻了几种变化,所以在重拓扑时非常容易。每个独特的部件只重拓扑了一次(如图 7-17)然后将其作为链接副本复制,创建需要的腿部副本。和身体一样,我也使用了镜像修改器将腿部件通过对称轴镜像。

复制物体组

因为在这个阶段我并不需要将腿部准确地复制到身体的另一侧,所以我将所有腿部件作为一个组添加到身体的左侧(在对象模式下按 CTRL-G),然后创建这个组的另一个实例(SHIFT-A▸添加▸组实例▸组名)。结果是一个不可编辑的、所有组内对象的重复实例。接着,我将这个组在X轴上缩放为-1,以将其翻转到身体的另一侧。稍后,我可以使用“将副本转换为真实”操作(CTRL-SHIFT-A)将该组转换为实际的几何体(仍然是原始对象的链接副本),但目前,这是一个方便的方式来预览整个模型,而不必创建不必要的对象(见图 7-18))。

重拓扑技巧

总结来说,以下是一些在重拓扑模型时需要遵循的通用技巧:

  • 先建模重要的边缘循环,然后再填充其余部分。

  • 使用支撑环或增加硬边来收紧边缘。

  • 使用 Blender 的重拓扑工具为你的模型添加额外的装饰。

  • 尝试保持均匀的多边形密度,除非你在某个特定区域需要添加更多细节。

  • 注意你模型的轮廓。通常你会从正面看待你正在重拓扑的区域,所以一定要从不同角度查看,确保它是有效的。

  • 尽可能使用更大的多边形。不要使用超过必要的数量!

重拓扑腹部。中间的部分被从腹部的主要部分分离出来,以打破腹部的形状,使其看起来更有趣。图 7-16. 重拓扑腹部。中间的部分被从腹部的主要部分分离出来,以打破腹部的形状,使其看起来更有趣。重拓扑腿部。对于一些区域,我不得不手动清理重拓扑后的网格,或者干脆从零开始建模新的区域,例如腿部的底部。我还手工放置了一些额外的装饰,如铆钉等。图 7-17. 重拓扑腿部。对于一些区域,我不得不手动清理重拓扑后的网格,或者干脆从零开始建模新的区域,例如腿部的底部。我还手工放置了一些额外的装饰,如铆钉等。需要重拓扑的蜘蛛机器人组合元素,腿部已就位。腿部被镜像到身体的另一侧。图 7-18. 需要重拓扑的蜘蛛机器人组合元素,腿部已就位。腿部被镜像到身体的另一侧。

头部拓扑

头部是一个非常复杂的主题,因此值得在这里特别关注。虽然没有一种适用于所有头部的拓扑结构,但有一些重要的原则需要考虑。主要是,在进行头部重拓扑时,你应该集中精力围绕面部的关键特征,特别是嘴巴和眼睛,创建面部环,这样可以方便地将面部变形为熟悉的形状(参见图 7-19)。这些原则适用于你在重拓扑雕刻过的头部或从零开始建模的头部。

通过首先使用良好的拓扑构建面部的重要区域,接着再将头部的其他部分连接起来,会更容易。一般来说,我会从眼睛开始,然后从鼻子向下延伸到嘴巴。接着,我从脸颊、额头和耳朵开始向后工作。最后,我会处理头部的其余部分,直到脖部。通过首先从头部最重要和最复杂的部分向外构建,你将会在关键区域遇到更少的拓扑问题。

标注了主要面部环的头部图 7-19. 标注了主要面部环的头部

眼睛

在创建或重新拓扑一个头部时,几乎总是需要在眼睛周围有一圈干净的面部环形循环(参见图 7-20)。这些面部环形循环应从眼睑的轮廓向外延伸,涵盖眉毛、鼻梁的外部区域和颧骨的上表面。这一圈将使闭眼或抬眉或颧骨变得容易,它反映了面部的基本解剖结构:眼轮匝肌环绕眼睛的方式与这圈面部环形循环完全相同。

眼睛。为眼睛添加边缘循环使其更易于编辑、摆姿势和绑定。注意眼睛内角的泪管,那里上眼睑和下眼睑之间的间隙已被桥接。为了创建眼窝,围绕眼睑的最内层循环只是向后拉伸,然后可以选择填充闭合孔洞。图 7-20. 眼睛。为眼睛添加边缘循环使其更易于编辑、摆姿势和绑定。注意眼睛内角的泪管,那里上眼睑和下眼睑之间的间隙已被桥接。为了创建眼窝,围绕眼睑的最内层循环只是向后拉伸,然后可以选择填充闭合孔洞。

嘴巴

与眼睛类似,口轮匝肌环绕嘴巴,负责张开和闭合嘴巴(参见图 7-21)。为了便于产生嘴巴的常见动作,我们将以相同的方式在嘴巴周围创建一圈边缘循环。这一圈也将使定义嘴唇轮廓并轻松变形变得简单。

鼻部/鼻唇沟

鼻子的复杂特征包括鼻孔和鼻尖。通过在这些区域周围加入面部环形循环,其他部分的鼻子就变得相对容易定义。

嘴部。注意嘴角处,唇部表面的边缘环线会聚集并沿着嘴内流动。尽量保持相同的边缘或面部环线围绕上下唇的轮廓流动。最简单的方法是从这个边缘环线开始,然后向内调整。图 7-21. 嘴部。注意嘴角处,唇部表面的边缘环线会聚集并沿着嘴内流动。尽量保持相同的边缘或面部环线围绕上下唇的轮廓流动。最简单的方法是从这个边缘环线开始,然后向内调整。

法令纹是鼻部的重要特征,在咆哮或年长的面部尤为明显。增加一条面部环线,沿鼻梁和嘴角两侧延伸,在下巴下方或下巴处连接,可以帮助我们定义这个区域(参见图 7-22,“图 7-22. 鼻部。这里,沿法令纹和鼻梁延伸的面部环线用蓝色突出显示,绕过鼻孔和鼻尖的面部环线用绿色突出显示。创建围绕鼻孔内部的面部环线也很有用。”)。鼻梁的形成方式是通过连接围绕两眼的环线来实现的。

鼻部。这里,沿法令纹和鼻梁延伸的面部环线用蓝色突出显示,绕过鼻孔和鼻尖的面部环线用绿色突出显示。创建围绕鼻孔内部的面部环线也很有用。图 7-22. 鼻部。这里,沿法令纹和鼻梁延伸的面部环线用蓝色突出显示,绕过鼻孔和鼻尖的面部环线用绿色突出显示。创建围绕鼻孔内部的面部环线也很有用。

耳朵

耳朵因人而异,但其整体结构相对恒定。由于耳朵主要由软骨组成,没有肌肉或关节,因此它是头部的一个相对静态特征,因此在需要时是隐藏尴尬三角形的好地方。通过用沿着耳垂延伸的边缘环定义耳廓和反耳廓(耳朵的外部和内部弯曲部分,在图 7-23 中分别用蓝色和绿色表示),我们可以轻松定义耳朵的整体结构。耳朵的另一个主要特征是耳道。此外,在构建耳朵时,有时尝试用单一的边缘环围绕耳朵,这样可以更容易地将耳朵连接到头部。实现这一点的一种方法是最初将耳朵构建为一个单独的网格,然后在外部创建一个环状边缘,在放置耳朵并将其与头部连接之前。

耳朵图 7-23. 耳朵

回顾

本章中,你学会了如何重新拓扑具有任意拓扑的网格,无论是高多边形雕刻还是由多个独立原始体构成的集合,创建平滑、清洁且容易细分的拓扑。我们讨论了如何使用 Blender 的吸附工具重新拓扑网格,以及其他替代方法,如 Bsurfaces 插件和 Shrinkwrap 修饰符。然后我们使用这些工具对在早期章节中创建的网格进行重新拓扑,得到新的、更好的拓扑结构。

在第八章中,我们将展开这个新拓扑,为其提供纹理坐标,然后在第十章和第十一章中为我们的最终模型烘焙和绘制纹理。本章对模型所做的改进将使这个过程更容易,并且在我们进入第十四章时,也会提高渲染效率。

第八章 UV 展开

在本章中,我们将对目前为止创建的模型进行 UV 展开(如果需要的话)。UV 展开描述了为模型的面创建一组二维坐标的过程,随后我们可以用它来为模型应用纹理。创建 UV 坐标类似于沿着称为缝隙的线条切开模型表面,并将其展开成平面(见 图 8-1)。如您所知,Blender 中的网格由连接在一起的顶点构成,这些顶点形成了边和面。模型中的每个顶点都有自己在三维视口中的空间坐标:xyz。这些坐标决定了顶点在三维空间中的位置。类似地,UV 坐标是为模型的点创建的另一组二维坐标,可以让您将二维图像映射到网格的表面上。

其他类型的纹理坐标

UV 坐标只是将图像映射到 Blender 中对象的一种方式。Blender 还拥有多种程序化坐标,您可以通过对网格应用某种投影来分配纹理。这些坐标的优点是自动生成,适用于广泛的应用,但它们缺乏 UV 展开所具有的精确度,后者可以让您精确指定网格上的哪些点与图像的哪些部分对应。

UV 展开类似于将 3D 物体展开成 2D 平面。这样,您的网格就会拥有一组二维坐标,然后可以用来将二维图像映射到您的对象上。图 8-1. UV 展开类似于将 3D 物体展开成 2D 平面。这样,您的网格就会拥有一组二维坐标,然后可以用来将二维图像映射到您的对象上。

编辑 UV 坐标

要编辑 UV 坐标,我们使用 Blender 的 UV 图像编辑器和 3D 视口。通常,在处理 UV 坐标时,切换到 Blender 的 UV 编辑布局会很有帮助,您可以通过在信息编辑器头部的下拉菜单中进行切换(见 图 8-2)。这样就会弹出左侧的 UV 图像编辑器和右侧的 3D 视口。

通过右键单击它们之间的边界并选择“拆分区域”,在 UV 图像编辑器和 3D 视图之间添加一个属性编辑器是很有帮助的。设置新的区域为属性编辑器后,您可以访问对象数据标签,用于在不同的 UV 坐标集之间切换,以及渲染标签,用于访问纹理烘焙控制。

UV 网格

我们将在图像编辑器中使用 UV 网格来确定纹理或图像的哪部分应用到网格的某一部分。该网格的坐标范围从 0 到 1,原点位于左下角。默认情况下,这些坐标会乘以您选择的图像的大小,从而给出一个以像素为单位的数值。如果您没有选择图像,Blender 会假设网格的宽度为 256 像素,并提供基于此比例的坐标。您可以通过按 N 来调出 UV 图像编辑器的属性区域,并在显示面板中勾选 标准化,此时将返回 0 到 1 之间的 UV 坐标。UV 图像编辑器遵循与 3D 视图相同的规则:您可以使用与 3D 视图相同的快捷键移动、旋转和缩放任何选定的顶点,并且可以使用 XY 键将操作限制在 UV 网格的水平和垂直轴上。默认情况下,网格不会有任何 UV 坐标,因此在展开之前没有任何可以选择的内容。

稍作修改的 UV 图像编辑器布局。您可以通过在新 .blend 文件中设置窗口布局并从文件菜单选择“保存用户设置”来将其保存为默认布局。图 8-2. 稍作修改的 UV 图像编辑器布局。您可以通过在新 .blend 文件中设置窗口布局并从文件菜单选择“保存用户设置”来将其保存为默认布局。

当你使用 UV 坐标将图像映射到网格时,图像会按比例缩放以填充 UV 网格,然后网格的每个点都会映射到图像中相应的点。超出 UV 网格边缘的图像会被重复或扩展,以便超出网格的 UV 坐标也能映射到图像的某部分。这允许你通过展开网格,使其比 UV 网格大得多,从而在网格表面重复一个可平铺纹理(可以无缝地横向和纵向重复的纹理)。反之,你也可以展开整个网格(甚至多个网格),使所有 UV 坐标都适合于 UV 网格内,然后使用一个单一的(非平铺)图像来唯一地为物体表面上的每一部分添加纹理。两种选项在图 8-3 中展示。

UV 解包的两种选项。上图:将物体的所有面片打包到 UV 网格中,以独特地为每个部分创建纹理。下图:将图像平铺到物体的表面。图 8-3。UV 解包的两种选项。上图:将物体的所有面片打包到 UV 网格中,以独特地为每个部分创建纹理。下图:将图像平铺到物体的表面。

在创建具有较为重复或均匀纹理的物体时,比如砖墙或土壤,可拼接纹理能为你节省很多时间。另一方面,在创建角色和其他独特物体时,你需要将物体的 UV 坐标打包到单一网格中,以便为每个部分制作不同的纹理。

解包工具

要开始解包模型,你需要进入编辑模式(如果还未进入,按 TAB 键切换)。你可能还需要切换到 3D 视图窗口的边缘选择模式,因为标记 UV 接缝时,直接选择边缘最为便捷。要开始解包你的物体,按下 U 键,这将弹出若干解包操作选项,如 图 8-2 所示。这些操作选项如下:

解包。这可能是最实用的 UV 解包方法。Blender 会尝试通过将你的网格“拉伸”并将其展平,仿佛它是由可拉伸的布料制成的,同时尽量减少这种拉伸不可避免地带来的扭曲。(为了让此过程适用于封闭网格,你需要在网格上标记一些 UV 接缝。)

智能 UV 投影。该方法将首先从一个角度自动投影网格中尽可能大的部分,排除不可见的面或者背离该视角的面。然后它会依次投影更小、更复杂的部分,并将它们分割到不同的 UV 区域。这种效果对于简单网格通常效果不错,但对于更复杂的形状,常常会产生大量的小区域,操作起来比较困难。

光照贴图包。这一特殊的 UV 解包选项用于将光照烘焙到纹理上,将网格中的每个单独多边形投影到一个独立的矩形 UV 区域。光照贴图包选项非常高效地使用了 UV 坐标空间,这使得它在为游戏引擎烘焙光照纹理时非常有用,但对于实际的纹理制作并不是很实用。

跟随活动四边形。此选项会跟随活动四边形(即在面选择模式下选中多个面时高亮显示的四边形——通常是最后选中的那个),并均匀地展开从其辐射出去的面。此选项特别适用于具有网格状拓扑的网格(即没有极点的网格),例如管道、圆柱、平面(近似平面)网格等。它在你先将一个四边形展开为完美矩形(90 度角)时效果最佳:1)使用 U展开展开;2)在 UV 图像编辑器中选择展开后的每个边,并将其缩放至完全水平/垂直;3)使用 CTRL-L 选择连接到当前选择的其他网格部分,展开其余网格;4)使用 跟随活动四边形 展开操作符进行均匀展开。然而,此选项不适用于具有更复杂拓扑的网格。

立方体投影。此选项将网格的面投影到一个立方体的表面上。它适用于大致呈立方体形状的物体。

圆柱投影。此选项与立方体投影类似,但将网格视为圆柱形状。

球形投影。此选项也类似于立方体投影,但将网格视为球形。

视图投影。此选项将网格按照其在 3D 视口中的外观进行投影。它特别适用于在将网格固定后,先投影网格的一小部分平面,再使用展开操作符投影其余部分。

视图投影(边界)。此选项与视图投影类似,但在投影网格后,会拉伸 UV 坐标以填满整个 UV 坐标空间。

重置。此选项将每个面拉伸到整个 UV 坐标空间。

接缝

想象一下试图将一个沙滩球展平。即使你将它放气,你也无法将它展平,使得每个表面部分都平铺在地面上,除非至少做出一次切割,切割得越多,展平时所需的拉伸和变形就越少。当使用展开操作符展开网格时,也有类似的情况。为了使操作符能够工作,你需要标记网格分割的接缝。理想情况下,你应该尽量减少接缝的数量,这样在进行纹理绘制时就不需要跨越太多的接缝,但你也需要标记足够的接缝,以避免网格在 UV 展开时产生扭曲。在这种情况下,扭曲是由于 Blender 必须拉伸和变形几何体,以便将其展平成平面。当你使用这些扭曲的 UV 来将图像映射到 3D 物体时,纹理也会显得被拉伸。

要标记 UV 接缝,进入编辑模式并选择边缘,然后使用 CTRL-E▸标记接缝将边缘标记为 UV 接缝。要快速选择两条边之间的最短路径(这是选择长串边缘进行标记的好方法),选择一条边,然后按住 CTRL 并右键点击你想作为终点的边缘。你也可以按住 ALT 并右键点击一次性选择整个边环,这样就可以同时标记多个边缘。像这样的快捷键会使得一次性标记多个边缘变得更快捷。

一般来说,你应该尽量将 UV 接缝隐藏在那些不会造成问题的地方,并且能够最小化展开时的拉伸。网格中的山谷和褶皱是隐藏接缝的好地方,还有一些不会太引人注意的区域。尽量对称地标记接缝,这样有助于理解你的展开,并允许你在后期对纹理进行复制和粘贴(如果你的展开也是对称的)。最后,将你的网格拆分成合理的岛屿(由接缝围起来的面组)。例如,在蝙蝠生物的例子中,我将躯干、翅膀、头部、手臂和腿部、手和脚拆分成独立的部分,就像在图 8-4 中看到的那样。

这里显示的是蝙蝠生物的 UV 接缝,采用线框视图展示。虽然一些接缝(不可避免地)出现在可见区域,比如翼外缘周围,大多数则隐藏在不太显眼的地方,比如腿部内侧、耳朵和脖部背面。像这样隐藏接缝可以让你在后期处理纹理接缝时更加轻松。图 8-4. 这里显示的是蝙蝠生物的 UV 接缝,采用线框视图展示。虽然一些接缝(不可避免地)出现在可见区域,比如翼外缘周围,大多数则隐藏在不太显眼的地方,比如腿部内侧、耳朵和脖部背面。像这样隐藏接缝可以让你在后期处理纹理接缝时更加轻松。

钉住顶点

使用展开操作符展开网格可能不会给你完全想要的展开结果;例如,某个区域可能会被压缩或比例不对。为了解决这个问题,你可以在 UV 图像编辑器中固定顶点,这样在重新展开网格时它们就不会移动(在 UV 编辑器中快捷键为 E,在 3D 视口中为 U)。通过选择一个或多个顶点并按 P 锁定它们。(固定的顶点会以红色突出显示。)现在当你重新展开时,Blender 会保持固定的顶点不动,并拉伸其余的展开部分来适应这个变化。要取消固定顶点,选择它们并按 ALT-P。

使用固定点的一个重要原因是为了建立对称的展开。为此,首先展开网格,然后选择一串沿网格中间的顶点,并在 UV 图像编辑器中将它们排列成一条直线(沿适当的方向)。一种简单的方法是将它们在 x 轴或 y 轴上缩放到零,然后按 P 锁定它们。现在,在 UV 编辑器中按 E 重新展开。这样可以得到更对称的展开,如图 8-5 所示。

固定点还可以用于修复大型网格上相互重叠的区域,特别是在处理长而管状的网格时,UV 展开可能会不必要地盘绕。要解决这个问题,可以在网格的两端各固定一个顶点,使这些顶点在 UV 空间中分得更远,然后重新展开网格。

最后,当你展开一个有很多不同部件的网格时,完成一个 UV 岛的展开后,可以将其固定,以便在展开其他部件时不打扰到已经完成的部分。Blender 默认情况下会重新展开你在 UV 图像编辑器中可见的所有内容,因此这是保持已经完成的展开部分安全的一种好方法。

打包

在展开角色和其他独特对象时,将所有 UV 岛打包到一个单一的网格中通常是很有帮助的。要自动执行此操作,可以使用打包操作符(CTRL-P),但通常通过像拼图一样移动、缩放和旋转 UV 岛,你可以做得更高效。为了加快选择整个岛屿的速度,可以通过顶部工具栏的按钮切换到 UV 图像编辑器中的岛屿选择模式。

为了让蝙蝠生物的躯干获得对称的展开,我进行了正常展开,然后将胸部中心的顶点固定成垂直线并再次展开。结果是一个对称的 UV 岛,后续更容易进行纹理绘制。图 8-5。为了让蝙蝠生物的躯干获得对称的展开,我进行了正常展开,然后将胸部中心的顶点固定成垂直线并再次展开。结果是一个对称的 UV 岛,后续更容易进行纹理绘制。

在打包 UV 岛时,确保保持岛屿的比例相似。要平均你所选的任何 UV 岛的比例,可以使用 CTRL-A 或手动调整岛屿的比例。不过,若你已经分配了 UV 测试网格,则更容易看到岛屿的比例是否正确(参见测试你的 UV 坐标)。

分配 UV 纹理

在模型上显示纹理有很多方法。首先,你可以使用 Blender GLSL 材质来创建具有纹理选项的高级材质,这些选项能够响应光照和透明度。不过,对于一些更简单的应用,比如预览如何将单张图片映射到展开的物体上,你可以在 UV 图像编辑器中将该图片分配给模型。为此,请按照以下步骤操作:

  1. 选择对象并进入编辑模式

  2. 选择所有面并展开它们,如果你还没有这样做的话。

  3. 从 UV 图像编辑器头部的图像下拉菜单中选择你要分配给网格的图像。或者,你可以通过图像打开图像来打开一张图像,或通过图像新建图像来创建一张图像。

  4. 要在 3D 视口中查看你的图片,请转到属性区域的显示面板,并启用纹理实心

测试你的 UV 坐标

为了确保你的 UV 展开效果良好,并且区域没有变形过度,应用一个 UV 测试网格,以查看展开对网格的影响(参见图 8-6)。为此,请按照以下步骤操作:

  1. 在 UV 图像编辑器中,确保对象处于编辑模式,点击图像新建图像,将新图像应用到你的网格,并勾选UV 测试网格选项。这将生成一个测试网格图案并将其分配到你的网格的 UV 坐标上。

  2. 在 3D 视口的属性区域的显示选项中启用纹理实心。你应该会看到棋盘格样式的纹理应用到你的网格上。

现在你应该能够轻松地看到展开中的问题区域,比如有拉伸不自然的地方或网格部分过大或过小的地方。你可以在 UV 图像编辑器中修复这些区域,并在 3D 视图窗口中实时看到变化。

展开蝙蝠生物

正如你在前面的讨论中看到的,我展开了蝙蝠生物并将其打包到一个单独的 UV 方块中,首先标记接缝,然后使用展开操作符展开(见图 8-7)。对于躯干,我通过选择一条位于躯干正面中间的顶点线,在 UV 图像编辑器中将其沿 x 轴缩放为零 (SX0),然后固定这些顶点,再次进行展开 (E),使得展开结果更加对称。接下来,我对所有岛屿的比例进行了平均,将它们打包到 UV 网格中,并稍微放大了头部,以相对于其他区域提供更多的纹理空间(因为头部是身体最容易引起注意的部分)。最后,我将指甲和牙齿展开到相同的布局中,将它们适当地填充到其他岛屿之间的空隙里。

检查你的 UV 展开情况,使用 UV 测试网格图像。这张网格将帮助你识别未展开良好的区域,以及那些与其他展开部分不成比例的区域。图 8-6. 使用 UV 测试网格图像检查你的 UV 展开情况。这个网格将帮助你识别未展开良好的区域,以及那些与其他展开部分不成比例的区域。

对于眼睛,我只展开了内部网格,方法是将 3D 视图窗口对准眼睛正面,并使用“从视图投影(边界)”操作符。稍后,我会调整眼睛网格的 UV,以适应我将为其绘制的纹理。有关眼睛展开和纹理绘制的更多内容,请参见第十一章。

展开丛林神庙

丛林神庙有许多独立的元素,而不是逐一讲解所有部分,我将只讲解最困难的部分。(丛林神庙中没有在下面讨论的物体,简单地使用了之前讨论的技术进行展开。)

石块

在丛林神庙中有大量的石块,所以我不想为每个石块单独添加纹理。相反,我希望能够相对快速地展开它们,并为每个石块重用相同的纹理。我快速且粗糙的解决方案是在编辑模式下使用“选择尖锐边缘”操作符,选择石块的尖锐边缘(在 3D 视口头部选择▸尖锐边缘),然后将其标记为接缝(见图 8-8)接着,我使用展开操作符一次性展开所有石块。我手动去除了一些区域的接缝,比如破损的石块和一些块的边缘,在这些地方我希望纹理能环绕而不是留下明显的接缝。我只在场景前景中的块上手动放置接缝,并且手动展开这些块,确保它们展开得很好。

蝙蝠生物的最终 UV 布局图 8-7. 蝙蝠生物的最终 UV 布局

树木

对于树木,我在它们的背面(朝向相机的那一侧)和树干与根部的连接处添加了接缝。然后,我使用展开操作符展开了它们。接着,我在 UV 图像编辑器中选择了一串顶点,沿着根部或树干的中间位置排列,并将其固定。再次展开后,我得到了对齐良好的 UV 岛。

上述技术在展开类似树皮这样的纹理时非常有用,因为树皮纹理具有强烈的纹理方向性或颗粒感,因此所有部分都会与纹理的纹理方向对齐。我将两棵树都放入了同一个 UV 空间(见图 8-9),这样之后我就可以同时给它们纹理了。

在丛林神庙场景中自动放置石块的接缝。我使用“选择锐边”选择了石块的边缘,然后将其标记为接缝并展开它们。图 8-8. 在丛林神庙场景中自动放置石块的接缝。我使用“选择锐边”选择了石块的边缘,然后将其标记为接缝并展开它们。树木对象的 UV。活动对象显示为可编辑的 UV 岛,而其他选中的(但不是活动的)对象在 UV 图像编辑器中呈灰色。图 8-9. 树木对象的 UV。活动对象显示为可编辑的 UV 岛,而其他选中的(但不是活动的)对象在 UV 图像编辑器中呈灰色。

多个 UV 映射

你可以为一个对象添加多个 UV 坐标集并独立编辑它们。这对于在复杂材质中使用多个纹理以及纹理绘制时非常有用。在纹理绘制时,你可以使用一个 UV 集合将 UV 岛整齐地打包以用于最终的纹理,并使用另一个 UV 集合为无缝纹理或照片指定克隆纹理信息。在后续章节中,我有时会提到为这些目的创建额外的 UV 集合。

对于树木,我创建了第二个 UV 坐标集,以配合可平铺的树皮纹理,同时将第一个 UV 集合保存用于烘焙环境光遮蔽和最终的纹理贴图。为了创建这个第二个 UV 集合,我打开了属性编辑器的对象数据选项卡,并点击 UV 映射面板中的 + 图标来创建一个新的 UV 集合。你可以从这个面板中选择现有的 UV 集合并编辑任何一个处于活动状态的集合。为了展开我的树木的第二个 UV 集合,我使用了“跟随活动四边形”操作符,这适用于具有大致圆柱形拓扑的树木部分,并将它们展开并打包,使它们填充 UV 网格的宽度(见图 8-10)。之后,这将允许我在树干和根部的长度上多次平铺纹理,而不会在纹理不匹配的地方创建太多接缝。

在树木的第二组 UV 集中,我使用 Follow Active Quads 展开了 UV 岛屿,然后缩放以填充 UV 网格的宽度。稍后,这将用于沿树木及其根部的长度对齐可平铺纹理。图 8-10。在树木的第二组 UV 集中,我使用 Follow Active Quads 展开了 UV 岛屿,然后缩放以填充 UV 网格的宽度。稍后,这将用于沿树木及其根部的长度对齐可平铺纹理。

物体之间共享 UV 空间

就像你通常会希望将单个物体的所有 UV 岛屿合并到 UV 网格中一样,在展开多个物体以进行纹理绘制时,你可能希望它们都共享相同的 UV 空间,这样它们就可以使用相同的纹理。这样做将节省你在绘制纹理时的时间,并在渲染时节省内存。要同时查看多个物体在 UV 图像编辑器中的 UV 坐标,选择物体后进入你想编辑的物体的编辑模式。在 UV 图像编辑器中,打开视图绘制其他物体。现在,所选物体的 UV 坐标将以灰色显示(尽管只有当前物体可以编辑),这样你就可以将多个物体对齐到同一个 UV 网格中(参见图 8-11)。

各种叶片物体的 UV 坐标。大多数被展开以共享相同的 UV 坐标。图 8-11。各种叶片物体的 UV 坐标。大多数被展开以共享相同的 UV 坐标。

叶片与草

带有开放边缘的平面网格特别容易展开,因为你不需要标记任何缝隙。我简单地对场景中的所有叶片使用了 Unwrap,将它们都展开为共享相同的 UV 空间(参见图 8-11)。这不包括 IvyGen 叶片,它们已经通过 IvyGen 插件自动展开了。对于圆柱形元素,比如草的茎部,我根据需要标记缝隙,展开一个面(确保它展开为矩形),然后选择其余的网格(CTRL-L),并使用 Follow Active Quads 进行展开。

雕像

对于雕像网格,我手动标记了所有主要部分的缝隙,并使用 Unwrap 操作展开。图 8-12 展示了结果。你可以尝试使用智能展开,可能会得到适合这种网格的结果,但手动展开总是能提供更多的控制。

其他元素

丛林寺庙场景中的其他元素都很直接,采用了迄今为止使用的相同策略。一些元素,比如水体,不需要 UV 纹理,因为它们将完全使用程序材质。(第九章将讨论创建不需要纹理的程序材质,如水和玻璃。)

雕像的 UV,展开并打包到 UV 网格中图 8-12。雕像的 UV,展开并打包到 UV 网格中

展开蜘蛛机器人 UV

对于蜘蛛机器人,我尽力将整个模型的 UV 展开压缩到一个单一的纹理中(见图 8-13")),排除了那些只使用程序材质的少数部分。由于模型中大部分使用了相似的材质,因此一次编辑整个纹理变得很容易。通过从较大的元素开始,比如身体和腿部,然后将较小的部分挤压到它们之间的空隙中,我能够产生一组非常高效打包的 UV,确保重要元素获得所需的纹理空间。你可以随时使用 UV 网格纹理检查不同部分是否以正确的比例展开且没有拉伸(见图 8-13"))。

应用修改器和副本

在之前的章节中,我使用修改器对蜘蛛机器人(Spider Bot)的身体和腿部进行建模和对称性重新拓扑。通过这样做,我减少了所需的工作量,并复制了一些腿部的部件。虽然我本可以保持腿部部件为副本,但在这个阶段应用一些修改器会更好,特别是镜像修改器,因为否则纹理会对称地映射到物体的两侧。这将导致物体中间出现明显的对称性;更糟糕的是,如果我在纹理中使用任何文字或图形,它们会反向出现在网格的镜像一侧!因此,我对蜘蛛机器人许多组成部分应用了镜像修改器。

不幸的是,Blender 不允许对共享网格数据的对象应用修改器。这使得在使用链接复制(如蜘蛛机器人中的腿部)将模型的一些部分复制时,应用修改器变得困难,因为这些部分现在有多个对象共享相同的网格数据。为了解决这个问题,可以使用曲线/元/表面/文本操作符(ALT-C),这将对对象应用修改器并将其转换为正确的几何体。因为你只需要应用镜像修改器,而不是细分曲面修改器,首先去除除了镜像修改器以外的所有修改器,然后使用该操作符。接下来,你需要去除其他重复体上的镜像修改器,因为它们现在会使用已经镜像过的网格数据。

在蜘蛛机器人 UV 的情况下,大部分的展开是使用 Unwrap 完成的。展开后,我将所有 UV 坐标打包,使模型占据相同的空间。(每个重复部分只需展开一次。例如,腿部的各个部分不需要分别展开,只要它们的重复部分使用相同的网格数据即可。)图 8-13。在蜘蛛机器人 UV 的情况下,大部分的展开是使用 Unwrap 完成的。展开后,我将所有 UV 坐标打包,使模型占据相同的空间。(每个重复部分只需展开一次。例如,腿部的各个部分不需要分别展开,只要它们的重复部分使用相同的网格数据即可。)

高效共享 UV 空间

对于某些区域,我共享了类似部分的 UV 空间(见 图 8-14)。例如,对于腿部下方的机械元素,我将所有 UV 岛放置在 UV 网格的右上角区域。这样做会在烘焙纹理时出现错误,但通过在这些区域涂抹一个通用的纹理,我可以在不占用太多 UV 空间的情况下为多个模型部分添加纹理。(由于这些部分相对隐蔽,因此这些区域缺乏独特的纹理不会造成太大影响。)

蜘蛛机器人的一些机械元素被展开,分享了 UV 网格的同一部分。腿部下方的小型机械关节(右)被展开到 UV 网格的小角落(左)。图 8-14。蜘蛛机器人的一些机械元素被展开,分享了 UV 网格的同一部分。腿部下方的小型机械关节(右)被展开到 UV 网格的小角落(左)。

确保所有物体根据其大小分配大致相同的 UV 空间,对于多个物体来说,这更为困难,因为“平均岛屿缩放”操作符(CTRL-A)仅适用于网格内的 UV 岛屿。然而,通过使用 UV 网格纹理并在 3D 视口中启用“纹理实心”显示,你可以判断物体 UV 坐标的缩放,并相应地进行调整。

在回顾中

这部分内容结束了我在前几章中创建模型的展开操作。我们已经了解了如何标记接缝来展开网格,如何优化 Blender 展开结果。我们还学习了如何将网格的 UV 坐标打包在一起,这样就可以用一张图像为多个物体添加纹理。在第九章中,我们将继续为我们的项目添加粒子系统,以创建毛发和草地,然后在第十章和第十一章中进行纹理烘焙和绘制,并在第十二章中创建材质。在这些后续章节中,我们将把图像应用到我们在本章创建的 UV 坐标上,以便进行烘焙和绘制纹理,最终作为材质的输入。

第九章. 头发与粒子系统

Blender 的粒子系统是一个强大的工具,可以用来创建静态和动态的头发及动画粒子效果。它们还可以用来在场景中填充实例化的物体,从而创建草地和其他植物。在本章中,我们将使用 Blender 的头发粒子为蝙蝠生物创建毛发,并为丛林神庙场景创建草地。

当你将粒子系统添加到物体上时,系统最初设置为动态粒子系统,它会生成点状粒子,并通过 Blender 的物理引擎进行模拟。不过,在本章中,我们主要使用粒子的“头发”类型来创建从网格表面发射的发丝(默认为此类型,参见图 9-1)。这些发丝将响应物理影响,并可以在模型表面上梳理,还可以通过程序化方法修改,呈现出头发、毛发、草或其他多种材质的效果。你将学会如何从图 9-1 中展示的默认系统开始,逐步创建真实的头发和毛发,接着在第十二章中为其添加材质,然后在第十四章中进行渲染。

头发粒子

为了让 Blender 的基本粒子系统呈现出毛发或头发效果,我们需要给它一些引导。首先,我们要确定毛发的生长位置和方式,然后我们可以梳理生成的头发,以更好地控制它的外观。但我们不会对模型上的成千上万根头发进行逐一梳理,而是先手动定义一些作为父粒子的头发,然后让 Blender 自动通过子粒子填充其余部分。这些步骤在图 9-2 中有所展示:首先,添加粒子系统 1;接着,使用顶点组限制头发生长的区域 2;然后,梳理头发 3;最后,添加子粒子 4。最终,你将得到一个基础渲染效果 5。

选择添加头发的物体

在为模型创建头发或毛发时,需要思考的一个问题是,你希望将粒子系统赋予哪个网格,因为这一点可以通过多种方式来处理。最简单的选择是将粒子系统直接添加到你已建模并打算后续纹理化和渲染的网格上。然而,这意味着你将无法再编辑网格(至少无法编辑顶点顺序),因为对模型顶点顺序的修改会破坏头发的效果。

Blender 中的标准粒子系统,粒子系统类型设置为头发图 9-1. Blender 中的标准粒子系统,粒子系统类型设置为头发!不同阶段的头发粒子系统图 9-2. 不同阶段的头发粒子系统

对于蝙蝠生物,最终渲染将使用通过对模型应用某些 Multires 细分而创建的网格,并将其余部分通过位移贴图重新创建。因为这需要创建一个新的网格,我可以选择在该阶段创建头发,或者使用不同的网格创建头发系统,并将其保存在.blend文件中以便最终渲染时使用。后者的选项让我可以在一个“安全”的网格上工作,然后继续为毛发进行工作——如果稍后对“皮肤”模型进行进一步修改(在合理范围内),这个网格不会改变。我将仅使用这个网格来容纳角色的头发,并且其表面不会被渲染。

创建头皮

在为角色设计发型时,类似的策略也很有用。虽然我们可能希望对头部模型进行各种修改,但头骨的形状很可能保持相对静态。因此,为了保持头发与模型的分离,通常有用的方法是创建一个“头皮”对象,将头发添加到该对象上,这可以通过复制头部网格并删除不需要的部分来实现(参见图 9-3)。然后,头发的粒子系统可以添加到这个对象中。

创建头皮以容纳角色头发的粒子系统。这使得你可以继续修改头部模型,而不会影响头发。在这里,二者并排显示,但通常它们会重叠在一起。图 9-3. 创建头皮以容纳角色头发的粒子系统。这使得你可以继续修改头部模型,而不会影响头发。在这里,二者并排显示,但通常它们会重叠在一起。

对于蝙蝠生物,我通过复制我的雕刻高分辨率网格并应用 Multires 修改器在 1 级上,创建了一个新的网格来容纳粒子系统。对于具有形状键的网格,可以使用“转换为网格”操作符(ALT-C▸从曲线/元件/文本生成网格)。这将所有修改器和形状键应用到网格上。

头发的顶点组

默认情况下,粒子系统从物体表面的各个地方发射粒子。为了将头发限制在模型的特定区域并控制头发的长度和行为,我们使用顶点组。顶点组是网格中顶点的子集,像角色的腿部或墙壁的特定部分。你可以在编辑模式或权重绘制模式下将顶点分配给这些组。

顶点也可以部分分配给一个组,且该组的权重(即它们属于该组的程度)可以设置为 0 到 1 之间的任何值。这允许在分配和未分配到组的顶点之间进行平滑渐变和混合。

一旦创建,顶点组可以用于控制修改器的效果,便于在编辑模式下快速选择顶点,并影响粒子系统。通过使用顶点组,我们可以在权重绘制模式下“绘制”头发的位置,然后将顶点组分配给粒子设置,告诉 Blender 只在我们想要的位置创建粒子。

权重绘制

Blender 提供了两种编辑顶点组的方法。第一种是在编辑模式下手动为一个组分配权重,使用属性编辑器中的对象数据标签的按钮和 3D 视图区域中的工具(按N可以调出)。这种方法适用于定义更精确的组,比如我们在第四章和第六章中使用的,用来限制位移修改器的效果。

但如果你的目标是生成更平滑、更不精确的组,并且有更多的变化和随机性,Blender 的权重绘制模式工具(如图 9-4 所示)会是更好的选择。进入权重绘制模式(CTRL-TAB,或者使用 3D 视图头部的模式下拉菜单)可以使用画笔绘制顶点权重。

权重绘制模式中的标准画笔工具如下:

混合。用画笔指定的权重替换当前的权重。这是绘制顶点组的标准画笔。

模糊。模糊相邻顶点之间的权重,适用于平滑过渡。

添加。增加顶点的权重。

减法。从顶点的权重中减去一个值。这个画笔作为橡皮擦非常有用。

乘法。将顶点当前的权重乘以一个特定的值。将权重设置为 0 可以作为橡皮擦使用;使用更高的值可以减少顶点的权重,而不完全从当前组中移除顶点。

加亮。如果新权重大于当前顶点的权重,则将顶点的当前权重替换为你指定的权重。

加深。如果新权重较小,它将用您指定的权重替换顶点当前的权重。

Blender 的默认画笔效果很好,因此您可能不需要自己制作画笔,尽管您可以按照第六章中描述的方法来制作。

权重绘制模式。红色区域表示完全分配给当前组的顶点,蓝色区域表示未分配给当前组的顶点。 图 9-4。权重绘制模式。红色区域表示完全分配给当前组的顶点,蓝色区域表示未分配给当前组的顶点。

毛发密度

为了控制蝙蝠生物毛发的生长位置,我需要绘制一个顶点组,定义我希望毛发生长的位置以及不希望毛发生长的位置。我首先添加了一个新的顶点组,命名为毛发密度。然后在权重绘制模式下(CTRL-TAB),我开始使用混合类型画笔为我希望有毛发的区域分配到该组。使用减去画笔可以去除一些区域,并且可以使用模糊画笔平滑毛发区域和无毛发区域之间的过渡。(因为我现在只编辑毛发密度,所以顶点组的边界仍然会有长毛发。为了让毛发区域渐变成较短的毛发,我稍后会创建一个第二个顶点组来控制毛发长度。)

图 9-4 显示了我的毛发密度组:上半身和大腿上部的区域完全分配给该组,像手臂和小腿这样的区域部分分配,而像翅膀和面部这些不希望有毛发的区域则没有分配。

要完全从顶点组中移除网格的一部分,您可以在权重绘制模式下使用减去画笔,但在编辑模式下做得更精确。为此,使用属性编辑器的对象数据选项卡来编辑顶点组,并通过在编辑模式中选择顶点,按“分配”或“移除”按钮来手动添加或删除顶点。例如,在蝙蝠生物的情况下,我手动选择了翅膀,并将其从密度(和长度)顶点组中移除,以确保翅膀不会长毛。

毛发长度

头发长度顶点组(见图 9-5)通过定义我们粒子系统所创建的头发的生长长度,控制头发的长度,相对于我们在粒子系统设置中选择的最大长度。这个组类似于头发密度组,不同之处在于我给胸部和骨盆分配了比其他区域更多的权重,从而使它们拥有最长的头发,并且我在不同区域之间显著模糊了权重,产生了头发长度的平滑过渡。

在绘制长度组时,你可以在头发密度组的边界外进行绘制,而不用担心,因为头发不会在密度组之外生长。这允许你,例如,在密度组的边缘生长长发,如果你愿意的话。

头发长度顶点组图 9-5. 头发长度顶点组

添加粒子系统

在添加了基本的头发顶点组之后,我接下来创建了一个粒子系统来“生长”头发。为此,我进入了属性编辑器的粒子选项卡,通过右侧的+图标添加了一个新的粒子系统。(你可以在同一物体上添加多个粒子系统,并通过粒子选项卡顶部的选择器在它们之间切换。)

添加新的粒子系统会弹出一大堆面板,就像在图 9-1 中显示的那样。我开始修改其中的一些。首先,我将粒子系统类型从动态粒子发射器改为头发系统,通过将类型设置更改为“Hair”。这一更改最初导致网格看起来像个疯狂的毛球。为了将头发粒子系统变得有用,我使用了我为头发长度和密度创建的顶点组来限制头发的生长。然后,我为粒子分配了设置,梳理并修剪了头发,使其看起来符合我的要求。为了让这些阶段更容易理解,我将首先讨论在创建头发类型粒子系统时,粒子系统的主要面板。它们按顺序在“属性编辑器”的“粒子”选项卡中讨论。

粒子系统属性

在属性编辑器的粒子选项卡顶部,你会看到一个面板,显示分配给活动物体的现有粒子系统。下面是一些基本选项,用于定义你正在创建的粒子系统类型:

类型(头发/发射器)。将此设置为Hair以创建头发和毛发。发射器类型用于创建动态的点粒子。

高级。打开此选项以获得对粒子发射的更大控制。

细分。这决定了每根发丝使用多少个控制点,以便控制发型的形状。更多的控制点意味着你可以在项目中加入更多的扭曲和弯曲。对于短发和毛发,默认值 5 就足够了,但对于更长的发型,可以考虑将该值调高。

发射面板

此面板控制从你的网格中发射的粒子数量及其分布。

数量。决定粒子系统将生成的粒子数量。如果在设置中使用了子粒子,那么粒子的总数量将是此设置乘以子粒子的数量。在设置头发粒子系统时请记住这一点,因为对于相同的最终粒子数,你可以创建很多父粒子和较少的子粒子,或者较少的父粒子和更多的子粒子。一般来说,你希望尽量编辑较少的发丝,同时控制头发在网格表面上的外观。所以在给简单的头部添加头发时,Blender 的默认值 1,000 可能会稍高,但对于更大的区域(例如覆盖整个生物的毛发)时,你可能需要增加这个值。对于蝙蝠生物,我选择了 2,000 这个值。

从(顶点/面/体积)发射。决定头发粒子从何处发射,比如从网格的顶点发射、散布在其面上,或从封闭网格的体积内部发射。

随机。随机发射粒子,忽略你创建网格面的顺序。对于头发,将其保持为随机

均匀分布。根据面部的面积,调整每个面发射的粒子数量。勾选此选项,否则较大的面在与较小面相比时,会显得头发分布稀疏。

抖动/随机、每面粒子数和抖动量。这些设置控制粒子发射位置的生成方式。默认值通常效果很好。

速度面板

速度面板中的设置基本上决定了头发的长度和方向。这里最重要的是随机值和法线值。法线值使头发从表面笔直地指向外面,而随机值则使头发朝随机方向指向。将这两者结合起来,可以使头发大致从头部指向外侧,使用法线值控制,同时保持一定的粗糙感,使用随机值。此面板中的其他设置可以在你希望头发指向特定方向时很有用(例如,使用Z值让头发直立)。

旋转

在使用发束粒子头发时,旋转面板并不是特别重要,但如果你将粒子系统的渲染类型设置为“对象”或“组”,你可以使用此处的设置为生成的对象添加随机旋转。此功能是防止使用对象渲染类型的粒子系统看起来过于重复的好方法,使得重复的对象更难被识别出来。

渲染

此面板包含了粒子在最终图像中如何渲染的设置。以下列出的设置将在第十二章中与应用于粒子的材质进行交互。

材质。此设置决定头发粒子将使用哪个材质槽(在属性编辑器的材质标签中)。例如,如果你为模型的第一个材质槽设置了皮肤材质,你可以将其设置为 2,并使用第二个槽来定义头发材质。

发射器。选中此设置时,头发及其发射网格都会被渲染;未选中时,仅渲染头发本身。如果你使用的发射器不是你的“皮肤”对象,或者你正在使用粒子系统生成对象并只想渲染这些实例化的对象时,此设置非常有用。

父物体。如果你使用子粒子,此设置将导致父粒子与子粒子一起渲染。

无/路径/对象/组。此设置决定粒子系统将使用哪种可渲染的几何体来生成粒子。默认的路径设置用于创建粒子头发,但粒子系统也可以用来创建其他类型的几何体。将其设置为对象会将每个头发粒子转化为所选对象的副本,而将其设置为则会从一个组中选择对象并以相同的方式复制它们。这些选项适用于制作草地或在表面上增加细节,如石头或碎片。选项将导致粒子不被渲染。

对于头发,选择“路径”选项,该选项会弹出以下附加设置,决定粒子头发如何渲染:

发束渲染。此方法使用 Blender 的自定义发束原语渲染头发和毛发,从而产生更快的渲染结果。此渲染方法的缺点是它与光线追踪阴影不兼容,因此你需要使用带有缓冲阴影的聚光灯来代替。

自适应渲染器。这个渲染头发的选项兼容光线追踪,并优化头发的几何形状,简化头发的弯曲部分,使得长的直发部分比复杂的弯曲部分使用更少的几何体积。这可以将头发所用的几何体积降到最小,从而加速渲染。

度数。发丝渲染器按直线段顺序渲染头发,这个值决定了基础曲线必须弯曲多少度才能生成一个新段。较小的值会生成更平滑的头发,但渲染时间较长,因为它们会生成更多的段。

B 样条曲线。这种方法使用类似 Bézier 曲线的方式来渲染发丝,能够生成更平滑的曲线,但在平滑处理过程中会丧失一些发型细节。

步骤。该方法决定了为头发曲线生成的总段数,表示为头发被细分的次数。例如,值为 3 会使头发比 2 时平滑两倍(即段数增加两倍),而值为 4 会使头发曲线再平滑两倍。

显示

这个面板的功能类似于渲染面板,但定义了粒子在 3D 视口中的显示方式。调低这些设置通常可以加快 3D 视口的响应速度,特别是在处理复杂粒子系统时,而调高这些设置可以让你更好地预览渲染后的粒子效果。

无/渲染/路径。这些选项允许你确定粒子在 3D 视口中的显示方式。将此设置为渲染将使用渲染时的显示类型。会阻止粒子系统在 3D 视口中显示,路径则会将粒子作为路径显示,无论渲染类型如何。

显示(百分比)。这个选项设置在 3D 视口中可见的头发总数的比例。较低的设置可以减少在处理复杂发型系统时对计算机的压力。

大小、速度、数量。这些选项会在每个粒子旁边显示相应的数据(即粒子的大小、速度或 ID 号)。

颜色(材质/速度/加速度/无)。这个选项更适用于发射器粒子系统。对于头发粒子,保持设置为材质

步骤。这个选项决定了在 3D 视口中绘制头发时使用多少细分(如同渲染选项中的细分)。如果你需要处理复杂的发型,请将此值设置得更高;如果你需要更灵敏的 3D 视口,请将此值设置得较低。

子粒子

在这里,我们进入粒子系统的最强大部分。子粒子通过将粒子系统创建的每个原始父粒子视为进一步创建粒子的指南来工作。这不仅让你可以定义相对较少的粒子并生成更多的粒子,还允许你为父粒子周围的头发增加新的特性,如团聚、扭曲甚至编织,使头发看起来更加多样化和有趣。

无/简单/插值。简单粒子是一种基本选项,在每个原始父母周围创建一束基本的子粒子,它们都遵循与父母相同的路径。简单子粒子没有附着在网格表面上,并且不使用顶点组输入来影响它们的生成方式。除非在基本头发系统中,简单子粒子通常不如插值子粒子看起来好。因为插值子粒子就像父母头发一样从网格表面生成,然后它们根据周围的不同父母粒子插值自己的路径。插值子粒子通常能提供更好的效果,因此在本章中我们假设使用插值子粒子。

显示。决定在 3D 视口中创建和显示多少子粒子。

渲染。确定在渲染时要创建多少子粒子。

种子。让你选择用于生成子粒子的随机种子。如果你不喜欢一些子粒子,可以尝试更改这个值。

虚拟父母。在生成子粒子之前创建额外的虚拟父母粒子,这为子粒子提供更多的目标,使其能够聚集或绕着父母粒子弯曲,从而使头发看起来更加多样化。

簇集。使子头发围绕父母粒子聚集在一起,造成头发看起来是打结或尖刺状的。负值会导致头发向末端膨胀。形状值决定了头发开始聚集的距离。

长度。决定子粒子的生长长度与父母粒子长度的比例。低于该设置的阈值允许一些粒子达到完整的长度,而其他粒子则被剪短到长度设置中指定的较短值。

发缝控制。这些选项只有在虚拟父母设置为 0 时才会出现。增加发缝(帽子)量会强制子粒子在插值不同方向的父母粒子之间时选择一边。正如你可能想象的那样,这对于分发头发非常有用(尽管我们稍后会看到还有其他方法)。最小最大值决定了子粒子在父母头发之间分缝时的角度或距离范围。

粗糙度。你可以将三种粗糙度应用到子头发上。均匀粗糙度设置根据位置粗化头发,影响局部区域内的所有头发。大小值决定这些扰动的尺度。末端粗糙度设置会随机化头发的末端,将它们推得更远(类似于簇集设置的反向效果)。随机粗糙度设置独立地使头发变粗,大小值决定扰动的尺度,阈值值决定有多少比例的头发不受此粗糙化影响。(随机粗糙度适用于增加杂乱的头发或让头发看起来蓬乱。)

扭曲(无扭曲/卷曲/放射状/波浪/编织)。这些选项(如图 9-6 所示)为子毛发的行为添加了二级图案。卷曲使毛发形成卷曲,放射状使毛发周期性地靠近和远离,波浪为毛发添加波浪效果,编织则使它们形成三股辫子。以下的设置决定了这一二级图案的振幅和频率,以及它如何受到团簇影响并通过形状值沿毛发分布。平整度值使毛发在呈现这些二级形态时变得更加扁平。

对单个父粒子的子粒子应用不同的扭曲设置。由左至右:无扭曲(但开启了团簇,因此发丝汇聚成一点)、卷曲、放射状、波浪和编织。图 9-6. 对单个父粒子的子粒子应用不同的扭曲设置。由左至右:无扭曲(但开启了团簇,因此发丝汇聚成一点)、卷曲、放射状、波浪和编织。

顶点组

在此面板中,您可以分配各种顶点组,以控制网格表面上的设置。这个面板是我们应用之前创建的顶点组的位置,用以控制我们初始父毛发的密度和长度,在梳理和剪裁之前(参见图 9-7))。

使用顶点组控制毛发的长度和密度。您可以稍后为其他属性添加顶点组,但现在只需要这些。图 9-7. 使用顶点组控制毛发的长度和密度。您可以稍后为其他属性添加顶点组,但现在只需要这些。

使用顶点组控制粒子系统会影响父粒子最初的生成和子粒子后续的分布。然而,一旦您开始在粒子模式下编辑父粒子,您就可以添加或移除粒子,并通过粒子模式刷子独立编辑它们,这些操作与顶点组定义的属性无关,具体内容将在下一节中讨论。

粒子模式

在设置好基本的毛发系统后,您可以在粒子模式下编辑它(参见图 9-8),使用多种工具来生长、梳理、剪裁和平滑您的毛发或皮毛,此外还可以添加或删除毛发。

你可以从 3D 视图头部的模式下拉菜单中切换到粒子模式。一旦进入粒子模式,当前选中的粒子系统中的毛发粒子就变得可编辑。(同时,你将无法再在属性编辑器中编辑粒子发射设置,除非你点击粒子设置标签顶部的 Free Edit 按钮,以废弃你编辑的粒子并重新开始。)与雕刻模式类似,粒子模式会在 3D 视图的左侧工具架上列出一组刷子,并提供一些选项来控制这些刷子如何影响你的粒子。

塑造你的毛发

在粒子模式下,我开始使用 Blender 的粒子刷为蝙蝠生物塑造和修饰毛发。我首先使用了梳理工具将毛发压平,并使其沿着身体的轮廓流动(见图 9-8),同时添加了一些峰值和凌乱的区域。默认情况下,当你在粒子模式下梳理毛发时,它会受到发射器网格的影响,从而使毛发容易沿网格的表面梳理。(如果需要,你可以通过工具架上的Deflect Emitter选项关闭这一功能。)如果某个区域的毛发变得过于平坦,可以使用 Puff 工具将其蓬松起来。(Puff 工具使毛发相互排斥,通常会使毛发分散开来。)

在粒子模式下梳理毛发图 9-8. 在粒子模式下梳理毛发

要控制毛发的长度,Length 和 Cut 工具是最有用的。Length 工具允许你拉长或缩短毛发以调整其长度,而 Cut 工具则能在你刷动时将毛发从刷子中剪掉。Cut 工具还可以完全剪掉毛发,直到根部,因此这是去除那些让子粒表现异常的尴尬毛发的一个有用技巧。(如果很难看到毛发的根部,可以尝试切换到线框视图并放大。)

你还可以使用 Add 刷子添加额外的毛发,它会在你刷动的地方生成新的毛发。打开Interpolate选项(通常建议使用)会让新毛发跟随周围已有毛发的方向,这在你为已经梳理过的区域添加额外毛发时特别有用。例如,在制作蝙蝠生物时,我在耳朵和脚趾、手指周围添加了一些额外的毛发,以更好地定义这些区域的毛发流向。

样式建议

在修饰毛发时,务必经常旋转模型,从不同的角度查看它。当你旋转时,要考虑你正在雕刻的轮廓以及毛发的方向,并使用 Cut 工具修剪那些破坏轮廓的杂毛。如果你剪得太短了,可以使用 Length 刷子重新拉长毛发。

你可以像在编辑模式中一样选择和操作单根或多根毛发,使用右键点击来选择,然后按GSR键来抓取、旋转和缩放发丝。你还可以在粒子模式中切换不同的选择方法,可以选择整根毛发,或选择沿着毛发的单个点,或者仅仅选择梳理和剪切整体路径。这类似于在编辑模式中可以选择顶点、边缘或面一样。选择毛发发丝对于处理棘手区域非常有用,因为刷子工具只会对选中的发丝进行操作,允许你选中出现问题的特定粒子毛发,并在单独的区域内梳理或剪切它们。

另一个有用的小技巧是按L来选择光标下的毛发。按住L并将鼠标移动到一个区域,可以随机选择几根毛发。然后,你可以独立地整理这些毛发。这对于打乱发型和增加发量效果非常有效。

子粒子

一旦基本的发型大致确定,启用子粒子选项,在粒子面板中查看它对发型外观的影响。将子粒子类型设置为插值,并将显示的粒子数量设置为大约50。(渲染数量可以设置得更高,但要记住,这会影响到总的毛发数量,从而影响渲染时间。)

对于蝙蝠生物,我将虚拟父母设置为 0.3,团簇设置为 0.5,并且添加了非常小的随机、端点和均匀粗糙度(每个大约为 0.001 到 0.01,因为这些是敏感设置)。增加虚拟父母可以让子粒子有更多的父发丝来团簇,从而防止毛发看起来过于零散。添加一些粗糙度可以让毛发看起来不那么整洁光滑。

我还通过将长度设置为 0.5 并将阈值设置为 0.15,增加了粒子长度的变化,从而产生不同长度的毛发,给毛发增添了更自然的外观(见图 9-9)。

注意

返回粒子模式将默认隐藏子粒子,但你可以通过在 3D 视图工具架中的绘制选项勾选子粒子选项来开启它们。

在处理头发系统时,偶尔进行渲染是很有用的,因为在 3D 视口中的头发阴影看起来可能很平坦且模糊不清。你可能想跳到第十二章,了解有关头发材质的讨论,然后创建一个快速渲染设置,以便在你处理头发时使用(参见图 9-10)。参见第十三章了解如何照亮场景,并参见第十四章了解更多关于渲染的内容。

蝙蝠生物的粒子设置图 9-9. 蝙蝠生物的粒子设置蝙蝠生物的毛发。虽然 3D 视口能够较好地估计头发的表现,但渲染结果能真正显示出需要注意的区域。在这里,我将角色的皮肤设置为黑色,以便单独查看头发,并用简单的三点光源进行了渲染。(详见了解如何设置材质和照明。)图 9-10. 蝙蝠生物的毛发。虽然 3D 视口能够较好地估计头发的表现,但渲染结果能真正显示出需要注意的区域。在这里,我将角色的皮肤设置为黑色,以便单独查看头发,并用简单的三点光源进行了渲染。(详见第十二章了解如何设置材质和第十三章了解照明。)

桃毛

我还决定为我的蝙蝠生物添加第二个粒子系统,以增加一些短发,覆盖更多的身体部位,例如头部、耳朵和一些翅膀。我是按照与第一个粒子系统完全相同的方式制作的。我从为与第一个粒子系统相同的物体添加另一个新的粒子系统开始,这次粒子的长度要短得多。然后,我创建了一个顶点组,将这些头发限制在身体、头部和翅膀的开始部分。这次我不需要长度顶点组,因为这些头发都非常短。接下来,我将头发梳理成跟随身体轮廓的样子,并添加了子粒子以增加头发的密度。最终的粒子系统可以在图 9-11 中看到。

蝙蝠生物的“桃毛”粒子系统为其大部分身体覆盖上了细小的毛发。图 9-11. 蝙蝠生物的“桃毛”粒子系统为其大部分身体覆盖上了细小的毛发。

复杂发型

蝙蝠生物的头发相对简单,所以我们来看一个发型更复杂的角色。图 9-12 中的角色使用了几种不同的粒子系统,每种系统覆盖了整体发型的不同区域。每个系统通过独立的顶点组限制在其自身的区域内,从而可以单独编辑。

以这种方式创建头发,可以更轻松地迭代不同的发型,并创造出更复杂的发型,因为你可以单独编辑各个方面,而不必担心它们对其他部分的影响。

图 9-13 展示了一个充分利用这一策略的角色,使用了多个粒子头发系统,每个系统都有不同的设置。例如,胡须中的辫子是使用“辫子扭曲”设置的单根父级发丝,而其他系统则使用不同的扭曲设置。这种技术在创建带有分发的发型时特别有用,因为将头发分成两个粒子系统可以使从分发两侧向外梳理变得更容易。

使用不同的粒子系统,并为每个系统设置独特的密度顶点组,可以更好地控制每个部分的外观。在这里,我为头发、山羊胡、眉毛和胡茬分别创建了独立的顶点组。图 9-12. 使用不同的粒子系统,并为每个系统设置独特的密度顶点组,可以更好地控制每个部分的外观。在这里,我为头发、山羊胡、眉毛和胡茬分别创建了独立的顶点组。多个粒子头发系统结合在一起,创建出完整的效果。在这里,使用了五个不同的头发系统,最终的发型位于右下角。每个系统都可以单独梳理并调整设置,从而提供更多的控制。图 9-13. 多个粒子头发系统结合在一起,创建出完整的效果。在这里,使用了五个不同的头发系统,最终的发型位于右下角。每个系统都可以单独梳理并调整设置,从而提供更多的控制。

使用纹理控制粒子

虽然到目前为止我们一直集中在使用顶点组控制粒子头发属性,Blender 也可以使用纹理输入来控制粒子系统的各个方面,方式与我们使用顶点相同。要以这种方式使用纹理,首先将粒子系统分配给网格,切换到属性编辑器的纹理标签,点击粒子纹理图标(见图 9-14)。现在,你可以添加纹理,并将其用于与顶点组相同的输入,包括头发粒子的密度和长度,以及毛发的团簇、扭曲和粗糙值。(诸如时间和速度等值用于动态点粒子系统。)默认情况下,白色将映射为 1.0,黑色映射为 0.0。

使用纹理控制粒子系统可以让你使用 Blender 的程序纹理,为头发或毛发系统的外观增加变化。例如,通过使用云纹理来影响蝙蝠生物毛发的粗糙值,我可以迅速为生物的毛发添加一些随机的粗糙度,而无需手动编辑顶点组。

注意

纹理也可以通过 Blender 的材质影响粒子的外观,正如你将在第十二章中学习的那样。

粒子系统的其他用途

除了建模头发和毛发,Blender 的粒子系统还可用于许多其他任务。例如,对于丛林神庙,我使用粒子系统在地面上创建了一些草地,使用 Group 渲染类型将几种不同的草地物体复制多次。

丛林神庙的草地

虽然我手动放置了大多数植物在丛林神庙场景中,但我使用了粒子系统来生成场景周围的一些草地。虽然单独的头发丝在适当的材质下看起来非常像草,但我选择为每根草叶创建模型。然后,我使用粒子系统将它们散布在场景中,如图 9-15 所示。

使用纹理控制毛发粒子。在这里,使用了一个程序化的 Voronoi 纹理来影响粒子的长度。你可以使用程序化纹理和图像纹理来影响粒子的属性。图 9-14. 使用纹理控制毛发粒子。在这里,使用了一个程序化的 Voronoi 纹理来影响粒子的长度。你可以使用程序化纹理和图像纹理来影响粒子的属性。简单的草模型。这些只是一些被细分、拉伸,并通过比例编辑抓取的平面和圆柱体,形成草的茎和叶。每个模型都是一个独立的物体,原点位于植物的根部。图 9-15. 简单的草模型。这些只是一些被细分、拉伸,并通过比例编辑抓取的平面和圆柱体,形成草的茎和叶。每个模型都是一个独立的物体,原点位于植物的根部。我草粒子系统的密度顶点组,这里显示的是在指定区域上生长的草图 9-16. 我草粒子系统的密度顶点组,这里显示的是在指定区域上生长的草

创建草粒子系统

为了以这种方式创建草地,我需要一些不同草叶或草丛的模型,然后创建一个粒子系统(添加到我的地面网格中),该系统会在场景中复制并散布这些模型。首先,我创建了一些不同的草模型(参见图 9-15),并将它们都加入到一个组中(CTRL-G)。接着,我向丛林神庙中的地面网格添加了一个新的粒子系统,并为草的密度和长度创建了一个顶点组(就像我为头发做的那样),以便将草放置在几个关键区域(参见图 9-16)。然后,我将粒子系统的渲染类型设置为“组”,并选择了我的草地组作为要使用的组(即 Dupli Group 设置)。最后,我启用了“使用计数”选项,以决定如何复制组中的每个成员,这样较小的草模型会比较大的草模型更频繁地重复(参见图 9-17)。

为了让草地的副本具有一些随机旋转,我使用了旋转属性(参见图 9-17)。通过将旋转轴设置为法线,并将旋转轴的随机值设置为 0.15,旋转相位设置为 1.0,每个草元素都获得了一些随机旋转,使其看起来更加独特(参见图 9-18)。类似的变化可以通过粒子系统物理属性中的随机大小设置来实现(参见图 9-17)。

对象旋转与粒子系统

需要注意的是,为了使草地粒子系统正常工作,草地网格需要被旋转,使草茎沿着 Blender 的y轴指向。这是因为,尽管 Blender 的全球坐标系中,z轴被视为“向上”方向,但对于粒子系统来说,物体的y轴沿着草茎的长度方向指向。

正确旋转草地物体的最简单方法是,在对象模式下选择它们(假设你最初是将它们模型化为指向场景中所有其他对象的上方),按RX旋转物体绕全球X轴,并输入-90度来指定旋转角度。这样应该能使草地指向场景的y轴。按 CTRL-A 并选择旋转,将这个旋转应用到物体的几何体上。

草地系统的粒子设置。为了给重复的草叶提供不同的方向和大小,我使用了旋转设置以及大小和随机大小选项。我还使用了使用计数选项来使某些物体比其他物体更频繁地重复。 图 9-17. 草地系统的粒子设置。为了给重复的草叶提供不同的方向和大小,我使用了旋转设置以及大小和随机大小选项。我还使用了使用计数选项来使某些物体比其他物体更频繁地重复。 最终丛林庙宇场景中的草地粒子系统 图 9-18. 最终丛林庙宇场景中的草地粒子系统

头发和毛发提示

这里有一些关于使用头发粒子系统的最终提示。

将复杂任务拆分开来。 对于复杂的发型设计,将头发分成不同的部分,每个部分可以单独梳理和剪裁。使用不同的设置来获得所需的效果。

注意粒子数量。 例如,人类头发的密度大约为每平方厘米几百根头发,但你不一定需要达到这个值。在渲染头发时,尝试调整子粒子的数量,看看哪个效果最好。

实验。 头发效果很难做到完美。有时候,唯一的办法就是尝试不同的设置,看看哪个效果最好。快速渲染头发效果通常能提供有价值的反馈。

材质很重要。 第十二章介绍了一些专门为粒子头发设计的材质。如果你为毛发效果苦恼不已,可能不是粒子系统的问题。确保在头发系统上使用一个好的材质,帮助它展现出最佳效果。

回顾

在本章中,我们探讨了如何创建粒子毛发和毛皮系统,并发现了 Blender 粒子毛发的其他用途,例如像我们为草地所做的那样进行程序化物体散布。在后续章节中,我们将再次讨论毛发和毛皮,介绍如何选择材料以创建漂亮的毛发(参见第十二章),如何为毛发粒子提供适当的光照(参见第十三章),以及如何在渲染毛发时通过将其作为单独的渲染层来获得最佳效果(参见第十四章)。

第十章. 纹理烘焙

在对我们的模型进行建模、雕刻、重拓扑和 UV 展开后,我们现在准备为它们创建纹理和材质,然后继续进行灯光和渲染。在本章中,我们将重点讨论纹理烘焙——利用场景中的几何体、灯光和材质来创建程序化纹理。例如,我们将把高细分雕刻网格的法线烘焙成一个纹理贴图,或者将网格表面裂缝和凹槽中收到的阴影烘焙成一个纹理,以模拟污垢和灰尘。像这样的纹理随后可以用于辅助纹理绘制和材质创建。

在本章中,我们将讨论 Blender 能够烘焙的各种类型的程序化纹理贴图,它们的用途以及如何烘焙它们。在第十一章中,我们将继续将这些烘焙的纹理与手绘和 Blender 以及 GIMP 中的其他技术相结合,进行清理并与其他纹理源(如照片)合并。接着,在第十二章中,我们将讲解如何将这些不同类型的贴图与 Blender 的材质系统结合,以创建真实的材质用于渲染我们的模型。

图像和纹理

首先,一些术语:图像纹理这两个术语经常互换使用。在大多数情况下,这没有问题,但我将在这里尽量避免混淆,并解释我的术语。对于我们的目的来说,图像是指一张图片,可能是一个图像文件,比如.jpg.tiff文件,或者是通过 Blender 的 UV 图像编辑器生成的文件,但尚未分配特定的文件类型。

在 Blender 中,纹理可以是任何影响物体上材质外观的输入。纹理可以是图像,但也可以是程序生成的,或来自视频、点云数据,甚至是更为特殊的内容。但因为我们经常使用图像作为纹理的输入,所以通常方便将“用于影响材质漫反射颜色的图像”简称为漫反射纹理

一般来说,当我提到烘焙纹理时,我指的是作为纹理使用的图像。因为这样写会变得冗长,所以我通常会更宽泛地使用纹理这个术语——尤其是在烘焙图像的过程中,它通常被称为纹理烘焙

在纹理的上下文中使用的术语贴图(如纹理贴图漫反射贴图位移贴图)指的是用于 UV 展开物体的图像——其中物体上的每个点都可以映射到图像上的一个点。

在本书中,我经常提到分配图像或纹理给物体。将图像分配给物体与将纹理分配给物体是不同的。

分配图像

当我为一个对象分配图像时,我将该图像与对象的活动 UV 坐标集链接。这样,当在 3D 视口中使用纹理实心阴影选项时,图像将显示在对象上(该选项位于 3D 视口属性区域的显示下)。这也意味着在烘焙图像时,烘焙到的将是这个图像。

要为对象的 UV 坐标分配图像,首先在 3D 视口中选择该对象,然后按 TAB 进入编辑模式。按 A 选择所有内容,然后在 UV 图像编辑器中(假设该对象已经展开),使用编辑器头部的下拉菜单选择一个图像,并将其分配给活动的 UV 集。

若要创建一个新的图像并将其指定为烘焙目标,使用图像新建图像来创建一个新的图像并设置其大小和属性。

分配纹理

纹理 被分配给材质,然后这些材质被分配给对象或对象的某部分。纹理用于影响对象的渲染效果,也可以作为某些修改器的输入。要为对象分配材质,请进入属性编辑器中的材质标签,从标签顶部的下拉菜单中选择一个材质,或者使用+新建按钮创建一个新材质。然后,你可以在纹理标签中以相同的方式为该材质分配纹理。

纹理烘焙控制

要在 Blender 中烘焙一个纹理(技术上说是一个图像——从这里开始我会不那么严格地使用这两个术语),请使用属性编辑器中的渲染标签下的烘焙面板(如图 10-1 所示)。该面板包含了 Blender 所有的纹理烘焙设置和工具,包括以下内容:

烘焙。此按钮根据你定义的烘焙设置,为当前选定的对象烘焙图像。

烘焙模式。这些设置用于设置你正在烘焙的地图类型。

清除。此选项在烘焙之前清除纹理并将其替换为黑色。

边距。此选项通过你设置的像素数量,将烘焙纹理延伸到 UV 岛的边缘之外,以防止网格上出现接缝。

从选定到活动。此选项启用从一个网格到另一个网格的烘焙。

距离和偏差。这些设置决定了在从选定对象烘焙到活动对象时,Blender 会寻找另一个网格表面的距离。

要烘焙一个纹理,Blender 需要两个输入:

  • 一个带有 UV 坐标的网格,你想要为其烘焙纹理。该网格必须被选为活动对象,且你想要烘焙到的 UV 坐标集必须是活动集。

  • 一个用来烘焙纹理的图像,分配给对象的活动 UV 坐标集。

在设置好这些输入后,点击烘焙面板中的烘焙按钮,让 Blender 渲染纹理。Blender 应该根据烘焙模式设置渲染相应的地图类型(参见图 10-1),并在烘焙时考虑以下内容:

选定对象。Blender 会为任何选定的对象烘焙纹理,只要它们的 UV 坐标分配了图像。你可以一次性烘焙多个纹理,也可以烘焙多个对象。

当前可见层上的其他对象。未选择的对象将不会被烘焙,但在烘焙灯光或其他受选定对象周围环境影响的图像时,Blender 会考虑当前可见层上的其他对象(如网格、光源等)。要单独烘焙一个对象的灯光,请暂时将它放置在自己的层上,并且放置你希望影响它的光源。

在我们创建的 UV 编辑布局中工作时的纹理烘焙控制。UV 编辑布局很有用,因为它让我们通过属性编辑器访问烘焙控制,通过 UV 图像编辑器访问烘焙图像,并通过 3D 视口访问场景中的对象,所有这些都在一个布局中。图 10-1. 在我们创建的 第八章的 UV 编辑布局中工作时的纹理烘焙控制。UV 编辑布局很有用,因为它让我们通过属性编辑器访问烘焙控制,通过 UV 图像编辑器访问烘焙图像,并通过 3D 视口访问场景中的对象,所有这些都在一个布局中。

注意

烘焙目前仅在使用 Blender Internal 渲染器时受支持。如果你没有看到任何烘焙选项,请确保在信息编辑器头部选择了 Blender Internal 作为渲染引擎(参见图 10-1)。

纹理映射类型

你可以烘焙几种不同的地图类型,其中一些比其他的更重要。以下是 Blender 提供的选项:

完整渲染。这会进行完整的渲染,包括表面的纹理和光照。得到的纹理正是模型在最终渲染中呈现的效果,贴图到物体的 UV 坐标上。

环境光遮蔽。这会为物体渲染环境光遮蔽,考虑到当前活动层中的任何其他可见且可渲染的物体。环境光遮蔽是一种自阴影效果,在物体的角落和缝隙处创建暗区。它既有助于模拟更复杂的光照效果,也有助于创建脏污和灰尘可能积聚的区域的粗略地图。这种贴图在创建纹理和材质时非常有用(参见图 10-2)。

阴影。这会将场景中的光源阴影渲染到一个贴图中。

法线。这会获取物体表面每个点的法线向量,并将其记录为 RGB 值。这可以通过多种方式进行,具体取决于你选择的法线空间选项。不同的法线空间记录网格的法线相对于不同的坐标系统。例如,相机选项相对于相机记录法线;世界,根据世界空间记录;物体,根据物体的局部坐标记录;而Tangent,则根据被烘焙物体本身的表面法线记录。

一个环境光遮蔽贴图,已经烘焙并作为纹理应用到网格上(这里的眼睛被留空为黑色)图 10-2。一个环境光遮蔽贴图,已经烘焙并作为纹理应用到网格上(这里的眼睛被留空为黑色)

在这些选项中,Tangent 可能是最重要的;它通过启用“从选中到活动”设置、选择源网格(或多个网格)和目标网格,然后进行烘焙,允许你将一个网格的法线烘焙到另一个网格的表面。这会根据选定的目标网格渲染源网格的法线。然后可以使用这个贴图来扭曲网格表面的法线,给人一种表面细节丰富的印象(当该贴图作为物体材质的一部分应用时),尽管底层几何形状可能要简单得多。(参见图 10-3 了解这种效果的示例。)Tangent 空间法线贴图尤其有用,因为法线是相对于网格表面记录的,因此即使网格经过修改器或进一步编辑而发生形变,只要 UV 坐标保持不变,它们仍然有效。

纹理。这会烘焙应用到网格上的任何材质和颜色的漫反射颜色。这对于将程序生成的颜色和纹理烘焙到 UV 贴图中非常有用。

位移。这个功能将两个网格之间的距离转换为黑白图像。黑色表示负位移,中灰表示零位移,白色表示正位移。使用“选择到活动”选项,可以从源网格(或多个网格)烘焙到活动网格。

位移贴图通常作为法线贴图的替代方法,之后可以将该贴图用作位移修改器的输入或材质的位移设置,以将网格变形为源网格的形状(见图 10-3)。另外,烘焙的位移贴图可以用作材质的凹凸贴图。(凹凸贴图像法线贴图一样,通过改变表面的阴影来产生表面细节的印象,但它们仅需要黑白输入。)

法线贴图是一种非常高效的方式来给网格带来细节的印象,但它们不会影响网格的轮廓或阴影的投射,因为没有真实的几何体被位移。位移贴图通过变形网格来创建真实的细节,但它要求你细分网格,以提供足够的几何体来进行变形。在图 10-3 中,一组球体已经烘焙成法线贴图(8 位)和位移贴图(32 位)。这些贴图随后应用于一个平面和一个圆柱体。法线贴图的对象通过较低的多边形数捕捉了大量的阴影,但它们不会影响网格的实际形状或投射阴影。位移贴图的对象更加真实,但它们必须进行细分,以捕捉所有细节。

法线贴图与位移贴图图 10-3. 法线贴图与位移贴图

透明度。这个功能将网格的透明度(Alpha 通道)烘焙到纹理中。对将过程生成的值烘焙到图像纹理中非常有用。

发射。这个功能将材质的发射颜色和强度烘焙到纹理中。与纹理图一样,这在将过程生成的发射颜色烘焙到图像纹理中时非常有用。

镜面反射颜色。这个功能将光线追踪反射的颜色烘焙到材质的纹理中。它对于将过程生成的值烘焙到图像纹理中非常有用。

镜面反射强度。这个功能将材质的光线追踪反射强度烘焙到纹理中,对将过程生成的值烘焙到图像纹理中非常有用。

镜面反射颜色。这个功能将材质的镜面反射颜色烘焙到纹理中,并且对将过程生成的值烘焙到图像纹理中非常有用。

镜面反射强度。这个功能将材质的镜面反射强度烘焙到纹理中。对将过程生成的值烘焙到图像纹理中非常有用。

每种纹理贴图偶尔都会有其特定用途,但在本章中,我们将重点讨论环境光遮蔽、纹理、法线和位移贴图。对于纹理贴图来说,这些贴图最常用于与绘制的纹理配合使用,以及渲染详细的最终模型。

为蝙蝠生物烘焙纹理

对于蝙蝠生物,我的目标是为皮肤创建纹理,并烘焙一个位移贴图,用于通过位移修改器渲染最终模型,以捕捉我之前雕刻的所有细节。在这一部分,我将讨论如何烘焙环境光遮蔽(ambient occlusion)和位移贴图来帮助完成这一任务。我还会介绍烘焙法线贴图作为位移贴图的替代方案,虽然法线贴图渲染速度更快,但在细节表现上会牺牲一些准确性。

从雕刻到最终网格的位移烘焙

因为我在重新拓扑后的网格上继续雕刻,所以我可以直接渲染最终的网格。但这并不总是理想的,因为多重细分(Multires)修改器有时会损坏,而且在 3D 视口中显示其效果可能会变得缓慢且难以操作。一个更好的解决方案是,使用高多边形雕刻烘焙位移贴图,然后可以将其作为材质的一部分应用,或者使用细分曲面(Subdivision Surface)和位移(Displace)修改器,只有在渲染时才恢复网格的高多边形细节,从而使其在 3D 视口中保持简单且易于操作。

为了为蝙蝠生物烘焙位移,我首先选择了生物的身体(高多边形雕刻),将其复制,然后在级别 3 应用多重细分修改器。这就是我将用作最终身体网格进行渲染的网格。(我将在第九章中创建的毛发作为单独的物体添加到最终场景中。)这已经捕捉到了大部分细节,但我将使用位移贴图来捕捉最高分辨率的细节。

接下来,我需要添加一个细分曲面修改器,以匹配多重细分网格的最高级别与即将被位移的网格之间的细分级别。我添加了该修改器,并将细分数设置为 2。

然后,在编辑模式下,我选择了整个网格,并在 UV 图像编辑器中添加了一个新的图像,以便将位移贴图烘焙到这个图像中。这个图像需要是 32 位浮动图像,以便捕捉位移的所有细节,而不会产生伪影。我将其大小设置为 4096×4096 像素,足以捕捉雕刻的所有细节。我选择了原始的多分辨率网格和我的新最终网格。如图 10-4 所示,我确保启用了“从选中到激活”(Selected to Active)选项,且取消勾选了“归一化”(Normalize),同时将边距(Margin)设置为 4,以在 UV 岛屿周围留出 4 像素的边框,从而减少 UV 接缝周围出现伪影的机会。(其他设置保持默认)

到此为止,我准备好烘焙我的纹理了,所以我点击了烘焙面板中的“烘焙”按钮,开始让 Blender 工作,烘焙我的纹理。这一步将我高多边形雕刻和细分后的最终网格之间的位移信息烘焙到了一个位移贴图中,保存了高多边形雕刻的所有细节。烘焙完成后,我按 F3 在 UV 图像编辑器中保存了这个 32 位 OpenEXR 图像,以便保留位移贴图中的所有信息,并在文件浏览器编辑器的左下角将格式设置为 EXR(见图 10-5)。你可以选择使用 Float(Full)来使用 32 位值。将编解码器(Codec)设置为 ZIP 将使文件大小稍微变小。

位深度与纹理

我之前简要提到过位深度,现在我将进一步解释。位深度指的是用于存储图像中每个像素的红、绿、蓝和透明度(RGBA)值的位数(即二进制数的长度)。用于存储每个数字的位数越多,表示的等级就越多,图像中可以存储的颜色和亮度的范围和细微程度也就越大。

大多数图像格式(如.jpg.png)使用 8 位颜色,这对于简单的屏幕显示图片或者存储简单的漫反射纹理来说是足够的。但如果你打算对图像进行更复杂的处理,比如用它们做位移贴图或修改颜色和曝光度,就会开始看到伪影的出现。

对于这样要求较高的使用场景,你可以使用更高位深度的图像(16 位或 32 位),这会提供更大的值范围供你使用。使用更高位深度可以防止渲染图像和位移网格中出现难看的伪影。OpenEXR(.exr)格式是保存高位深度图像的好选择。对于低位深度图像,我通常使用 Targa(.tga)格式。

蝙蝠生物的位移贴图烘焙设置图 10-4. 蝙蝠生物的位移贴图烘焙设置将位移贴图保存为 32 位 OpenEXR 图像图 10-5. 将位移贴图保存为 32 位 OpenEXR 图像

在贴图烘焙过程中,大多数类型的纹理可以保存为 8 位格式。不过,位移贴图几乎总是需要保存为 32 位图像,以避免在将其应用到模型时出现阶梯伪影。阶梯伪影可以在图 10-6 中看到;位移修饰符的输入已经在 Blender 中烘焙,并保存为 8 位.tga文件(通过位移修饰符应用,中间)和 32 位 OpenEXR 图像(右侧)。中间的图像显示了使用位移纹理时,由于位深度不足而导致的伪影。

位移贴图通常需要保存为高位深图像格式,因为较低位深度无法存储足够的信息,可能导致阶梯伪影。(此处效果已被显著放大。)左:云纹理,作为位移贴图的原始来源。中:使用 8 位位移贴图,出现阶梯效果。右:使用 32 位位移贴图,无阶梯效果。图 10-6. 位移贴图通常需要保存为高位深图像格式,因为较低位深度无法存储足够的信息,可能导致阶梯伪影。(此处效果已被显著放大。)左:云纹理,作为位移贴图的原始来源。中:使用 8 位位移贴图,出现阶梯效果。右:使用 32 位位移贴图,无阶梯效果。

应用位移贴图

为了确保位移贴图正确应用(并将其应用到我们的模型中以供最终渲染使用),我们可以通过位移修饰符将其应用到我们复制的模型上。添加了细分曲面修饰符到复制的物体后,我们已经拥有了所需的几何体,因此可以简单地将位移修饰符添加到物体上。

为了指定位移贴图,我们使用我们烘焙的图像作为纹理的输入;然后可以将该纹理指定为位移修饰符的输入。(在这里,我使用的是本章开头讨论的更严格的定义。)

创建和修改纹理块的最简单方法是为模型添加一个材质(如果你还没有的话)(我们在第六章中创建了一个 MatCap 材质,现在不再需要它;我们可以使用这个材质或创建一个新的材质),然后通过属性编辑器的纹理标签页,点击选择空的纹理槽,点击+新建按钮,为这个材质添加一个新的纹理。在弹出的图像面板中,打开你的位移贴图,并给纹理取一个有用的名字,例如Body_Displacement,然后将这个纹理的类型设置为图像视频

现在返回到修改器标签页,在位移修改器中,使用纹理下拉菜单选择你刚刚创建的纹理。将方向设置为法线,并将纹理坐标设置为UV。设置强度为1.0应该能给出正确的位移量。调整细分曲面修改器中的视图细分级别设置,将让你看到更多或更少由位移贴图生成的细节。

烘焙法线贴图

虽然我们最终渲染时不会使用法线贴图,但法线贴图是一个有用的、渲染速度快的替代位移贴图的方法。它们在游戏引擎中经常使用,因为它们足够快,可以在实时应用程序中使用。它们也可以与 Blender Internal 渲染器一起使用,给人一种额外细节的感觉,而不需要如此密集的几何体。

烘焙法线贴图的过程与烘焙位移贴图非常相似。首先,为你的复制网格分配一个新的空白图像(它不需要是 32 位)。然后,先选择雕刻,再选择复制网格。这次我们不需要给复制网格应用细分曲面修改器,因为我们角色的轮廓大致合适,法线贴图不需要额外的几何体(它不会物理性地位移网格)。接下来,在属性编辑器的渲染标签页中,将烘焙模式设置为法线,法线空间设置为切线,启用选择到活动,然后点击烘焙(见图 10-7)。

最终得到的贴图将是一种带有蓝色调的纹理,其他颜色表示雕塑的不同方向面相对于未细分副本网格法线的朝向。此纹理可以稍后作为物体材质的一部分应用,以模拟雕塑网格的表面形态效果(见图 10-8)。请参阅添加法线贴图,学习如何将法线贴图作为材质的一部分应用。

烘焙环境光遮蔽

除了位移贴图,我们还希望将高多边形雕塑的环境光遮蔽贴图烘焙到最终网格上。这个过程比制作位移贴图要简单:

  1. 选择雕塑对象,然后选择最终网格。将烘焙模式设置为环境光遮蔽

  2. 选择归一化,以确保环境光遮蔽贴图使用黑白之间的整个范围来存储遮蔽效果。

  3. 为了获得最佳质量的环境光遮蔽贴图,调整 Blender 的世界光照设置,位于属性编辑器的世界选项卡中,里面包含了所有关于环境光遮蔽和环境光照的设置(见图 10-9)。(更多设置细节请参见第十三章。) 在环境光遮蔽面板中启用环境光遮蔽(设置为乘法)。

  4. 在聚集面板中,将衰减距离调低至0.2,并启用衰减,设置为1.0。这将导致只有接近的几何体才会产生阴影,并加速渲染。

  5. 将样本数设置为24,以减少结果中的噪声。

在外部保存了位移贴图后,你可以直接在位移贴图图像上进行烘焙,记得在烘焙完环境光遮蔽贴图后将其另存为不同的文件。点击烘焙并等待环境光遮蔽贴图渲染完成(见图 10-10)。

烘焙法线贴图。法线空间设置为切线,并将法线从雕刻网格烘焙到最终模型—这次没有细分。烘焙结果中有一些伪影,但可以在后续的 GIMP 中修正(见第十一章)。图 10-7. 烘焙法线贴图。法线空间设置为切线,并将法线从雕刻网格烘焙到最终模型—这次没有细分。烘焙结果中有一些伪影,但可以在后续的 GIMP 中修正(见第十一章)。作为材质一部分应用的法线贴图,在 3D 视口中使用 GLSL 阴影预览。烘焙结果中的伪影可以在机翼上看到,表现为黑色区域,但这可以在后续的 GIMP 中通过涂抹去除。图 10-8. 作为材质一部分应用的法线贴图,在 3D 视口中使用 GLSL 阴影预览。烘焙结果中的伪影可以在机翼上看到,表现为黑色区域,但这可以在后续的 GIMP 中通过涂抹去除。烘焙环境光遮蔽贴图的设置。图 10-9. 烘焙环境光遮蔽贴图的设置。烘焙出的环境光遮蔽贴图。这个贴图包含一些烘焙伪影,稍后我们将手动去除。图 10-10. 烘焙出的环境光遮蔽贴图。这个贴图包含一些烘焙伪影,稍后我们将手动去除。

为了确保环境光遮蔽贴图正确生成,请在 3D 视口的属性区域的显示面板中启用Textured Solid。这会显示模型网格上分配的纹理,帮助你查看环境光遮蔽贴图的效果。当你对烘焙结果满意时,将其保存为.tga图像。(这次不需要使用高位深度格式,因为环境光遮蔽贴图在 8 位颜色下也能正常工作。)可能会出现一两个伪影,但当你开始进行纹理绘制时,可以在 GIMP 中将其去除。

蜘蛛机器人纹理烘焙

对于蜘蛛机器人项目,我不需要烘焙位移或法线贴图;这次进行重拓扑的目的在于消除雕刻网格的粗糙度,最终得到现在这个平滑的重拓扑模型。尽管如此,模型仍然需要一个环境光遮蔽贴图,这将在纹理绘制过程中发挥作用。为了节省为纹理绘制颜色的时间,还可以为模型的各个部分分配一些不同颜色的基础材质,然后将这些颜色烘焙成图像,作为绘制纹理时的指南。

多物体烘焙贴图

在第八章中,我将大部分 Spider Bot 模型的 UV 坐标打包到一个单一的 UV 网格上,这样我以后就需要更少的纹理图像。接下来,我需要将所有物体的地图一起烘焙。为此,首先确保它们的 UV 坐标都分配了相同的图像。如果是这样,你只需选择所有具有相同 UV 坐标的 Spider Bot 物体,点击烘焙即可一次性烘焙所有选定物体。

但是,如果你希望在烘焙不同物体时选择性地控制模型的哪些部分可见呢?或者如果你希望能够修正某些部分而无需重新烘焙整个模型呢?默认情况下,每次点击烘焙时,Blender 会清除纹理,这会阻止你在选择不同物体时多次烘焙。为避免这种情况,请在烘焙面板中关闭“清除”设置,Blender 将仅替换分配给选定物体的图像部分。这样,你就可以一次烘焙一个物体、分组烘焙,或者一次性烘焙所有物体,在过程中不断添加到纹理图上。

这种选择性技术在处理像腿部这样的部件时非常有用。因为一些腿部组件略有重叠,如果它们一起烘焙,重叠区域会在烘焙环境光遮蔽图时变黑。如果后来我们重新摆姿势,这些黑色区域可能会显示出来。

为了避免烘焙重叠物体的阴影,这些物体可能并不总是在场,使用 Blender 的图层功能。Blender 只会在当前可见的图层上烘焙物体,因此我们可以每次将想要包含的部分单独放置在一个图层上,然后烘焙它们。操作步骤如下:

  1. 选择你想要烘焙的物体,并按 M 打开一个菜单,允许你选择物体应在哪些图层上可见。

  2. 选择一个新的空图层(检查 3D 视口头部的图层图标,查看哪些图层已被占用),然后按 ENTER 将物体放置到该图层。

  3. 跳转到 3D 视口中的选定层,可以通过头部的选择器或使用键盘快捷键(键盘上的 1 至 0 对应层 1 至 10,ALT-1 至 ALT-0 对应层 11 至 20)。

    为 Spider Bot 的头部和身体部分烘焙环境光遮蔽图。只有选定的物体被烘焙,且仅当前可见图层上的物体会被烘焙过程考虑。 图 10-11. 为 Spider Bot 的头部和身体部分烘焙环境光遮蔽图。只有选定的物体被烘焙,且仅当前可见图层上的物体会被烘焙过程考虑。

  4. 现在选择网格,并仅为该对象烘焙环境光遮蔽贴图,如图 10-11 所示。

这个选择性过程让你可以逐个对象地处理模型,按照需要烘焙环境光遮蔽贴图,不论是为单一组件还是小组分配。例如,对于蜘蛛机器人头部部分,我将天线和额外的头部部件与头部网格一起烘焙,并在烘焙过程中将头部/身体段后面的电线保持在同一图层上(尽管我单独烘焙了这些)。我将腿部作为单独的部分来烘焙,在烘焙之前将每种类型的腿部零件单独放置在不同的图层上。对整个模型进行处理后的最终烘焙结果显示在图 10-12 中。

对于蜘蛛机器人身体底部的关节区域,这些区域共享相同的 UV 空间,我无法烘焙出合适的 UV 贴图。相反,我在保存图像后,直接在 GIMP 中将该区域填充为白色。(请参见图 10-12 的右上角的环境光遮蔽贴图。)

蜘蛛机器人最终烘焙的环境光遮蔽贴图图 10-12. 蜘蛛机器人最终烘焙的环境光遮蔽贴图

烘焙漫反射颜色和纹理

为了大致了解蜘蛛机器人所需的颜色,并将这些颜色烘焙成贴图,以作为纹理绘制过程的指南,我需要创建一些基础材质并将它们分配到模型的不同部件上。这些材质不需要复杂;实际上,我只需要调整漫反射颜色设置。(关于更复杂的材质内容,我将在第十二章中进行讨论。)

创建一些基础材质:

  1. 转到属性编辑器的材质标签(选中一个对象),点击+新建按钮以创建一个新材质。

  2. 点击Material名称,将其重命名为更有用的名称,如Basic_Fill_01,然后将漫反射颜色设置为中灰色。

  3. 通过复制第一个材质来创建更多材质(点击材质名称旁的+图标),并将其设置为不同的颜色。

在使用新材质时,我从选择三种颜色开始:一种主要颜色用于大部分模型,第二种颜色作为辅助色,第三种颜色用于小细节的高光。我然后开始使用属性编辑器的材质标签将这些材质分配给构成蜘蛛机器人不同部件的物体,虽然使用一个名为 Material Utils 的插件可以更轻松地完成这项任务。

Material Utils 插件

Material Utils 插件是一个快速修改分配给模型材质的工具。它特别适用于处理那些使用大量材质的场景,或者有多个共享相同材质的物体的场景。

要启用该插件,打开 Blender 的用户偏好设置编辑器(可以通过点击文件用户偏好设置来打开),然后在插件列表下搜索并启用Material Utils。这会添加一个新的快捷键(Q),可以通过它在物体模式或编辑模式下打开一个菜单,用来为网格分配材质(见图 10-13)。在物体模式下,该插件允许你为整个物体(如果选中了多个物体,则为多个物体)分配材质,而在编辑模式下,它只会为你选择的网格部分分配材质。

使用 Material Utils 插件(Q)为场景添加材质,特别是在有很多物体的场景中,显著加快材质添加速度。图 10-13. 使用 Material Utils 插件(Q)为场景添加材质,特别是在有很多物体的场景中,显著加快材质添加速度。

对于蜘蛛机器人,我通过按A选择所有物体,然后使用材质工具(Q)将我创建的基础材质应用到所有物体上,迅速给模型中的每个物体应用了相同的材质。然后,我开始选择个别部件(并通过 TAB 键进入编辑模式,选择网格的部分,就像在图 10-13 中一样)并从我创建的三个材质中为它们分配其他材质。我的整体目标是为模型保持一个主色、一个次色和一个突出的小部件的高亮色。对于某些物体,比如电线和眼睛,我通过首先使该物体的现有材质数据块唯一(点击材质名称旁边的数字)来创建独特的材质,然后根据需要调整它。分配完材质后,我开始调整材质的漫反射颜色,寻找一个合适的组合,如图 10-14 所示。

烘焙纹理贴图

在确定了我的配色方案之后,我能够将颜色烘焙到纹理贴图中。使用纹理来定义物体的颜色,而不是不同的材质,使我能够使用更少的材质来渲染模型,并简化了后续调整材质的过程。

为了烘焙纹理贴图,我回到属性编辑器中的渲染标签页的烘焙面板,将烘焙模式设置为纹理(Texture),然后点击烘焙(Bake)。这将我分配给不同材质的颜色烘焙成一个单一的纹理(参见图 10-15))。因为这次不需要考虑网格之间的相互作用(就像渲染环境光遮蔽时那样),我可以在烘焙之前选择所有网格,将它们一次性烘焙。

这里值得指出的是,你也可以烘焙更复杂的材质颜色和纹理。例如,你可以将图像纹理烘焙到物体的 UV 展开纹理中,或者将程序生成的材质烘焙到图像中。图 10-16 显示了在烘焙之前,将程序生成的木纹纹理添加到蜘蛛机器人一个平面材质中的结果,从而给它添加了斑马条纹图案。

给丛林神庙纹理化

在丛林神庙的案例中,我的大多数贴图都有一定程度的可平铺性,或者它们在多个位置的网格上重复出现。这意味着像环境光遮蔽这样的贴图会效果较差,因为为一个位置的网格烘焙的贴图,在其他位置重复时可能效果不太合适。最终,我只为雕像网格烘焙了贴图(见图 10-17),为该物体单独创建了一个环境光遮蔽贴图。我通过将雕像放在自己的图层上进行烘焙,就像我之前为蜘蛛机器人模型的部件所做的那样。

在为蜘蛛机器人尝试不同颜色方案后,我最终决定使用白色、灰色和绿色的版本。图 10-14。 在为蜘蛛机器人尝试不同颜色方案后,我最终决定使用白色、灰色和绿色的版本。将简单材质烘焙成贴图图 10-15。将简单材质烘焙成贴图将斑马条纹图案烘焙进蜘蛛机器人的贴图中,使用了程序化木纹贴图图 10-16。将斑马条纹图案烘焙进蜘蛛机器人的贴图中,使用了程序化木纹贴图烘焙丛林神庙场景中雕像的环境光遮蔽贴图图 10-17。烘焙丛林神庙场景中雕像的环境光遮蔽贴图

烘焙贴图的一般建议

烘焙较大的贴图可以让你捕捉到更多的细节,但也会花费更多时间。在决定烘焙多大尺寸的贴图时,考虑模型的细节程度以及在烘焙前需要保留的细节量,以便优化所使用贴图的分辨率。

一般来说,对于位移贴图的一个好经验法则是,贴图的像素大小不需要比网格的多边形数大太多。因此,如果你正在烘焙一个约 1M 多边形的雕刻模型,1024×1024 像素的贴图应该就足够了。对于其他类型的贴图,考虑物体在最终渲染中的大小。如果一个物体在最终渲染中只会显示几百像素高,那么它的贴图大小应该大致相同。另一方面,如果一个物体是近距离以高分辨率显示的,那么就需要更大的贴图。

对于特别简单的材质,比如我们为蜘蛛机器人烘焙的平面颜色,你可以在烘焙时将图像做得更小,之后在像 GIMP 这样的图像编辑程序中放大(确保增加边距设置,以防止接缝)。

在创建烘焙图像时,适当设置位深度。位移贴图需要 32 位图像,而其他类型的纹理通常只需要 8 位(或者如果你打算进行大量操作,使用 16 位)。Blender 可以烘焙 8 位或 32 位图像,但请记住,你最终得到的位深度也取决于你保存的文件格式。对于高位深图像,使用 OpenEXR,而对于 8 位图像,使用.tga.png文件。另外,请记住,GIMP 目前只能编辑 8 位图像(现在是这样——未来的版本可能会支持高位深图像),因此如果你打算在 GIMP 中绘制纹理,额外的位深度并没有太大帮助。

在烘焙环境遮蔽或光照时,考虑将你要烘焙的部分隔离到一个单独的图层,以便更好地控制结果。最后,调整世界设置(或者如果你在烘焙光照,调整灯光设置)也有助于获得更高质量的烘焙纹理。(有关世界和光照设置的更多内容,请参见第十三章。)

总结

在本章中,我们讨论了如何使用 Blender 的烘焙工具将纹理烘焙到图像中,以及 Blender 允许你烘焙的各种贴图类型。我使用这些技巧为我的多个项目烘焙贴图:对于蝙蝠生物,我烘焙了位移贴图和环境遮蔽贴图;对于蜘蛛机器人,我烘焙了环境遮蔽贴图和一些块状颜色,以便稍后进行纹理处理。虽然我在丛林寺庙场景中并不需要进行大量的纹理烘焙,但我确实为雕像创建了一个环境遮蔽贴图。

在下一章,我们将结合我们烘焙的纹理与其他创建纹理的方法,从在 Blender 中直接绘制和克隆纹理,到在 GIMP 中绘制并结合照片纹理以合成新纹理。

第十一章 纹理绘制

在上一章中,我们使用 Blender 自动生成纹理;而在本章中,我们将转向手工创建纹理。通过手绘、使用照片纹理以及利用我们在第十章中创建的纹理,我们将为场景中的物体添加颜色和纹理。我们还将介绍创建一些图像,如高光、硬度和透明度贴图,这些将在第十二章中用于影响我们制作的材质的其他方面,比如其光泽度、平滑度和透明度。我们将学习如何创建可重复使用的纹理,这些纹理可以应用于多个物体,同时也会创建特定 UV 映射到单个物体的独特纹理,结合 Blender 和 GIMP 来完成。

让我们从了解可用工具开始。

在 Blender 中进行纹理绘制

在 Blender 中,我们可以使用 UV 图像编辑器进行 2D 绘制,也可以使用 3D 视图中的纹理绘制模式直接在物体上进行绘制。这为我们提供了很大的灵活性来绘制我们的模型。画笔可以同时在 UV 图像编辑器和纹理绘制模式中使用,使得 Blender 的纹理绘制变得简便而一致。

一旦你选择了一个已经展开并在 UV 图像编辑器中分配了图像的网格,就可以在 3D 视图中切换到纹理绘制模式。(使用头部的模式下拉菜单,如图 11-1 所示。)默认情况下,你会看到网格上的纹理,并可以使用 Blender 的纹理画笔在其上进行绘制。

Blender 提供了几种画笔类型,供你在模型上绘制纹理:

绘制、画笔和 Texdraw。这些画笔提供相同的基本功能,允许你用颜色选择器指定的颜色直接在网格上进行绘制。

克隆。这个画笔允许你将模型一部分的纹理信息克隆到另一部分,或者将一个 UV 坐标集的纹理信息克隆到另一个 UV 坐标集。在项目绘画设置中关闭克隆选项(参见项目绘画),画笔将获取 3D 视图光标下方的纹理信息并将其复制到你所涂绘的地方,这样你就能在同一纹理中从模型的一部分克隆到另一部分。开启项目绘画设置中的克隆选项时,画笔将从相同的网格部分克隆纹理信息,但来自分配给不同 UV 坐标集的纹理(即在项目绘画设置中选择的纹理)。

Blender 中的纹理绘画模式。在这里,我使用了第八章中创建的修改后的 UV 展开布局。这个布局允许我在 3D 视口中(右侧)绘制纹理,在 UV 图像编辑器中查看和编辑生成的图像(左侧),并在属性编辑器中编辑材质和设置。图 11-1。Blender 中的纹理绘画模式。在这里,我使用了第八章中创建的修改后的 UV 展开布局。这个布局允许我在 3D 视口中(右侧)绘制纹理,在 UV 图像编辑器中查看和编辑生成的图像(左侧),并在属性编辑器中编辑材质和设置。

涂抹。这会在画笔笔触的方向上涂抹你的纹理。它可以用来混合颜色并抹去错误。

柔化。这会模糊笔触下方的纹理,减少噪点和细节。

这些画笔类型可以像 Blender 的雕刻画笔一样复制和修改,允许你创建适合自己需求的各种画笔。此外,和雕刻模式一样,你可以使用工具选项区域中的纹理面板为画笔应用纹理。你应用的纹理将在你绘画时与笔触相乘。

投影绘画

Blender 在纹理绘画模式中有两种绘制纹理的方法。较老的传统方法虽然有用,但有显著的局限性。新的投影绘画方法提供了一套更先进的工具,包括允许你使用其他 UV 坐标和图像来遮罩和克隆纹理,以及仅在从你的视点可见的表面上进行绘画。当启用时,投影绘画会提供图 11-2 中显示的选项。我将按照这些选项在投影绘画面板上出现的顺序进行讨论。

投影绘画面板有多种选项来控制 Blender 的纹理画笔如何工作。图 11-2。投影绘画面板有多种选项来控制 Blender 的纹理画笔如何工作。

遮挡。这可以防止绘画时“穿过”网格,绘制到背后可见面的表面上。

剔除。这可以防止在背离你视角的面上进行绘画。

法线。这根据笔触是否朝向你,平滑过渡笔触的强度(类似于剔除,但具有平滑的渐变效果)。你可以使用复选框右侧的角度设置来控制渐变的限制。

注意

默认情况下,上述选项是启用的,但关闭它们可以快速用单一笔触绘制模型的大部分区域。

模板。这个选项允许你使用映射到对象 UV 坐标(这个坐标集可以不同于你正在绘制的那个坐标集)的图像来遮罩你的笔触效果。这个设置可以用于限制你正在处理的区域,或者简化向模型添加纹理的过程,正如本章后续部分所示。在模板复选框的右侧,你可以选择使用哪个 UV 坐标集(也即使用哪个图像)来进行遮罩,并且是否反转遮罩。

克隆。这允许你将一个 UV 映射上的纹理信息克隆到另一个 UV 映射上。(你的笔触将克隆到分配给当前 UV 集的图像,而这个图像是在选项框旁的下拉菜单中选择的那个。)这个设置让你能够例如将模型投影到使用一个 UV 坐标集的照片上,然后再将其克隆到另一个更整齐布局的 UV 映射上进行进一步的纹理绘制。(我们稍后会在“丛林神庙”中使用这个选项。)

溢出。这个选项决定了当你在 UV 接缝上绘画时,Blender 会将纹理从 UV 岛的边缘向外溢出多少。这样可以防止纹理中出现接缝,类似于纹理烘焙中的边距设置。

快速编辑。这个功能在纹理绘制时非常有用,特别是对于清理接缝和绘制那些可能需要额外工具来处理的难以纹理化区域,比如在 GIMP 等 2D 绘画程序中可用的工具。快速编辑会从当前视角拍摄模型的快照,并在你选择的图像编辑器中打开。(要选择图像编辑器,可以在 Blender 用户设置的“文件”标签中找到“图像编辑器”选项;然后,简单地设置 GIMP 或任何你希望使用的图像编辑器的路径。)你可以在图像编辑程序中绘制纹理并保存。点击 Blender 中的应用按钮会将该纹理从最初拍摄的视角投影到模型上。(你不需要担心移动相机;Blender 会记住这个设置。)在本章的后面部分,我们会讨论如何使用这个功能来修复接缝。

应用相机图像。类似于快速编辑,这会将图像从相机的当前视角投影出来。它会弹出一个下拉菜单,列出你在 Blender 中已经打开的所有图像,供你选择,随后它会将你选择的纹理投影到你的模型上。

保存所有编辑。这会保存你在纹理绘画模式下编辑过的任何纹理,但这些纹理必须已经手动保存过一次,否则 Blender 不知道保存位置。一般来说,最好还是记得手动保存,这样你能追踪到已经编辑过的纹理。

在 UV 图像编辑器中绘画

你也可以在 Blender 的 UV 图像编辑器中绘制纹理。为此,点击 UV 图像编辑器区域顶部的画笔图标。然后,你可以使用与 3D 视口中相同的画笔,在 UV 图像编辑器中的当前图像上进行绘制。通过将 3D 视口和 UV 图像编辑器并排使用(如 图 11-1),你可以在绘制纹理时获得更多控制。

注意

稍后我们将在本书中的一些项目中使用 Blender 的 Cycles 渲染器进行渲染,但在进行纹理绘制时,最好将渲染器保持为 Blender Internal。这是因为 Cycles 在使用多个 UV 坐标集进行纹理绘制时,可能会导致 Blender 的行为有些异常。

在 GIMP 中绘制纹理

虽然我们可以在 Blender 中进行 2D 绘画,但 GIMP 提供了更多的绘画工具,如选区、蒙版、图层和滤镜。这些工具的多样性使得 GIMP(或其他图像编辑器,如 Photoshop)在纹理制作中变得不可或缺。特别是,使用图层的功能使得创建纹理时尽可能非破坏性地工作变得更加容易,先建立一个图层,然后在新图层上添加细节。

使用图层的功能还允许你轻松地将烘焙纹理与手绘纹理结合。例如,你可以在另一个纹理图层上添加环境光遮蔽纹理,以增加阴影效果。GIMP 还拥有一个更为高级的画笔系统,使得绘制细节纹理变得更容易。(我在 第二章中介绍了 GIMP 绘画的基础,因此在本章中我们只会讨论 GIMP 中与纹理相关的更多内容。)

在 GIMP 中创建纹理画笔

GIMP 的画笔易于编辑,并且能够创建各种各样的效果。在纹理绘制时,创建自定义画笔常常很有用,这可以帮助快速构建纹理。特别是,当作为克隆画笔或油漆画笔使用时,带有斑点或脏污效果的画笔在不同颜色和纹理之间的融合中通常非常有用。

例如,让我们创建一个脏乱的画笔,这将在为丛林神庙添加纹理时派上用场。它的效果可以在图 11-5 的右侧看到。为了创建它,我们从 CGTextures(* cgtextures.com/ *)获取一个照片纹理,然后将其精炼成一个可以导出为默认 GIMP 画笔的画笔,可以在 GIMP 中反复使用进行纹理处理或绘画。

GIMP 画笔是图像文件,用于控制画笔的形状。RGB(彩色)图像按原样使用(更像是印章而非画笔),不会继承画笔颜色。黑白图像将黑色解释为画笔的形状,白色为透明,它们的颜色来自你在 GIMP 的颜色选择器中选定的颜色。要创建 GIMP 画笔,我们只需要创建一张黑白图像,并将其保存为 GIMP 的画笔格式(.gbr.gih—*稍后我会讨论这两者之间的区别)。

  1. 从 CGTextures 获取一张油漆飞溅的照片(参见图 11-3),然后选择颜色去饱和将图像转换为黑白,选择亮度选项以去饱和图像,从而增加亮度上的变化。

    我们将作为画笔纹理使用的图像图 11-3. 我们将作为画笔纹理使用的图像

  2. 接下来,识别一个可能适合作为画笔的方形区域,并使用矩形选择工具(R;按住 SHIFT 并拖动可以选择正方形区域)选择该区域。复制此区域(CTRL-C),然后将其粘贴为新图像(CTRL-SHIFT-V),接下来你将把它保存为一个新的画笔。

  3. 虽然你已经将图像去饱和,但它仍然是使用 RGB 颜色编码的,因此请切换到使用黑白值,通过图像模式灰度来进行转换。

  4. 接下来,对新图像进行一些微调,涂去一些溅落在画布边缘的部分。纹理现在已经准备好保存,如图 11-4 所示。

    一部分照片,复制并粘贴到新图像中,稍微调整边缘图 11-4. 一部分照片,复制并粘贴到新图像中,稍微调整边缘

为画笔添加变化

你可以在这里停止,并将画笔导出为 .gbr 画笔文件,但作为画笔使用时,它只会重复这一个图像。如果想让画笔效果更有变化,可以重复上述步骤,添加更多图层到画笔图像中,然后将其保存为一个动画 .gih GIMP 画笔。这个画笔每次绘制一部分笔触时,将使用画笔图像中的不同图层,使得笔触看起来更加多样化。为此,按照以下步骤操作:

  1. 选择原始图像的更多区域,并将它们复制粘贴为新的图层到画笔图像中(CTRL-V,然后在 GIMP 的图层对话框中点击新建图层)。经过几次操作后,你会得到五个不同的图层,上面有不同的飞溅效果。

  2. 将此文件导出为 .gih 画笔文件,并保存到 GIMP 的画笔文件夹^([1])(选择文件导出,将文件类型设置为 .gih,然后点击保存)。

  3. GIMP 应该会弹出一个对话框,让你定义画笔的设置。如果你将画笔的每一“帧”放在不同的图层上,你可以保留默认设置;只需确保更改画笔的描述为有用的内容,并检查“单元格”设置是否与图像中的图层数量相同。如果需要,你可以调整画笔的默认偏移量或在绘制笔触时每个画笔标记之间的距离。对于重型的画笔效果,选择一个较小的值,但对于这种脏脏的画笔,较宽的间距更为合适——比如大约 40。

  4. 设置完成后,点击导出。现在,如果你点击刷子对话框右下角的刷新画笔,你应该能够选择新的画笔并开始测试。此时,它的效果显示在左侧的图 11-5。

  5. 你已经创建了一个包含几种不同形状的动画画笔,但注意到它们的重复频率较高(见图 11-5 左侧的图像)。为了解决这个问题,你可以调整 GIMP 的画笔动态,增加画笔在笔触长度上的变化。

    注意

    假设你有一个压力敏感的手写板(强烈推荐)用于绘画。如果没有,你仍然可以使用画笔动态设置,如速度、褪色和随机化,来为你的画笔笔触增加效果。但显然,鼠标点击不适用于压力感应。

  6. 要调整 GIMP 的画笔动态,请打开画笔动态对话框(WindowsDockable DialogsPaint Dynamics,点击对话框左下角的第二个图标New Dynamics)。这将打开画笔动态编辑器(见图 11-6),在这里你可以使用映射矩阵(那张大网格勾选框)来设置画笔的行为。映射矩阵的顶部列出了所有可以驱动画笔行为的输入,而矩阵的左侧列出了这些输入可以影响的画笔设置。将压力(Pressure)设置为影响画笔的不透明度,将随机(Random)设置为影响每个画笔笔画的大小和旋转。设置好这些动态后,你现在可以得到一个不错的随机、脏乱的画笔笔触,可以用来绘制各种纹理(见图 11-5,右边的部分)。

左:我们使用 GIMP 默认画笔动态的新画笔。右:相同的画笔,GIMP 的画笔动态设置为随机化画笔的大小和旋转。图 11-5。左:我们使用 GIMP 默认画笔动态的新画笔。右:相同的画笔,GIMP 的画笔动态设置为随机化画笔的大小和旋转。画笔动态编辑器,这里显示的是我那种脏乱画笔的动态设置。勾选映射矩阵中的框,能够让对应列的变量影响对应行中的画笔属性。图 11-6。画笔动态编辑器,这里显示的是我那种脏乱画笔的动态设置。勾选映射矩阵中的框,能够让对应列的变量影响对应行中的画笔属性。

为蝙蝠生物纹理绘制

我希望纹理能够让蝙蝠生物看起来像夜晚的生物:斑驳的紫色皮肤和变色的指甲,配上额外的皱纹、雀斑和静脉,以便在我雕刻的基础上添加更多细节。为了实现这一点,我将纹理分阶段构建,首先是基本颜色的填充,然后平滑并精炼这些颜色,最后添加细节。

我首先在 Blender 的纹理绘制模式下涂抹了一些平面颜色。然后,我保存了工作并将其打开在 GIMP 中进行更精细的纹理处理——例如,我将绘制的纹理贴图与我在第十章中烘焙的环境遮蔽图合并。然后,我使用 GIMP 来调整和补充漫反射纹理,以创建镜面反射和硬度纹理。

为了开始确定我的颜色,我进入了编辑模式,并为蝙蝠生物的网格分配了一个新的空白图像(这个网格用于第十章中的纹理烘焙,而不是高分辨率的雕刻网格)。新的纹理对话框允许我们选择填充新图像的颜色,所以我将其设置为一种柔和的粉紫色——一种适合夜间生物的、不健康的皮肤颜色。

接下来,我在 UV 图像编辑器中为我的纹理建立了一个整体的色彩调色板,选择了一个未映射到网格任何部分的空闲空间(参见图 11-7)。我为阴影区域选择了一种较深的紫色,比如眼睛下方的区域;为骨骼区域选择了一种较浅的黄色调;为静脉和血流丰富的区域选择了一种深而饱和的红色;以及为原始基色的阴影和高光区域选择了较深和较浅的版本。(我们并没有在纹理中绘制光照,我说的是不同区域的皮肤颜色深浅变化。)我还选择了一种浅的对比色来作为一些区域的高光。我在我的图像上涂抹了一点这些颜色,以便以后可以从中选取颜色,供在 UV 图像编辑器或在 3D 视图中绘画时使用。

选择一些初始颜色来为蝙蝠生物的皮肤上色,可以使得返回到相同的颜色变得更加容易,并且保持一致的色彩调色板。图 11-7. 选择一些初始颜色来为蝙蝠生物的皮肤上色,可以使得返回到相同的颜色变得更加容易,并且保持一致的色彩调色板。

绘画的材料和用户界面设置

在纹理绘制模式下,Blender 默认会将你正在绘制的纹理应用到你的网格上,并在 3D 视图中显示,使用的是 Blender 默认的实心着色方式。然而,和雕刻一样,我们可以通过在场景中添加简单的灯光(更多灯光内容见第十三章)以及为网格添加简单的材质(更多材质内容见第十二章)来使用 Blender 的 GLSL 着色模式,以不同的方式显示纹理。

对于蝙蝠生物,我给蝙蝠物体添加了一个简单的材质,命名为Body_TexturePaint。在属性编辑器的纹理选项卡中,我为该材质添加了一个新的纹理,将其类型设置为图像,选择了我已经分配给物体 UV 的绘制图像,并将纹理的映射类型设置为 UV。

添加光源

为了在 GLSL 阴影模式下使物体可见,我们需要添加光源,所以在对象模式下,我创建了一个新的 Hemi 灯来照亮我的物体。切换到纹理视口模式(确保在属性面板的显示区域中将阴影设置为 GLSL),我可以看到光源只从上方照亮了蝙蝠生物,因此我复制了这个灯并将其旋转了 180 度,从下方照亮物体。接下来,我将新复制灯光的强度减少到大约 0.3,在灯光的对象数据选项卡中进行设置,以便在物体上下的光照之间留有一点差异。我还关闭了灯光的镜面反射组件(见图 11-8),这样我的网格就不会显得过于光亮。

添加简单的灯光和材质,使得在 GLSL 模式下进行纹理绘制更为容易。在这里,我添加了几个 Hemi 灯,并开启了 GLSL 阴影模式。 图 11-8. 添加简单的灯光和材质,使得在 GLSL 模式下进行纹理绘制更为容易。在这里,我添加了几个 Hemi 灯,并开启了 GLSL 阴影模式。

注意

如果你发现 Blender 中的绘制变得迟缓,可以通过复制雕刻过的网格并在较低的级别应用 Multires 修改器来创建一个低分辨率的网格进行绘制。由于这个低分辨率的网格与高分辨率网格共享相同的 UV 坐标,你可以在其上绘制并稍后将纹理应用到高分辨率模型上。

在 Blender 中铺设基本纹理

现在,我可以开始在我的模型上铺设一些基本纹理了。在纹理绘制模式下使用标准画笔,我从 UV 图像编辑器中的调色板中取样,然后在 3D 视口中在模型上绘制。

我开始时利用解剖学特征作为颜色指导,将骨骼区域做得较亮并偏黄色;凹陷区域,如眼睛,做得较暗并偏紫色;背部则做得较暗。我将血流较多或皮肤较薄的区域,如翅膀和耳朵,涂上更红的颜色,并稍微用较亮的颜色突出了一些躯干和腿部的肌肉。我在 Project Paint 中开启了 Occlude 功能,但关闭了 Normal 和 Cull 功能,因为这些设置允许你即使在侧面角度下,也能平滑地绘制网格。在这个阶段,目标仅仅是大致确定你想要的颜色。

切换到 GIMP

在我布置好基础色彩后,我需要更高级的绘画工具来开始混合颜色并添加细节。因此,是时候转向 GIMP 了。我将纹理保存在 Blender 中,作为一个 .tga 图像(在 UV 图像编辑器中按 F3 保存当前图像)。然后,我将保存的图像加载到 GIMP 中,开始清理并平滑我在 Blender 中绘制的颜色,修复伪影并填补不自然的区域。这个过程最好使用画笔工具,选择一个相对较大、柔软的画笔,通过简单地取色(按住 CTRL 并点击,无需切换到其他工具)来混合颜色和区域(见 图 11-9)。 (另一种混合颜色的方法是使用涂抹工具和一个看起来有些脏的画笔,比如我们在本章前面创建的那种,用来在两个区域之间来回涂抹,混合它们的颜色。)

为了给我的纹理添加细节,我使用了我在第十章中烘焙的环境光遮蔽图。通过文件▸以图层打开,我将烘焙的环境光遮蔽图作为新图层加载到我绘制的纹理上方。

我对这个图层进行了一些清理,就像我对粗略的漫反射颜色所做的那样。为了清理,我使用了 GIMP 的画笔和取色功能,使用画笔工具融合看起来不自然的区域,或者使用克隆工具在保留纹理的同时填补空白区域。

图层模式和不透明度

最初,我们的环境光遮蔽图作为普通图层导入,完全覆盖了纹理。为了解决这个问题,我们可以使用 GIMP 的图层混合模式,找到一种更合适的方式将两者融合。

GIMP 的图层对话框显示了图像中的每个图层(见图 11-10。"),其中选中了环境光遮蔽图层并将其混合模式设置为“正片叠底”)。在对话框的顶部,有一个下拉菜单允许你选择所选图层的混合模式。不同的混合模式有不同的效果:正常模式将一层叠加在另一层上,正片叠底将两层中每个像素的值相乘,加法将它们相加。叠加模式会根据图层的值使下方的图层变亮或变暗——深色值会使区域变暗,浅色值会使区域变亮,而中灰色则没有效果。在组合图像时,尝试各种图层模式,以找到最适合的模式。为了将环境光遮蔽图与我的绘制颜色合并,我将模式设置为“正片叠底”。

在 GIMP 中清理我们的纹理:在 Blender 中粗略绘制的纹理部分(左);在 GIMP 中合并和绘制后的区域(右)图 11-9. 在 GIMP 中清理我们的纹理:在 Blender 中粗略绘制的纹理部分(左);在 GIMP 中合并和绘制后的区域(右)GIMP 的图层对话框。顶部,模式和不透明度设置图层混合模式和不透明度。下方是锁定图层颜色和透明度的选项。每个图层都有切换其可见性和链接图层的选项(这样它们在移动、缩放或旋转时保持对齐)。图 11-10. GIMP 的图层对话框。顶部,模式和不透明度设置图层混合模式和不透明度。下方是锁定图层颜色和透明度的选项。每个图层都有切换其可见性和链接图层的选项(这样它们在移动、缩放或旋转时保持对齐)。

你可以通过图层的不透明度设置控制一个图层与另一个图层的混合程度(见图 11-10)。由于我的环境光遮蔽层使底层纹理变得非常暗,因此我将其不透明度降低到大约 40%。环境光遮蔽层在此不透明度下的效果,如图 11-11 中左上所示。

调整颜色

GIMP 提供了多种工具来处理图像的颜色,既有丰富的滤镜,也有颜色菜单中的多种选项。例如,你可以调整图像的曝光度、色调和饱和度,使用曲线或滑块调整每个通道的亮度,还有许多其他选项可以使用。

目前,我们的蝙蝠生物纹理看起来相当灰,因为黑白的环境光遮蔽纹理叠加在其上。为了解决这个问题,我们可以调整环境光遮蔽层的曲线,加入更多的红色,使阴影更加饱和且偏红。为此,按照以下步骤操作:

  1. 在选中环境光遮蔽层后,选择颜色曲线,此时会弹出曲线对话框。

    将环境光遮蔽图层融入我们的纹理中。左上:环境光遮蔽纹理以 40%不透明度叠加在粗糙的漫反射纹理上,未做任何修改。下方:使用曲线工具调整环境光遮蔽图层的颜色,使其更偏红。右上:将偏红的环境光遮蔽图层以 40%不透明度叠加在漫反射纹理上。图 11-11. 将环境光遮蔽图层融入我们的纹理中。左上:环境光遮蔽纹理以 40%不透明度叠加在粗糙的漫反射纹理上,未做任何修改。下方:使用曲线工具调整环境光遮蔽图层的颜色,使其更偏红。右上:将偏红的环境光遮蔽图层以 40%不透明度叠加在漫反射纹理上。

  2. 这让你可以通过曲线函数修改图像中每个通道(红色、绿色、蓝色和透明度)的值。

  3. 要在图像的暗部添加红色,选择通道下拉菜单中的红色通道,抓住曲线的左下角点并将其向上拖动(见图 11-11,下方)。

  4. 点击确定以应用曲线,现在环境光遮蔽图像为皮肤提供了漂亮的饱和裂缝和阴影区域(见图 11-11,右上)。

保存并导出回 Blender

纹理还没有完成,但重要的是要经常保存,做到这一点可以帮助我们查看当前在 Blender 中的工作进度纹理效果。GIMP 区分保存(CTRL-S)为其本地的 .xcf 格式,这会保留图层和其他信息,以及将图像导出为其他格式,如 .jpg 或 .tga(CTRL-E)。我们需要做两者,这样就可以保留包含所有图层的 GIMP 文件以便进一步编辑,同时又能得到一个可以在 Blender 中使用的图像。

首先,我将图像保存为 .xcf 文件,然后将其导出为 .tga 图像。为了在 Blender 中打开此图像,我选择了我的 Bat Creature 对象,切换到编辑模式,在 UV 图像编辑器中,使用“图像▸替换图像”将旧的、粗略绘制的纹理替换为新的纹理。(记得也要为材质做这一步——不过如果你对网格应用的纹理使用了相同的图像,它应该会自动更新。)接下来,你应该能看到更新后的纹理应用在网格上。你现在可以在 Blender 中继续绘制,但我选择暂时留在 GIMP 中。

添加细节

回到 GIMP,随着我们的环境光遮蔽效果与手绘纹理搭配得很好,我们可以开始添加更多的细节。我使用了手绘和摄影纹理的混合方式。

首先,使用照片建立一些纹理是非常方便的,然后通过手绘调整和补充现有的纹理。为此,我从 CGTextures 上获取了一些大象皮肤的照片,照片中的褶皱和皮肤纹理与我的纹理非常契合。我将它们作为图层打开到我的纹理图像文件中,并将它们缩放到纹理中的褶皱比例大致与蝙蝠生物的褶皱相匹配。

我使用移动工具(Move tool)将纹理分布到我的图像上,知道它们的精确位置暂时并不重要。接着,我创建了一个新图层(SHIFT-CTRL-N 或者在图层菜单中选择 Layer▸New Layer),并将其混合模式设置为叠加(Overlay)。然后,我通过在图层对话框中上下拖动图层的图标,将它放置在原始的颜色纹理和环境遮挡(Ambient Occlusion)图层之间。

使用克隆工具(C),我首先设置克隆源(CTRL-点击)为其中一个皮肤纹理,确保它在图层对话框中已被选中。接着,我切换到我的新图层,开始在不同的区域克隆皮肤纹理(参见图 11-12)。我频繁切换不同的皮肤纹理,寻找适合生物皮肤不同部位的区域。我还使用翻转(SHIFT-F)和旋转(SHIFT-R)工具来翻转和旋转皮肤图像,以查看它们在不同方向下是否效果更好,然后再进行克隆。为了处理被皮肤图像遮挡的区域,我使用图层对话框中的眼睛图标切换它们的可见性,或者简单地用移动工具将它们移到一边。

在从照片图像建立了第一层细节后,我隐藏了照片纹理,并开始绘制一些手绘细节(参见图 11-13)。首先,我在一个新图层上使用画笔工具和柔边刷子给翅膀上添加了一些血管。接着(在另一个新图层上),我在肩膀、太阳穴和背部等区域添加了一些斑点,使用了深色和浅色的组合。我之前使用的脏刷(Grunge brush)非常适合这种效果,将刷子的间距(在画笔对话框中设置)调高一些就能达到很好的效果,另外一个简单的小硬边画笔也能很好地用来绘制特定的斑点。将不同种类的细节放在不同的图层上,使得它们可以以不同的方式混合和组合,而且在创建镜面和其他类型的贴图时也非常方便。

指甲和牙齿

蝙蝠生物的指甲和牙齿与身体在同一个 UV 图中。对于指甲,我涂上了深紫色,并加入了一些较亮的黄色高光。对于牙齿,我使用了黄色,并在牙齿与牙龈接触的地方加了些许棕色,如图 11-14 所示。

使用克隆工具从照片中克隆纹理。我将照片添加为新图层;然后,在另一个新图层(设置为叠加模式)上,我从照片中克隆出一些皮肤细节以加入到我的纹理中。 图 11-12. 使用克隆工具从照片中克隆纹理。我将照片添加为新图层;然后,在另一个新图层(设置为叠加模式)上,我从照片中克隆出一些皮肤细节以加入到我的纹理中。一些手绘细节的特写 图 11-13. 一些手绘细节的特写指甲和牙齿 图 11-14. 指甲和牙齿

修复接缝

当我的皮肤纹理细节做得很到位时,我回到 Blender 中检查它的效果是否正常,然后开始修复纹理中的任何接缝。为此,我将我的皮肤纹理从 GIMP 导出,并用新导出的版本替换 Blender 中旧的皮肤纹理。

在 UV 接缝处,纹理中肯定会出现一些伪影,尤其是在我使用 GIMP 涂抹过 UV 岛的边缘时。要修复这些伪影,可以使用 Blender 的快速编辑功能:

  1. 要修复模型某个部分的接缝,将 3D 视图调整到接缝清晰可见的角度。

  2. 为了确保屏幕上没有可见的阴影,将视点显示模式设置为GLSL,并在属性编辑器的材质选项卡中将材质设置为无阴影

  3. 在纹理绘制模式下,将快速编辑分辨率设置为1024,然后从工具架中点击快速编辑(参见图 11-15 2))。这会在 GIMP 中打开该视角的截图,我们可以开始在上面进行涂抹。

  4. 为了获得最佳效果,在 GIMP 中放大截图,使用图像图像大小,将新大小设置为2048。然后,创建一个新的透明图层,我们将在上面修复接缝(原因稍后会解释)。

  5. 使用克隆工具,从下方的图层开始克隆,覆盖接缝;使用脏乱刷的形状效果很好。(在工具选项中打开合并取样,可以在设置源时从所有图层进行取样,而不必先切换图层。)

  6. 在接缝涂抹完成后,禁用原始图层,仅保留覆盖接缝的新增涂抹图层。使用 CTRL-E 导出图像,并覆盖从 Blender 导出的原始图像。

  7. 回到 Blender,点击应用将涂抹后的图像应用到你的纹理上(参见图 11-15 4)。因为你只保存了覆盖接缝的区域,所以只有这些区域被替换。对于模型上的其他接缝,重复这个过程,然后将修复后的新纹理保存为新图像。

合并修复接缝和分层图像

这个过程修复了我的接缝,但因为我在 Blender 中修复了纹理,结果只得到了一个单层图像。为了恢复到分层格式,我将修正后的图像作为新图层打开到我的纹理文件中,放在其他图层之上。我希望尽可能保留我的旧图层可见,因此需要给这个图层加上蒙版,只在修复接缝的区域显示。为了实现这一点,请执行以下操作:

  1. 在图层对话框中,将新修复图层的混合模式设置为差异。这个混合模式的结果是该图层与下方像素的颜色差异,这意味着不同区域看起来很亮,而未改变的区域保持黑色。总体来说,结果可能看起来非常暗,因为差异很小,但你很快就能解决这个问题。你可以将此结果作为蒙版的基础,显示新图层中仅修复的部分。

  2. 在图层对话框中右键点击顶部图层并选择从可见图层创建新图层。这将创建一个新的图层,它是下方所有图层的合成,合并为一个。在我们的案例中,这就是修复图层与原始图层之间的差异。使用“色阶”工具(颜色色阶),你可以增加这个图层的值,从而创建我们可以作为蒙版使用的东西。色阶工具将当前图层作为输入,并使用你提供的设置来调整图层的值。你只需要将所有不是 100%黑色的像素——即修复图像与原始图像不同的区域——变成白色。为此,将输入渐变的右端点拖动到接近左端(参见图 11-16),然后点击确定

  3. 结果可能看起来有些噪点并且颜色奇怪,但颜色并不重要,因为我们将仅使用该图层的亮度作为蒙版。为了平滑效果,可以使用高斯模糊滤镜(滤镜模糊高斯模糊)将图层模糊大约 10 像素。

  4. 接下来,复制这个新的合并图层,并将其用作修复过的纹理的蒙版。按 CTRL-A 全选,然后按 CTRL-C 将图层复制到剪贴板。

    导出截图以便在 GIMP 中进行快速编辑:Blender 中的接缝区域 1;从 Blender 导出到 GIMP 进行快速编辑并在新图层上绘制 2;单独的新图层,将覆盖原始导出的图像 3;导出的图像应用于纹理,返回 Blender 使用应用操作符 4图 11-15. 导出截图以便在 GIMP 中进行快速编辑:Blender 中的接缝区域 1;从 Blender 导出到 GIMP 进行快速编辑并在新图层上绘制 2;单独的新图层,将覆盖原始导出的图像 3;导出的图像应用于纹理,返回 Blender 使用应用操作符 4使用色阶工具调整图层的值。注意输入级别的滑块如何集中在图表的左侧,以便将除最暗值之外的所有亮度增加为白色。图 11-16. 使用色阶工具调整图层的值。注意输入级别的滑块如何集中在图表的左侧,以便将除最暗值之外的所有亮度增加为白色。

  5. 在图层对话框中禁用合并层的可见性,并将固定图层的混合模式恢复为正常。然后,为了向固定图层添加图层蒙版,右键点击它并选择添加图层蒙版。选择白色作为图层蒙版的颜色,然后点击添加来创建它。

  6. 按 CTRL-V 将我们从合并层创建的蒙版粘贴为“浮动”层——你可以继续在其上工作并移动,直到固定它并将其应用到你粘贴它的图层上。由于我们不需要对其进行任何更改,按 CTRL-H 将其固定。

我们的固定图像现在已经被蒙版处理,这样只有与原始纹理不同的区域会显示在下面的层上。这基本上完成了我们漫反射纹理的创建(参见图 11-17),所以请将图像保存为.xcf文件,并导出一个新的.tga漫反射纹理图像。

图层蒙版

图层蒙版是一个黑白图像,用于确定 GIMP 中一个图层如何与下面的图层混合。如果图层的整体不透明度为 100%,则白色区域会完全显示(否则两者会相乘),黑色区域会被完全遮罩,介于两者之间的值会在两个极端之间混合。

当你给图层添加蒙版时(如上所示),它会出现在图层缩略图的右侧。在图层对话框中点击其缩略图,你可以像在正常图层上那样对其进行绘制(只不过它只能使用黑白值,因此不能使用处理 RGB 颜色的工具和滤镜)。

点击图层的缩略图以返回到正常绘画模式(活动图层或蒙版的缩略图会被白色轮廓框住)。你可以通过右键单击图层并选择应用图层蒙版来应用图层蒙版的效果。这将把蒙版应用到图层本身,使蒙版区域变为透明。

创建镜面反射和硬度纹理

在我们的漫反射纹理绘制完毕且接缝清理好之后,是时候创建我们的镜面反射和硬度纹理了。镜面反射纹理定义了我们生物镜面反射的颜色和强度:暗区看起来会是哑光的,亮区则会显得光滑。硬度贴图决定了高光的软硬程度:低值创建柔和、扩散的反射,而高值则创建更小、更强烈的高光。

为了创建这些纹理,我们可以复制并修改漫反射贴图的图层。我们将在同一个 GIMP.xcf文件中创建这些纹理,这样我们就能方便地访问已经创建的图层。

图层组

为了更方便地管理创建镜面反射和硬度纹理,我使用了图层组来组织我的图层。图层组允许你将图层分组,并在图层对话框中展开和折叠这些组,从而使得保持整洁变得更加简单。要创建图层组,右键点击图层对话框中的一个图层,然后选择新建图层组,或者点击对话框底部的文件夹图标。然后,你可以将其他图层拖动到该组图层上,将它们分配到该组。为了组织我的蝙蝠生物的纹理,我创建了三个图层组:一个用于漫反射纹理,一个用于镜面反射纹理,另一个用于硬度纹理(参见图 11-18)。

完成的漫反射纹理图 11-17. 完成的漫反射纹理使用图层组组织图层图 11-18. 使用图层组组织图层

镜面反射贴图

对于镜面反射贴图,我首先从可见图层创建了一个新图层(图层▸从可见图层新建),并将其放入镜面反射贴图的图层组中。我反转了纹理的颜色(颜色▸反转),然后调整了色阶(颜色▸色阶),使图层的对比度更强。接着,我使用颜色▸色相和饱和度更改了图层的颜色,并将色相滑块调整为蓝色调(参见图 11-19 中的第 3 步)。虽然这已经产生了一个相当不错的镜面反射纹理,但为了获得更多的变化,我复制了之前为漫反射贴图创建的、带有斑点和污渍的图层,并将它们放入镜面反射贴图的图层组中,适当调整了它们的颜色。

接下来,我开始调整一些区域,以获得正确的镜面反射度。例如,我希望嘴唇和眼睛周围的区域看起来湿润且闪亮,而希望躯干和手臂看起来更为哑光和干燥。我本可以开始使用基础画笔进行绘制,但那样会失去我已经制作好的许多纹理。相反,我使用了不同的画笔模式,从而能够保留一些纹理。画笔模式可以从工具选项对话框中设置。画笔模式具有与图层混合模式相同的选项(正常、正片叠底、加法等)。一种不失细节地调整图像值的好方法是使用画笔模式设置为“叠加”并使用黑色来加深区域,使用白色来提亮区域。

在某些区域,我希望保留一些纹理,同时去除非常暗或非常亮的值,这时“仅变亮”和“仅变暗”画笔模式非常有用。我使用了“仅变暗”模式,并选取了一个中间色值,以去除过于明亮的区域,同时保留纹理的较暗部分,反之亦然。图 11-20 展示了完成的高光纹理。

硬度图

为了创建硬度纹理,我首先从漫反射纹理中创建了一个“从可见层”新建的图层。(你可以关闭高光纹理图层组的可见性,以便重新显示漫反射纹理。)接着,我反转了图层,调整了色阶,并开始像上面那样使用画笔工具手动微调。由于硬度纹理需要更多的变化,我创建了一个新图层,并在身体上画上更多的斑点(包括较亮和较暗的部分)。图 11-20 同样展示了完成的硬度纹理。

纹理绘制眼睛

完成大部分纹理绘制后,我开始绘制眼睛的纹理。为此,我创建了一张新的图像,并按照以下步骤手工绘制:

  1. 创建一个 1024×1024 像素的新图像(文件新建图像)。接下来,为了获得眼睛的中间位置的参考线,创建两条通过图像中点的参考线,分别是水平和垂直的。操作方法是点击图像参考线按百分比新建参考线。为了为瞳孔放置创建参考线,重复这个操作一次,分别为垂直参考线和水平参考线,每条参考线的位置在图像高度或宽度的 50%。

  2. 用黄色调填充第一层,然后为虹膜创建一个新图层。为了得到正确的形状,使用椭圆选择工具E),从图像中心点击并拖动绘制一个圆形。按住 CTRL 键时,选择区域从中心开始扩展,按住 SHIFT 键时,选择区域会限制为正圆形。

    通过调整漫反射贴图来创建高光贴图:漫反射贴图 1;反转颜色 2;调整色阶、色调和饱和度 3;并画上额外细节 4。图 11-19. 通过调整漫反射贴图来创建高光贴图:漫反射贴图 1;反转颜色 2;调整色阶、色调和饱和度 3;并画上额外细节 4。完成的高光纹理(左)和硬度纹理(右)图 11-20. 完成的高光纹理(左)和硬度纹理(右)

  3. 画出虹膜外圈的圆形轮廓,然后从虹膜选择的中间减去瞳孔的形状(按住 CTRL 键后点击并拖动)。这次,我创建了一个椭圆形状,使眼睛看起来更具邪恶感。

  4. 使用羽化选择羽化,20 像素)选区,使虹膜与眼睛其他部分之间有更渐变的过渡。然后,通过右键点击图层面板中的图层,选择添加图层蒙版,并在初始化图层为中选择选区,将选区转换为图层蒙版。这会创建一个带有选区的图层蒙版,让你可以直接在图层上绘画(首先在图层面板中选择它),而不丢失虹膜的形状(请参见图 11-21)。

  5. 使用填充工具将虹膜填充为黑色,然后使用画笔工具和一个大而柔软的画笔添加颜色。我从亮橙色开始,然后加入了红色、绿色和紫色的元素,以叠加不同的颜色(如果你使用的是平板,使用低压力,或者将画笔的不透明度设置为低)。我把虹膜的边缘保持为黑色。

  6. 现在,在虹膜下方的图层上添加眼睛外部(巩膜)的颜色。我在这里涂上了较浅的黄色,并将其与较深的红棕色混合。我还在这个图层上将瞳孔填充为黑色。我的眼睛纹理现在看起来像图 11-21。我将此纹理保存为.tga文件。

注意

因为我决定在纹理中稍微改变瞳孔的形状,所以我也通过选择瞳孔的顶点并在 Z 轴上放大它们,调整了模型中瞳孔的形状。我也稍微调整了 UV 映射(请参见图 11-22)。

使用椭圆选择工具(左)和眼睛纹理(右)创建的虹膜遮罩图 11-21。使用椭圆选择工具(左)和眼睛纹理(右)创建的虹膜遮罩!调整瞳孔以适应纹理。左:调整后的 UV 坐标。右:应用纹理后的编辑模式下的眼睛。图 11-22。调整瞳孔以适应纹理。左:调整后的 UV 坐标。右:应用纹理后的编辑模式下的眼睛。

丛林神庙的纹理制作

丛林神庙场景的纹理需要一种不同的方法。这个项目有许多需要相似纹理的物体,因此单独为每个物体制作纹理既耗时又不必要。相反,我选择使用可平铺的无缝纹理来覆盖场景的大部分区域,并在关键位置增加一些细节。可平铺纹理允许同一纹理跨多个模型使用。

硬度与粗糙度

对于蝙蝠生物,我创建的纹理类型之一是硬度纹理,它将用于定义我的材质在哪些区域具有锐利、小的镜面反射,哪些区域则有模糊、更加扩散的镜面反射。为了定义这些区域,纹理被映射到材质镜面着色器的硬度值上。纹理的暗色区域产生柔和、模糊的镜面反射,亮色区域则产生锐利、硬的镜面反射。

然而,这仅在 Blender Internal 渲染时适用。在使用 Cycles 渲染时,材质的创建方式不同(正如我们在第十二章中将看到的)。而且,镜面着色器现在不再使用硬度值,而是使用所谓的粗糙度值。这与硬度值的作用相反,但大致定义的是相同的东西。对于粗糙度纹理,亮色区域表示柔和、模糊的反射,暗色区域则表示锐利的反射。创建纹理时,请记住这一点。

使用 GIMP 创建无缝纹理

为了创建一个无缝的纹理,图像的边缘必须对齐,并且图像的特征必须在边界处平滑地延续下去。确保纹理没有在拼接时重复得过于明显是很重要的(大的、独特的特征在频繁重复时容易被注意到)。我们还希望将图像做成正方形,这样在应用无缝纹理时就不需要缩放物体的 UV 坐标。

为了为墙壁和地板的石块创建一个无缝的岩石纹理,我从 CGTextures 开始使用了一张岩石纹理。首先,我使用“图像▸画布大小”将图像的大小增大,使其变成正方形。接着,我使用“图层▸添加 Alpha 通道”给图层添加透明背景,稍后我们会填充它,并使用“图层▸图层大小与图像大小匹配”将图层的大小调整为与图像一致。

现在我们需要填充图像的其余部分,并使其边缘相互对齐。为此,我使用了“偏移”工具和“重合成”滤镜。首先,我在* x 轴和 y 轴上将图像偏移了 50%(图层▸变换▸偏移),选择了 x/2 y/2 选项并点击了“偏移”。这将图像移动并重复,使得边缘对齐,如图 11-23 中所示。在偏移之前,图像的边缘就已经处于图像的中间*位置,所以新的边缘已经对齐。

为了修复边缘交汇处的区域,我使用了 GIMP 的 Resynthesize 功能来无缝填充选定区域。为了创建选区,我使用了 GIMP 的快速遮罩功能(CTRL-Q)直接用 GIMP 的画笔工具绘制选区。涂成白色的区域是选中的,而涂成黑色的区域是未选中的。在快速遮罩模式下,图像会以红色突出显示,但选中的区域将保持正常显示。我按下 CTRL-Q 启用快速遮罩,然后粗略地在图像边缘交汇的缝隙处涂上一条白色的条纹,并填补中间留下的空隙。接着,我再次按下 CTRL-Q 将我的快速遮罩转换为选区。

接下来,我使用了“滤镜”▸“映射”▸“Resynthesize”来填充选定区域。我打开了“使水平可平铺”和“使垂直可平铺”选项,并将纹理源设置为当前层。运行滤镜后,我再次以不同的偏移量(每个方向三分之一)偏移图像,并重新合成任何剩余的问题区域。最终结果是右侧显示的纹理,如图 11-23 所示。这个纹理现在可以无缝平铺了。

测试纹理

测试纹理时,在 GIMP 中创建图像的副本(CTRL-D),并将其缩小(例如,缩小到 512×512)。然后,使用 滤镜映射平铺 来创建纹理的平铺版本。如果有任何区域显示出明显的重复,返回到原始纹理并选择并重新合成任何问题区域。直到你对纹理的平铺效果满意为止,保存为 .tga 文件。

在 Blender 中测试你的纹理,选择一个物体,然后在 UV 纹理编辑器中将图像分配给它。切换到 纹理视口 着色模式,并在属性区域的显示面板中将着色类型设置为 多纹理,这样你就可以看到分配给物体的图像了。你可能需要调整 UV 坐标的比例,或者稍微调整纹理,以获得最佳效果。

创建额外的纹理

我重复了制作无缝纹理的过程,创建了第二种岩石纹理、树木的树皮纹理和地面的泥土纹理,如你在图 11-24 中看到的那样。我还使用相同的技术制作了高光贴图,以修改和补充我为蝙蝠生物使用的漫反射贴图。对于树皮纹理,我没有制作正方形纹理,因为我需要将其包裹在树干上。相反,我选择了一个窄而高的纹理。这使得纹理空间的使用更加高效,因为该纹理将在树干的长度上重复多次,而在树干的周长上仅重复一次。

为了使不同的纹理——比如两种岩石纹理——更好地融合在一起,你可以使用 GIMP 的色相-饱和度和曲线工具。通过调整图像的色相和饱和度,你可以使其中一种纹理的整体颜色更接近另一种纹理,而通过使用曲线工具,你可以调亮或调暗图像,使两种纹理的值范围更为相似。例如,图 11-24 中的两种岩石纹理最初有很大的颜色和亮度差异,但我进行了调整,使它们看起来更相似。这样,在创建更多纹理和材料时,后续融合这两种纹理会变得更加容易。

地面和树木的纹理

为了为我的场景中的地面和树木创建纹理,我大量使用了 Blender 的投影绘制工具,将我在 GIMP 中创建的无缝纹理混合在一起。这种方法使我能够通过使用已经创建的通用平铺纹理作为起点,快速构建出更独特的纹理。

制作无缝图像:增加画布大小使其变为正方形 1;偏移图像 2;使用重新合成滤镜填补空白并修复接缝 3;重新偏移检查纹理并重新合成任何问题区域 4。 图 11-23. 制作无缝图像:增加画布大小使其变为正方形 1;偏移图像 2;使用重新合成滤镜填补空白并修复接缝 3;重新偏移检查纹理并重新合成任何问题区域 4。

地面纹理

尽管我现在已经有了一个无缝的地面纹理,但它并不是特别独特或针对场景量身定制的。为了创造一个更有趣的地面纹理,我决定将现有的无缝纹理投射到一个独特的展开纹理上,并为其添加一些额外的细节。为了完成这一点,可以按以下步骤操作:

丛林神庙场景的无缝纹理,从左到右:土壤、两种岩石纹理和一款树皮纹理。顶部纹理是漫反射图,底部纹理是高光图。图 11-24。丛林神庙场景的无缝纹理,从左到右:土壤、两种岩石纹理和一款树皮纹理。顶部纹理是漫反射图,底部纹理是高光图。

  1. 创建第二组 UV 坐标,展开地面网格以尽可能填满新的 UV 空间。然后,向新 UV 集添加一个新的空白图像。

  2. 使用克隆工具克隆无缝纹理。我将无缝土壤纹理设置为旧 UV 坐标的图像,然后选择了我的新 UV 集。

  3. 在纹理绘制模式下,使用克隆刷将无缝纹理克隆到新的展开图上。(确保在项目绘制选项中也开启了克隆,并且将旧的 UV 贴图设置为克隆的来源。)

  4. 要混合第二个纹理,将旧的 UV 坐标集图像替换为不同的土壤纹理,然后重复克隆过程,这次只添加一些小的斑块。

  5. 最后,重复这个过程,使用苔藓岩石纹理为地面添加一些石块斑块。最终的纹理更加独特和多样,如图 11-25 所示。

树木纹理

要修改树木的纹理,我从无缝的树皮纹理开始,然后加入了苔藓和泥土元素,使纹理更有趣(见图 11-26)。不过这一次,我在 Blender 中投射了第一个无缝纹理,然后保存图像,切换到 GIMP,添加了其他照片中的元素。这让我能够使用不同的画笔,将不同图像的部分拼接在一起,并在工作时将纹理分层。然后,我从漫反射图中创建了树木的高光和粗糙度贴图。

塑像纹理

对于丛林神庙场景中的雕像,我希望那些比较隐蔽的部分看起来像被苔藓覆盖并生长繁茂,而暴露的部分则是裸露的岩石。为了实现这一点,我本可以手动克隆苔藓区域,但我选择了使用我之前烘焙的环境光遮蔽图,它在缝隙处本来就更暗,作为遮罩。

在 Blender 中实现这个效果,我复制了雕像的 UV 坐标集,并将环境光遮蔽纹理分配给它。然后,我使用这个 UV 集作为遮罩层,克隆苔藓纹理到岩石纹理上,具体步骤如下:

将无缝纹理投影到独特的纹理图上,以便将它们结合并创造出独特的效果。这里,我正在使用克隆刷从无缝纹理克隆到我的独特 UV 图上。 图 11-25. 将无缝纹理投影到独特的纹理图上,以便将它们结合并创造出独特的效果。这里,我正在使用克隆刷从无缝纹理克隆到我的独特 UV 图上。给树木上纹理。我从一个无缝的树皮纹理开始,然后在 GIMP 中将其他纹理融合进来。 图 11-26. 给树木上纹理。我从一个无缝的树皮纹理开始,然后在 GIMP 中将其他纹理融合进来。

  1. 在属性编辑器的 Object Data 选项卡中的 UV 坐标面板中,通过点击+图标将原始 UV 图重复两次。重命名每个集,以便你知道哪个是哪个。对于我的集,我选择了Paint作为最终的涂绘纹理,Mask作为我的遮罩图像,和Cube。我会使用 Cube UV 集来投影我的无缝纹理,所以我在编辑模式下使用Cube Project选项重新展开了雕像,以便为模型的各个部分提供一致的展开效果。

  2. 将你的无缝岩石纹理分配到 Cube UV 集上,并调整比例以适应岩石的细节。然后,切换到你的 Paint UV 集,并使用克隆工具(确保在 Project Paint 面板中启用了克隆功能)将岩石纹理从 Cube 项目 UV 集克隆到涂绘纹理上。

  3. 要混合第二个纹理,使用 Project Paint 的模板选项。切换到编辑模式并将环境光遮蔽图分配到 Mask UV 集,通过在属性编辑器的 Object Data 选项卡中选择Mask UV集。然后,将不同的岩石纹理分配到 Cube UV 集,但这次使用的是覆盖苔藓的岩石纹理。

  4. 现在返回到在 Paint 图层上的纹理绘制(再次在属性编辑器中选择它作为活动的 UV 集)。在项目绘画面板中打开模板,从旁边的下拉菜单中选择你的遮罩 UV 集。然后,使用克隆刷,在原始纹理上绘制第二个岩石纹理。刷子的效果会根据环境光遮蔽图自动进行遮罩,允许你仅在暴露区域上轻松绘画,如图 11-27 所示。

在将结果图像保存为.tga文件后,我在 GIMP 中使用环境光遮蔽图,通过打开涂绘的纹理并将环境光遮蔽图覆盖在其上(使用“作为图层打开”)。将环境光遮蔽图的混合模式设置为“叠加”并减少其不透明度,微妙地提亮了雕像的暴露区域并加深了裂缝,如图 11-28 所示。

使用项目绘画遮罩设置来遮罩克隆刷的效果,使我能够根据环境光遮蔽图混合纹理。图 11-27. 使用项目绘画遮罩设置来遮罩克隆刷的效果,使我能够根据环境光遮蔽图混合纹理。雕像纹理在 GIMP 中打开,环境光遮蔽图覆盖在上面图 11-28. 雕像纹理在 GIMP 中打开,环境光遮蔽图覆盖在上面

纹理映射到相机

当涉及到丛林神庙场景中前景的岩石和土壤时,可平铺的纹理并不能提供我所需的控制级别。对于场景的这一部分,我选择了按照相机视角绘制地面和岩石的纹理。为此,请按照以下步骤操作:

  1. 将前景的岩石和土壤放置在同一图层上(使用M将物体移动到不同图层,并在编辑模式下使用P将选区从当前物体中分离出来,如果需要的话)。

  2. 切换到纹理化视图(在属性区域将着色设置为单一纹理),并将你的无缝纹理分配给物体的 UV。

  3. 使用渲染活动视口按钮(相机图标)在 3D 视口头部渲染当前视图为图像(参见图 11-29)。然后,将其保存为.tga图像。(为了能够将我的岩石纹理混合在一起,我将第二个岩石纹理分配给石头,并保存了第二次视口渲染。)

  4. 在 GIMP 中将这些图像打开在同一文档中(先正常打开第一个,然后使用作为图层打开第二个)。接下来,通过在顶部图层上添加新的图层蒙版并用黑色绘制区域使下方图层显现出来,开始混合这两张图像。

  5. 然后,为了柔化泥土和岩石之间的边界,创建一个新图层,并使用克隆工具和磨损画笔稍微将它们混合在一起(见图 11-30),将图像保存为.tga文件。

后续,这种材质将通过相机投影,并作为前景物体材质的一部分使用。

将视图渲染为图像 图 11-29。 将视图渲染为图像

给叶子贴图

对于丛林神庙场景中的叶子,我想创建三种纹理:一种用于叶子的颜色,一种用于高光贴图,另一种用于它们的透明度。我将使用透明度(alpha)贴图使网格中不是叶子部分的地方变为透明,从而为叶子提供细致的轮廓,而无需使用几何体。这对于我使用 IvyGen 生成的叶子尤为重要,因为这些叶子只是平面。

收集叶子图像

我首先收集了形状大致符合我想要的叶子图像。然后,我将它们在 GIMP 中打开,并使用剪刀工具选择叶子的粗略轮廓,围绕叶子的边缘放置点以自动描绘其轮廓。接着,我可以使用快速遮罩和画笔工具(硬边刷)对其进行精细调整,使用黑色或白色绘制,去除或添加叶子选择的部分。我将叶子选择作为图层蒙版(图层▸蒙版▸添加图层蒙版并选择选择)来遮挡叶子图像的背景。

从相机视图投影的纹理编辑。我填充了背景,以防止它在图像边界附近产生伪影,特别是在底部纹理环绕的地方。然后,我将前景物体上的纹理进行混合。 图 11-30。 从相机视图投影的纹理编辑。我填充了背景,以防止它在图像边界附近产生伪影,特别是在底部纹理环绕的地方。然后,我将前景物体上的纹理进行混合。

透明度贴图

下一步是创建阿尔法、颜色和镜面反射图像。为了创建阿尔法纹理,我点击了图层蒙版,按 CTRL-A 全选,再按 CTRL-C 将蒙版复制到剪贴板。然后,我点击了新图层,并粘贴了蒙版,现在它作为普通图层可见。图 11-31 显示了完成的阿尔法图。

漫反射图

对于漫反射图,我添加了一个均匀的颜色背景,并去除了照片中的镜面反射高光,使其更适合用作纹理。对于背景,我创建了一个新图层,并用绿色填充,颜色与叶片的颜色匹配,这样当材质过渡到透明时,边缘不会出现颜色变化。我复制了叶片图像图层,并将其放置在这个背景之上。

单片叶子的纹理,左到右分别是:漫反射、镜面反射和阿尔法。这些纹理被用于我的 IvyGen 网格。图 11-31. 单片叶子的纹理,左到右分别是:漫反射、镜面反射和阿尔法。这些纹理被用于我的 IvyGen 网格。

为了去除高光,我使用了“加深/减淡”工具(SHIFT-D),设置为加深(按住 CTRL 或在画笔工具调色板中更改设置),并使用大号、柔软的画笔。我轻轻地在高光部分涂抹,来将其变暗(如果你使用压力感应平板,请使用轻柔的压力,或者如果使用鼠标,简单地将“加深/减淡”工具的曝光设置调低)。为了修复任何过度饱和的区域,我使用了画笔工具,选择了纹理中合适的颜色进行修补。然后,我将画笔的混合模式设置为“饱和度”,并涂抹过度饱和的区域,使它们与其他部分的纹理一致。图 11-31(左)显示了漫反射纹理。

镜面反射图

对于镜面反射颜色,我复制了我的蒙版叶片图像,并使用色相/饱和度工具将其稍微去饱和。然后,我稍微将镜面反射颜色偏向黄色。我还在叶片的光滑区域上画了一些高光,并略微模糊了纹理。你可以在图 11-31(中间)中看到镜面反射纹理。

这完成了单个叶子所需的纹理,因此我将每个纹理保存为.tga格式的图片,然后保存包含我的图层的.xcf文件。我将这片单独的叶子作为 IvyGen 生成的叶子纹理。对于场景中的其余叶子,我希望将尽可能多的叶子合并成一张图片,这样我就不必管理太多的纹理。因此,我为需要的每一张叶子图像重复了剪裁过程,暂时跳过了镜面反射纹理。后来,我将所有这些叶子合并到一张地图上,以便之后更容易制作镜面反射贴图。

将叶子合并到单一纹理上

对于我场景中的大部分植物,我将所有叶子打包到同一个 UV 贴图上。(在第十章中,我从叶子的材质颜色中烘焙了一张颜色贴图,用作指南。)为了更方便地将所有叶子合成一张纹理,我将之前创建的图层蒙版应用到每片叶子纹理的漫反射图层上。然后,我将每片叶子保存为图片,并将它们作为图层打开,叠加到我在第十章中烘焙的指南图像上。

接下来,我开始安排叶子以适应地图,使用了移动、缩放和旋转工具。在将叶子大致放置好后,我使用了 IWarp 工具(滤镜▸扭曲▸IWarp)来扭曲叶子,以便更准确地匹配我需要的形状(见图 11-32)。IWarp 允许你在选区内流畅地移动像素,以便重新塑形图像的区域。对于这些叶子,我使用了 IWarp 中的移动变形模式,使叶子的轮廓与我所需的形状相匹配。我重复了这一过程,复制了一些叶子来填补每个需要叶子纹理的区域。对于展开的茎,我从较大的叶子上克隆,填充整个区域,形成粗略的绿色纹理。所有叶子合并成单一纹理的漫反射纹理如图 11-33 所示。然后,我以与单个叶子相同的方式为我的组合叶子创建了镜面反射贴图。

使用 IWarp 滤镜扭曲叶子形状图 11-32. 使用 IWarp 滤镜扭曲叶子形状我将多个叶子的纹理合并到一张图片上,以减少场景中的纹理数量。图 11-33. 我将多个叶子的纹理合并到一张图片上,以减少场景中的纹理数量。

为了再次获得 Alpha 贴图,我简单地将叶子贴图合并为一个图层,然后在图层编辑器中右键点击该图层,选择“Alpha 到选区”。接着,我创建了一个新的黑色图层,并将选区填充为白色,以获得我的 Alpha 图像。最后,我将我的每个漫反射、镜面反射和 Alpha 通道导出为.tga图像,并保存了 GIMP 的.xcf文件。这些合并后的叶子贴图可以在图 11-31 中看到。这几乎完成了丛林神庙的所有贴图。我创建的其他贴图与上述的制作方式相似。

蜘蛛机器人的贴图

蜘蛛机器人的贴图制作比为其他两张图像做的贴图简单一些,因为这个项目主要依赖于程序化材料。我制作了一个覆盖整个身体的 UV 贴图,以便减少日后创建不同材料时的麻烦,并允许我为模型添加一些细节。

创建三种贴图

我从 GIMP 中烘焙的颜色贴图开始,并将其缩放至 4096×4096 像素。然后,我将烘焙的环境遮挡贴图作为一个图层打开,调整其大小以适应,并将其混合模式设置为“乘法”模式,透明度为 40%,以便为贴图添加一些微妙的阴影。

我需要制作三种贴图:漫反射、粗糙度和镜面反射。因为我希望身体的绿色区域有光泽,所以我将绿色区域在漫反射贴图中弄得更暗,在镜面反射贴图中弄得亮绿色。对于身体的白色区域,我则做了相反的处理:在镜面反射贴图中使用深灰色以减少光泽感,在漫反射贴图中则使用浅色。

对于粗糙度贴图,我将漫反射贴图中的绿色区域弄暗,以便呈现出锐利的光泽反射,而将白色区域弄亮,以呈现更柔和的高光效果。你可以在图 11-34 中看到这三种贴图。为了保持贴图的有序性,我为每个漫反射、镜面反射和粗糙度贴图创建了独立的图层组,就像我为蝙蝠生物做的那样。

添加 Decals

为了让事情变得更加有趣,我决定为蜘蛛机器人添加一些 Decals。为了制作 Decals,我在 Blender 中使用 2D 曲线绘制了一些简单的设计,并将它们以黑白形式渲染出来。然后,我将这些设计作为图层打开,叠加到我现有的贴图文件中,在 GIMP 中进行编辑。

蜘蛛机器人纹理,从左到右:漫反射、镜面反射和粗糙度。我将一些 decal 融入纹理中,使它们更加有趣,并确保将它们添加到粗糙度和镜面反射贴图中。图 11-34. 蜘蛛机器人纹理,从左到右:漫反射、镜面反射和粗糙度。我将一些 decal 融入纹理中,使它们更加有趣,并确保将它们添加到粗糙度和镜面反射贴图中。

为了使 decal 的背景变得透明,我使用了颜色▸颜色到 Alpha,并选择了背景颜色作为要移除的颜色。我选择了单独的 decal,并通过选择它们,然后缩放、移动和旋转它们来将其分布到模型上。(如果你将每个 decal 拆分到自己的图层中会更容易,方法是选择它并按 CTRL-SHIFT-L 将选择浮动,然后按 CTRL-SHIFT-N 将其转换为图层。然后,你可以独立缩放和旋转它,而不影响其他的 decals。将它们放置好后,你可以将细节合并回同一图层。)

为了更好地理解 decals 的摆放位置,你可以在 Blender 的纹理绘制模式中大致标出你想要的位置。然后,将图像保存为指南,用于 GIMP。一旦我把 decals 布置好,我将其在漫反射贴图中的透明度设置为 60%。

为了让 decals 更加突出,我也将它们加入了镜面反射和粗糙度贴图中。我复制了漫反射贴图中的 decal 图层,并将副本放入镜面反射和粗糙度贴图的图层组中。对于镜面反射贴图,我使用了颜色▸反转,将 decals 变为白色,这样它们在最终材质上会更光亮。对于粗糙度贴图,我再次将 decals 变为黑色,以便给它们带来清晰的反射(参见图 11-34)。

完成纹理后,我保存了一个包含所有图层组的 GIMP .xcf 文件,并导出了 .tga 格式的漫反射、镜面反射和粗糙度贴图。

审查

在本章中,我讲解了如何使用 Blender 和 GIMP 创建纹理,从我们的烘焙纹理作为基础开始,逐步增加细节和不同的图像。我们使用了 Blender 的纹理绘制模式,在 Blender 和 GIMP 中克隆纹理,并且使用了无缝纹理,无论是单独使用,还是作为创建更具特色纹理的基础。

对于蝙蝠生物,我主要通过手工构建纹理,在 Blender 中阻塞简单的颜色,然后在 GIMP 中细化这些颜色,绘制额外的细节,并用来自摄影纹理的元素进行补充,之后再回到 Blender 清理接缝。

对于丛林神庙,我创建了多种无缝纹理,这为创建独特物体的进一步纹理打下了基础。通过首先创建一系列可拼接、可重复使用的纹理,我实现了场景中多个元素之间的一致纹理,并加快了纹理制作过程。

对于蜘蛛机器人,我专注于创建相对简单的漫反射、镜面反射和粗糙度纹理,稍后将用这些纹理来制作一些相当复杂的材质。我使用了我在第十章生成的环境光遮蔽图和纯色图作为起点,然后创建并添加了贴花,以装饰蜘蛛机器人的设计,同时避免过多细节拥挤。

在第十二章中,我们将创建适用于 Blender 的内部渲染器和新的 Cycles 渲染器的材质,使用本章创建的纹理作为输入。我们将探讨在使用这两种渲染器时应用纹理的不同方式,以及考虑到这两种渲染引擎时创建材质的相似性与差异性。


^([1]) 你可以在 GIMP 的首选项中找到这个位置或添加新的画笔位置(文件▸首选项)在文件夹▸画笔下。

第十二章 材质

在第十章和第十一章中,我创建了指定模型漫反射颜色的纹理,以及其他参数,如反射性、平滑度和高光颜色。现在我们将看如何将这些图像纹理与程序纹理和着色器结合,创建既有趣又令人信服的场景材质。

本章将讲解 Blender 的材质如何工作,以及如何将纹理融入这些材质中。不过,让我们首先了解 Blender 的两个默认渲染引擎——Cycles 和 Blender 内部渲染器——因为它们将显著影响我们如何设置材质。

渲染引擎:Blender 内部渲染引擎和 Cycles

渲染引擎是 Blender 如何利用场景中的所有信息——物体、材质、光源和设置——来创建最终图像的方式。Blender 有两个渲染引擎。较旧的一个是 Blender 内部渲染引擎,它是一个非常强大的(尽管稍显过时)渲染器,使用各种技巧和方法来生成最终渲染,放弃了绝对的物理精确性,追求速度和灵活性。然而,这种物理精确性的缺失并不意味着 Blender 内部引擎不能渲染出逼真的外观图像。它可以快速渲染包含多种复杂材质的场景,从高度真实的美学效果到非常非写实和风格化的效果,都能轻松实现。这使得 Blender 内部引擎成为一个高度灵活的渲染器,非常适合动画制作。

Cycles 是 Blender 的新渲染引擎,仍在积极开发中。与内部引擎不同,它专注于创建更逼真的光线模拟,并使用更符合物理的材质和光源模型。因此,它能够生成非常真实的图像,包括在 Blender 内部引擎中难以实现的效果,比如玻璃和其他透明物体的复杂折射、多次反射的光线在场景中传播,以及物体发出的物理正确的光线发射。其权衡之处在于(至少截至目前)Cycles 渲染场景的速度——即使是简单光照的场景——也比 Blender 内部引擎要慢。而且由于 Cycles 还在积极开发中,它缺少某些重要特性,如子表面散射(有关更多信息,请参见子表面散射)以及渲染头发和毛发的能力。

本书中我将使用两种渲染器。我为每个项目选择的渲染器对我定义材质的方式有很大影响,因为这两种渲染引擎的工作方式不同,需要以不同的方式设置材质。对于蝙蝠生物,我将使用 Blender Internal 渲染引擎渲染具有次表面散射效果的真实皮肤,以及毛发。对于蜘蛛机器人,虽然任意渲染器都可以使用,但我会选择 Cycles 渲染器来创建一些漂亮的光泽反射材质。对于丛林神庙项目,我将使用 Cycles 渲染器,它可以让我通过 Cycles 的交互式渲染预览(详见 Cycles 渲染预览)来实验照明并获得即时反馈。

在研究两种不同渲染引擎的材质创建差异之前,让我们简要回顾一些在讨论材质时会涉及的通用原则。这些原则主要集中在表面如何通过反射、折射或吸收光线与光线相互作用的各种方式。

反射

我们之所以能够看到物体,是因为我们的眼睛检测到从物体表面反射回来的光线。因此,表面的外观由它与光线相互作用的精确方式决定,而这种相互作用又由材质的结构和成分所决定。

在现实世界中,像岩石和橡胶这样的哑光表面在微观尺度上具有粗糙的结构。光线从这些表面反射时,会向各个方向散射,因此你从哪个方向看表面,反射出来的光线几乎是一样的。这就是所谓的漫反射

相比之下,抛光表面即使在微观尺度上也相对光滑。这意味着,当你看着表面时,会看到一个完美的反射,而且随着视角的变化,反射的内容也会发生变化。这就是所谓的镜面反射,或镜面反射。漫反射和镜面反射的差异如图 12-1 所示。

然而,在 CG 的世界里,我们经常采取捷径来实现真实材质的效果。例如,考虑镜面反射:虽然可以渲染镜面反射,但渲染镜面反射的速度比渲染漫反射慢,因为有一些简单的算法可以近似漫反射的效果。所以,渲染漫反射非常快,但渲染镜面反射则需要高强度的光线追踪处理。为了绕过这个问题,我们有时只考虑表面能够反射的最明显的物体,例如明亮的光源。例如,如果你注视一个在强光下的金属表面,可能会忽略周围环境的镜面反射,因为光源本身的反射非常明亮。镜面反射在 Blender 的内部渲染器中是这样工作的:渲染器只生成来自光源的高光,而不是让表面反射周围的其他物体(见图 12-2)。这种捷径通常能够完成任务,当需要更准确的反射时,也可以打开它们(通过启用光线追踪的镜面反射),但会牺牲额外的渲染时间。

漫反射(左)与镜面反射(右)(Cycles 渲染器)图 12-1. 漫反射(左)与镜面反射(右)(Cycles 渲染器)Blender 内部渲染器的近似镜面反射(Blender Internal 渲染器)。这些通常被称为镜面反射,而更真实的(镜面)镜面反射被称为光泽反射。左:只有镜面反射且硬度为 15 的材质。右:硬度为 100。图 12-2. Blender 内部渲染器的近似镜面反射(Blender Internal 渲染器)。这些通常被称为镜面反射,而更真实的(镜面)镜面反射被称为光泽反射。左:只有镜面反射且硬度为 15 的材质。右:硬度为 100。

透射与折射

除了反射光线,像水或玻璃这样的表面还会透过光线(允许光线穿透它们)。在现实世界中,部分入射光(照射到表面的光)通常会被反射,而其余的光线则会透过并稍微弯曲(折射)。光线弯曲是因为它进入了不同的介质,导致其速度发生变化。这种光的弯曲会导致当你透过透明物质观看时,看到一个失真的图像。失真的程度取决于物体的折射率(IOR),它决定了光线在物体边界处的传播方向改变的程度(见图 12-8),以及物体的形状和厚度。对于某些物体,这种效应非常显著——例如,当你透过镜头或一杯水看时,你会注意到相当大的失真。其他时候,效应则较小——例如,当你透过窗户的薄玻璃看时,失真几乎没有。

Z 透明度

我们可以使用 Blender 通过光线追踪透明度来模拟光的透过和折射。但我们也可以通过忽略折射并简单地渲染物体后面的内容来作弊。这叫做Z 透明度。这种技术在像窗户这样的物体上效果很好,因为折射非常小。图 12-3 比较了光线追踪和 Z 透明度。

Z 透明度也适用于渲染具有孔洞或复杂轮廓的薄表面,在这种情况下,网格可以保持简单,并且可以使用纹理来定义表面透明的区域——或者在此情况下,定义不存在的区域。这些区域随后可以完全渲染为透明(不可见),这将使表面看起来比单纯的几何形状更加复杂(见图 12-4)。

光线追踪与 Z 透明度(使用 Blender 内部渲染器)。左:使用 0.25 alpha 和镜面高光的 Z 透明度。镜面反射和轻微的漫反射可使该材质可见。右:具有 1.5 的 IOR 的光线追踪透明度。该图像更为真实,但渲染时间更长。图 12-3. 光线追踪与 Z 透明度(使用 Blender 内部渲染器)。左:使用 0.25 alpha 和镜面高光的 Z 透明度。镜面反射和轻微的漫反射可使该材质可见。右:具有 1.5 的 IOR 的光线追踪透明度。该图像更为真实,但渲染时间更长。使用 Z 透明度为这段铁丝网材质赋予更复杂的外观,而无需额外的几何体(使用 Blender 内部渲染器)。该材质已应用于单一平面。(已为地面材质启用透明阴影选项,以创建准确的阴影。)图 12-4. 使用 Z 透明度为这段铁丝网材质赋予更复杂的外观,而无需额外的几何体(使用 Blender 内部渲染器)。该材质已应用于单一平面。(已为地面材质启用透明阴影选项,以创建准确的阴影。)

光线可以以更加复杂的方式与表面相互作用,例如在表面下散射、表现出半透明性或各向异性反射,这就是刷过金属表面产生的反射类型。在本章接下来的部分,我们将研究这些不同类型的相互作用。

Blender 内部材质

Blender 内部是 Blender 的默认渲染引擎,您可以通过属性编辑器的材料和纹理标签为 Blender 内部创建材质。您可以在材质标签中找到材质的属性(以及它们可以影响的纹理和材质的各个方面),在纹理标签中也可以找到相应的内容。

Blender 内部的材质非常模块化,允许您通过从材质标签中的不同面板中启用相关选项,简单地添加和组合不同的材质属性——例如镜面反射、镜面反射率、透明度和次表面散射——而无需从头开始创建材质(见图 12-5)。注意图中,所有分配给活动对象的材质都位于标签顶部的面板中。下方是预览面板,显示活动材质的预览,接着是其他包含材质设置的面板。我将在这里讨论 Blender 内部材质标签中的相关面板。

使用 Blender Internal 渲染器时的材质标签图 12-5. 使用 Blender Internal 渲染器时的材质标签

漫反射。此面板包含材质的漫反射颜色和阴影设置。颜色选择器(见图 12-5)允许你设置材质的漫反射颜色,然后该颜色会乘以强度值。右侧的下拉菜单让你设置漫反射着色器模型,这会影响材质从光亮到暗的漫反射颜色的衰减,且在不同角度下有所不同。默认的 Lambert 着色器模型通常已足够,尽管 Oren Nayar 着色器模型可以用于模拟表面具有更粗糙的微观结构,如粘土或石材。这里的其他着色器模型较为特殊,使用的情况较少。

高光。高光面板中的设置类似于漫反射面板,只不过它们控制的是物体的高光着色(这是对高光反射的粗略近似,之前在反射一节中已讨论过)。硬度项决定了这些反射的广泛程度或紧密程度(见图 12-6)。硬度值高的材质具有尖锐、明亮的高光,而硬度值低的材质则具有更柔和、扩散的高光。

着色。以下选项影响材质的整体着色效果:

  • 发光。这会使物体即使在没有光照的情况下也显得明亮,甚至可以在与某些世界设置一起使用时,使物体能够照亮其他物体。

  • 环境光。这决定物体是否接收环境光照(使用世界设置标签中的环境颜色设置)。

  • 半透明。这会使物体的正面和背面都看起来被照亮,使其呈现出半透明的效果,就像薄纸或树叶一样。

  • 无阴影。这完全消除光照对物体的影响;物体的颜色和亮度完全来自其漫反射颜色和纹理。

  • 切线着色。这会改变表面的着色,使其更像抛光金属或其他具有“纹理”或微观结构方向性的材料。纹理的方向取自物体的 UV 坐标,因此纹理将与 UV 空间中的v轴对齐。换句话说,它将在 UV 图像编辑器中垂直对齐,因此在启用此选项时,请确保已正确展开物体。

  • 立方插值。这会改变表面在光与影之间的过渡方式,通常效果更为平滑,尽管结果往往稍微更暗一些。

透明度。启用透明度复选框以渲染带有透明效果的材质。该面板提供了三种方法来渲染透明物体,使用表面的 alpha 值。最简单的,遮罩,只会在颜色透明的地方将材质与背景混合。Z 透明度稍微复杂一些,它会渲染透明物体后面的内容。光线追踪透明度会计算正确的折射。选择光线追踪透明度后,会弹出一系列选项,允许你设置材质的折射率、光泽度和材质所进行的过滤量。

镜面反射。启用镜面反射以开启光线追踪反射。此面板中的设置允许你定义光线追踪反射的数量(反射率)和清晰度(光泽度)。

次表面散射 (SSS)。这个选项控制光在材料表面下散射的效果,通常应用于皮肤或蜡等材料。我将在次表面散射中详细讨论这个问题。

选项。此面板包含一些杂项选项。例如,可追踪设置控制在渲染光线追踪阴影和反射时是否考虑一个物体。我将在相关部分讨论这些内容,任何我未提及的,你可以在 Blender 的 Wiki 上查找(网址为 wiki.blender.org/)。

阴影。此面板控制物体如何接收和投射阴影。例如,仅投射选项使物体仅显示它投射的阴影,其他部分不可见。仅阴影将材质的阴影渲染为唯一的不透明部分。(这对于创建可以合成到其他图像中的阴影特别有用。)

不同硬度等级会影响镜面反射的效果。这个棋盘格纹理用于控制硬度。(你也可以使用纹理贴图来变化硬度。)图 12-6。不同硬度等级会影响镜面反射的效果。这个棋盘格纹理用于控制硬度。(你也可以使用纹理贴图来变化硬度。)

Cycles 材质

与 Blender 内部渲染器不同,后者通过使用许多巧妙的技巧和近似方法来加快渲染速度,Cycles 渲染器使用更为物理真实的材质模型。它将现实主义与基于节点的方法结合起来,专注于通过简单的组件构建复杂的材质。你仍然可以使用属性编辑器中的材质选项卡来编辑 Cycles 材质,它提供了当前材质的概览,但使用 Blender 的节点编辑器更简单清晰,如图 12-7 所示。

要创建一个 Cycles 材质,你只需要一个着色器节点和材质输出节点。从那里开始,你可以组合其他着色器、输入和纹理,创建各种各样的材质。要添加节点,使用 SHIFT-A 并从出现的菜单中选择你想要的节点,就像在 3D 视口中添加对象一样。

BSDF(双向散射分布函数)着色器节点控制材质的工作方式。这些函数定义了光与表面的相互作用方式——例如,材质是以漫反射的方式反射光,像镜子一样反射,还是像玻璃一样透光。你可以在头部的“添加”菜单下找到 BSDF 着色器,还有其他一些选项。

在 Blender 的节点编辑器中编辑一个 Cycles 材质。右侧是材质输出节点;它的表面节点连接到漫反射着色器节点的 BSDF 输出插座。结果是如图所示的漫反射材质。图 12-7。在 Blender 的节点编辑器中编辑一个 Cycles 材质。右侧是材质输出节点;它的表面节点连接到漫反射着色器节点的 BSDF 输出插座。结果是如图 12-1 所示的漫反射材质。

Cycles 当前支持以下着色器:

背景。这影响的是世界背景,而不是材质。(有关世界光照设置的更多信息,请参见第十三章)。

漫反射 BSDF。它会将光散射到各个方向,产生漫反射效果。

光滑 BSDF。它像镜子一样反射光。增加粗糙度值会使反射变得越来越模糊。

玻璃 BSDF。玻璃 BSDF 功能像玻璃或任何其他透明介质一样传递光线。折射率(IOR)决定了光线穿透表面时的弯曲程度。折射率值越高,光线弯曲得越厉害。密度较大的材料具有更高的折射率。例如,玻璃的折射率约为 1.5,水的折射率约为 1.3。钻石作为一种更密集的材料,其折射率约为 2.4。折射率的不同可以在图 12-8 中看到。

半透明 BSDF。这会将光散射到物体的所有方向,产生一种半透明的外观,就像薄纸或叶片一样,光线透过材料传播。

透明 BSDF。这允许光线穿透材料而不发生折射,就像没有任何东西存在一样。与 alpha 图层结合使用时非常有用。(关于创建叶片材质的更多内容,请参见叶片。)

天鹅绒 BSDF。这反射光线的方式有些像漫反射着色器,但从斜角观察时反射更多。结果呈现出一种天鹅绒般的外观。

发射。这将一个物体变成一个发光的灯具,发出自己的光。

遮罩。这在图像中创建一个“洞”,该洞通过背景颜色并具有零透明度(alpha)。它在合成时非常有用。

混合着色器。这允许你混合两个着色器,混合的比例由因子输入决定。混合节点允许你以多种组合方式组合着色器,创造出各种各样的材质。例如,你可以通过将光泽 BSDF 和漫反射 BSDF 着色器结合,创建类似塑料的材质,如图 12-9 所示。

添加着色器。这将两个着色器相加。它不像混合节点那样灵活,因为你不能控制混合的程度,但它的工作方式与混合节点非常相似。

欲了解更多关于这些着色器和其他 Cycles 文档的内容,请访问wiki.Blender.org/

Cycles 中的其他输入

Cycles 允许你使用各种各样的节点,这些节点提供不同的数据供材质使用。你会找到用于输入图像纹理和程序纹理的节点,以及提供几何信息的节点,如表面法线和表面在 3D 或 UV 空间中的位置(允许你将纹理映射到表面)。结合这些节点可以成为一个强大的工具,正如我们在本章中将看到的那样。

不同的折射率。左到右:1.05,1.5 和 2.5。随着 IOR 的增加,折射光变得更加复杂。图 12-8。不同的折射率。左到右:1.05,1.5 和 2.5。随着 IOR 的增加,折射光变得更加复杂。通过 Mix 节点组合着色器。在这里,我通过将橙色的漫反射 BSDF 着色器与白色的光泽 BSDF 着色器结合,创建了一个塑料感的着色器。图 12-9。通过 Mix 节点组合着色器。在这里,我通过将橙色的漫反射 BSDF 着色器与白色的光泽 BSDF 着色器结合,创建了一个塑料感的着色器。

纹理节点

纹理节点对于创建材质特别有用,它们可以提供多种程序化和基于图像的纹理,用于你的材质上。我将使用图像纹理节点来应用我在第十章和第十一章中创建的纹理。

其他节点用于创建程序化纹理。例如,噪声纹理生成多色的云彩,可用于为表面添加看起来随机的细节;波纹纹理生成可重复的条纹,可以扭曲成类似木纹的效果。棋盘格是测试材质设置的一个极好纹理;例如,通过将棋盘格节点连接到 Mix Shader 节点的 Fac 输入,你可以用它来比较两个着色器(参见图 12-10)。我们将在本章后面详细讨论如何在 Cycles 中使用纹理。

Blender Internal 中的节点

虽然我不会详细介绍,但 Blender Internal 也支持节点材质。尽管原理相同,但它们与 Cycles 节点的工作方式略有不同。你可以使用其他材质作为输入,并将它们组合以制作新材质,而不是使用着色器。图 12-11 显示了将两个材质组合生成第三个材质的例子。

使用纹理控制着色器的混合。在这里,使用棋盘纹理来控制光泽和漫反射着色器的混合。图 12-10。使用纹理控制着色器的混合。在这里,使用棋盘纹理来控制光泽和漫反射着色器的混合。Blender Internal 也支持节点材质,尽管它们的工作方式稍有不同。在这里,两个(非节点基础的)材质已经被混合(再次使用棋盘纹理来控制混合)以创建第三种材质。图 12-11。Blender Internal 也支持节点材质,尽管它们的工作方式稍有不同。在这里,两个(非节点基础的)材质已经被混合(再次使用棋盘纹理来控制混合)以创建第三种材质。

蝙蝠生物的材质

让我们看看如何创建材质,从蝙蝠生物和 Blender Internal 开始。对于这个项目,我需要为皮肤、毛发、眼睛和牙齿创建材质。

皮肤

我从生物的皮肤开始。我为蝙蝠生物对象添加了一个新材质——也就是我们最终用于渲染的带有位移的材质。(记住,场景中有两个蝙蝠生物副本:一个副本用于渲染身体,另一个副本是在第九章中创建的,用于保存毛发。)为了为蝙蝠生物添加一个新材质,我进入了属性编辑器的材质选项卡,删除了任何现有的材质槽(通过点击选项卡顶部的 - 按钮)。然后,我从材质选择下拉菜单中点击 +New。接下来,我可以开始创建材质。材质的初步效果见于图 12-12。

到目前为止,这只是一个简单的材质;我只是调整了漫反射颜色和高光强度与硬度。我还将高光着色切换为 Blinn,这样可以产生更柔和的高光。接下来,我需要开始结合我的纹理并进一步优化材质。

为了加入漫反射纹理,我切换到属性编辑器的纹理选项卡,选择了第一个纹理槽,并点击 +New 来添加一个新纹理。然后,我将纹理类型设置为图像。这会在纹理选项卡中添加一个图像面板,在这里我可以打开我的漫反射纹理。

蝙蝠生物材质,未添加任何纹理或次表面散射效果。右侧展示了渲染后的材质。(请参见第十三章和第十四章了解如何设置光照和渲染设置。) 图 12-12. 蝙蝠生物材质,未添加任何纹理或次表面散射效果。右侧展示了渲染后的材质。(请参见第十三章和第十四章了解如何设置光照和渲染设置。)

映射坐标

为了正确地将纹理应用到网格上,我需要告诉材质使用我在第八章中创建的 UV 坐标。

为此,我可以在映射面板中将“坐标”选项设置为 UV。不过,这里还有其他几个值得讨论的选项。例如,“生成”选项将使用下方的投影设置创建一个程序化投影,这对于应用无缝纹理而不需要展开物体非常有用。生成坐标将物体的表面投射到一个假想的形状——平面、立方体、球体或圆柱体——并利用该投影来应用纹理。结果如图 12-13 所示。

在本章后面,我们将使用一些其他选项,如strand坐标。我们已经在应用 MatCap 图像并使用 GLSL 着色时看到了法线坐标的实际应用。

影响

材质选项卡中的“影响”面板是我们设置纹理将影响材质哪些属性的地方。面板列出了所有可以用纹理控制的材质属性,例如法线、硬度、透明度、漫反射、镜面反射以及镜面颜色和强度。对于我们的漫反射纹理,我们将使用漫反射属性下的默认选项“颜色”,该选项使用纹理的 RGB 值来设置表面的漫反射颜色(参见图 12-14)。我将此纹理的混合模式设置为“混合”,意味着它将替代材质设置中指定的默认漫反射颜色。

你还可以只使用纹理的黑白值并忽略其颜色信息,通过勾选“RGB 到亮度”选项。这让你可以在下面的颜色选择器中选择一个特定的颜色来与此值相乘,用于需要颜色的属性。负值选项在应用到模型之前会反转纹理。蒙版选项对于结合程序化纹理尤其有用,因为它让纹理作为下方纹理插槽的蒙版:纹理中的白色区域会允许后续纹理被应用,而黑色区域则只会显示纹理插槽堆栈中更高位置的纹理。

Blender 生成的坐标将任意形状投影到物体上,为纹理创建映射。自上而下:平面、立方体、管道和球体投影。这里,立方体和球体效果较好,因为头骨的形状与这些形状非常相似。图 12-13。Blender 生成的坐标将任意形状投影到物体上,为纹理创建映射。自上而下:平面、立方体、管道和球体投影。这里,立方体和球体效果较好,因为头骨的形状与这些形状非常相似。

更多纹理

现在,我将继续为我的材质添加纹理。首先,我们来看一下我在第十一章中创建的高光和硬度纹理。为了将高光纹理添加到材质中,我从“纹理”标签顶部选择了下一个空的纹理插槽,并从纹理选择器下拉菜单中点击+新建,创建了一个新的纹理块。我将其类型设置为“图像”。然后,我像之前一样设置了映射方式为 UV,但这次在“影响”选项下,我设置了纹理影响材质的高光颜色。我将混合模式设置为“叠加”,这样纹理的数值就会与材质的整体高光颜色相乘。

对于硬度纹理,我设置了纹理影响材质的硬度,并启用了“RGB 到亮度”选项,确保 Blender 将纹理视为简单的亮度值,而不是三个颜色值。(当 RGB 纹理用于不需要颜色信息的输入时,可能会失败。)我将混合模式设置为“叠加”。

将我的漫反射纹理添加到蝙蝠生物的皮肤材质中图 12-14。将我的漫反射纹理添加到蝙蝠生物的皮肤材质中!蝙蝠生物的材质,添加了纹理图 12-15。蝙蝠生物的材质,添加了纹理

请注意,硬度值为 0 会导致奇怪的结果,因此要么确保硬度纹理中没有完全黑色的区域,要么将纹理的影响值设置为小于 1,以消除这个问题。

这就完成了材质的纹理添加。当前的结果显示在图 12-15 中。

添加法线贴图

尽管我已经完成了材质的纹理添加,但你可能还记得,在第十一章中,我为蝙蝠生物烘焙了一个法线贴图,作为替代位移贴图的潜在方案。在这个阶段,我可以将法线贴图添加到另一个图像纹理槽中,并设置其影响材质的法线。在影响选项中,我还需要告诉 Blender 这是一个切线空间法线贴图(而不是凹凸贴图或物体空间法线贴图),所以在纹理标签的图像采样面板中,我启用了法线贴图选项,并确保下方的法线贴图空间选项设置为切线。最终的材质将在渲染时使用这些纹理来扭曲法线,即使关闭细分和位移贴图,也能使其看起来更加详细。

由于我使用了位移贴图,我根本不需要使用法线贴图,但如果你想保持渲染时间较短,或者你的计算机在场景的多边形数量上遇到困难,这也是一个不错的替代方案。

次表面散射

次表面散射(SSS) 是光线在材料表面下反射的效果,这在皮肤、蜡和大理石等材料中很常见。它使阴影的边缘看起来有些模糊,因为光线从完全照亮的区域扩散到阴影部分。当光线散射时,部分光被吸收,剩余的光通常会呈现出下方物质的颜色。以皮肤为例,皮肤下的肌肉和血液会使散射光呈现橙红色。

不同尺度值对次表面散射的影响。由左至右:尺度值为 0.01、0.1 和 0.5。图 12-16。不同尺度值对次表面散射的影响。由左至右:尺度值为 0.01、0.1 和 0.5。

为了在 Blender Internal 中复制这种效果,我们可以为一个材质启用次表面散射。这个效果通过预计算其表面的光照并模糊阴影,来近似物体内部光线的散射。它还使光线在模型的薄部分发生散射。当将光源从背后照射到物体时,这种效果尤为明显(正如我在第十三章中为蝙蝠生物打光时所做的那样)。

在属性编辑器的材质标签中启用次表面散射功能后,你将拥有很多可以调整的选项。次表面散射的设置如下:

IOR。这是材料的折射率。较高的 IOR 会导致光明与黑暗之间的边界稍微变得柔和。

缩放。这是最重要的设置,因为它决定了散射效果的缩放比例,即 Blender 单位在 3D 视图中的比例与实际世界尺度之间的关系。如果你已经将场景构建为 1 Blender 单位 = 1 米,那么 0.001 的值是“正确的”,不过你可以设置为任何能达到预期效果的值(参见图 12-16 图 12-17。不同颜色混合设置对次表面散射的影响。这里,所有三种材质使用相同的蓝色作为散射颜色,但使用了不同的颜色混合值。从左到右:颜色混合值为 0.0、0.5 和 1.0。

RGB 半径。在许多材质中,某些颜色的光散射得比其他颜色更远。例如,在浅色皮肤中,红光散射得最远,绿光大约散射到红光的一半距离,蓝光则约为红光的四分之一。这些设置让你可以定义红光、绿光和蓝光的相对散射距离。

混合(颜色/纹理)。 这些设置决定了散射颜色和漫反射纹理的扩散程度。我通常将这两个值设置得非常低,甚至为 0,因为这样效果更令人满意。较高的颜色混合值往往会导致散射颜色冲淡材料中的其他颜色(见图 12-17),而较高的纹理混合值则会使纹理看起来模糊。

散射权重(前/后)。 这调整了模型前后部分的散射相对量。增加后向散射权重会导致光线在模型的薄部分更明显地散射,这通常是理想的。将前向值设置为 0 会使材料从表面前端不散射任何光线,只对后向散射的光线有反应,如图 12-18 所示。(这在节点材质设置中有时非常有用。)

误差。 这个值决定了 SSS 效果的质量。较低的值会提供更精确的结果,但渲染时间会更长。默认值通常就很好。

前后散射。从左到右:仅前向散射、前后散射和仅后向散射。图 12-18。前后散射。从左到右:仅前向散射、前后散射和仅后向散射。

对于蝙蝠生物,我设置的 SSS 设置如图 12-19 所示。我根据生物的大小设置了比例,假设 1 米等于 1 个 Blender 单位,并选择了蓝绿色作为散射颜色,结合将颜色混合设置为 0,得到了一个漂亮的橙色散射效果。我将后向散射权重设置得较高,以允许光线穿过翅膀散射。这完成了蝙蝠生物的皮肤材质。

蝙蝠生物皮肤的 SSS 设置。结合来自背后的光照,次表面散射使翅膀发光,光线从其中散射出来。图 12-19。蝙蝠生物皮肤的 SSS 设置。结合来自背后的光照,次表面散射使翅膀发光,光线从其中散射出来。

牙齿、指甲和眼睛

为了创建牙齿和指甲的材质,我首先复制了我为皮肤创建的材质,减少了 SSS 效果,并增加了整体的镜面反射,使这些区域看起来更光亮。

要复制一个材质,首先将其分配给一个物体。然后,在材质选择器的下拉菜单中,点击+图标,通过复制当前分配的材质来创建一个新材质。接下来,你可以修改这个副本,而不会改变原始材质。当你需要创建一个与已创建材质类似的新材质时,这非常有用。

对于眼睛,我创建了两种新材质。回想一下,在第五章中我建模眼睛时,将其分为两个独立的部分:角膜物体形成眼睛的外表面,内层则是最终成为眼球的部分。将内层展开并纹理化后,我设置了一个类似皮肤材质的材质,减少了些微的红色次表面散射。我还关闭了该材质的镜面反射(将镜面强度设置为 0),因为眼睛的镜面反射来自角膜物体。我将第十一章中我绘制的眼部纹理应用为该材质的漫反射纹理。

对于角膜,我需要一种既光亮又透明的材质,并且不会在内眼物体上投射阴影。为此,我创建了一个新材质并将其分配给该物体。然后,在材质设置中启用透明度,并设置为 Z 透明度,同时将材质的 alpha 值设置为 0。这些设置使材质变得透明,除非存在镜面和镜面反射。为了提高材质的光泽度,我将镜面反射和硬度都调高了不少,并且为了防止材质投射阴影,我在选项面板中禁用了可追踪性,并在阴影面板中禁用了投射缓冲阴影。眼睛的两种材质可以在图 12-20 中看到。

毛发

毛发材质比普通材质稍微复杂一些,需要一些关于光照和渲染的知识。我将在这里介绍材质的相关内容,并在第十三章中讲解一些光照方面的内容。

在 Blender Internal 中,毛发粒子可以像任何其他材质一样渲染,也可以使用 Blender 的毛发渲染选项。Blender 的毛发渲染选项提供了一种更快速的渲染毛发和毛皮的方式,但它与光线追踪阴影不兼容。它只能通过带有缓冲阴影的聚光灯来渲染阴影。

要启用发丝渲染,请使用属性编辑器中“粒子”标签的“渲染”面板(见图 12-21)。对于蝙蝠生物,我选择使用发丝渲染。在第十三章中,我们将讨论如何为这种设置创建适当的照明环境。

两种眼睛材质。高光来自应用于角膜网格的材质,其他则来自内眼网格。图 12-20. 两种眼睛材质。高光来自应用于角膜网格的材质,其他则来自内眼网格。从属性编辑器的粒子标签启用发丝渲染图 12-21. 从属性编辑器的粒子标签启用发丝渲染

接下来,我为材质指定了发丝选项。在“材质”标签的“发丝”面板中,您可以指定发丝的粗细、形状等选项:

大小(根部/尖端/最小)。此项决定发丝根部和尖端的厚度。最小设置指定 Blender 渲染时发丝的最小宽度(以像素为单位)。

Blender 单位。默认情况下,您通过“大小”设置指定的厚度是以像素为单位的。如果您的粒子与相机之间的距离差异很大,这可能会导致渲染问题,因为它们会以相同的像素宽度进行渲染,使得远处的粒子看起来过于粗大。启用 Blender 单位后,您可以改为使用 Blender 单位来指定粒子的宽度。

切线着色。此选项使用发丝的切线方向而非法线方向进行着色,这通常会产生更好的效果。

形状。此项修改发丝根部与尖端之间宽度的过渡。默认值为 0,表示线性过渡。负值会导致尖锐的形状,而正值则使发丝的末端看起来更圆润。

宽度渐变。此设置使发丝在宽度方向上逐渐褪色,但仅当启用发丝渲染时有效。

UV 映射。此项允许您覆盖其中一个 UV 坐标集,为发丝提供一个 UV 映射。这样,您可以将图像 UV 映射到所有发丝上以进行纹理处理,但只有在禁用发丝渲染时才能使用。

表面漫反射。此设置使表面漫反射的着色与发丝着色在指定的距离内融合。

发丝坐标

如上所述,我们可以通过使用 UV 映射覆盖来给毛发纹理。更简单的选择是使用毛发坐标进行纹理映射。当应用纹理时,虽然这仅提供了沿毛发长度的一维坐标,但对于细小的毛发来说,这通常已足够。

对于蝙蝠生物的毛发,我首先使用图 12-22 中显示的设置建立了一个简单的材质。注意,我启用了 Z 透明度并将透明度设置为大约 0.7。在毛发设置中,我启用了 Blender 单位,并将根部和发梢的大小分别设置为 0.00125 和 0.0001。(这些值较小,因为毛发需要非常细,而且它们的宽度现在是以 Blender 单位为单位。)我还启用了切线着色,并将宽度渐变设置为 1.0。

接下来,在纹理设置中,我使用了 Blender 的程序化混合纹理来为头发的透明度沿长度添加渐变,使其在发梢处变得透明。我在材质的第一个纹理槽中添加了一个新的纹理,并将其类型设置为混合。然后,我开始调整混合纹理的颜色,首先在颜色标签中启用渐变选项,然后调整程序化纹理使用的颜色。我点击“添加”以在渐变中创建更多的颜色停点,并将颜色设置为从透明的黑色渐变到不透明的白色,再返回(见图 12-23)。最后,在映射下,我将纹理的坐标设置为透明度,并在影响下设置纹理与材质的透明度以及高光强度相乘。

我对头发颜色做了类似的处理。我在下一个纹理槽中创建了一个新的混合纹理,这次我设置了从黑色到白色的渐变(透明度均为 1.0)。同样,我将纹理映射到毛发坐标,并将其与毛发的漫反射颜色按 0.8 的因子相乘,使得毛发根部稍微变暗,从而假装有一些阴影效果。

接下来,我添加了一个云纹理,将其设置为修改材质的颜色——这次通过 0.8 的因子影响漫反射颜色,混合模式设置为乘法,映射设置为 UV。我将云纹理的缩放值调到最低,基本上将纹理转化为黑白噪声,并给每根毛发一个稍微不同的亮度。这完成了头发材质,最终效果如图 12-24 所示。

我的毛发材质的基本设置图 12-22. 我的毛发材质的基本设置修改程序化混合纹理的颜色图 12-23. 修改程序化混合纹理的颜色头发材质图 12-24. 头发材质

桃毛

我为桃毛粒子系统设置了一个非常相似的材质。对于这个材质,我减少了发丝的大小设置,使它们变得更细,并降低了材质的整体 alpha 值,使头发看起来更加轻盈。最终的材质效果可以在图 12-25 中看到。它主要出现在身体的边缘,这正是我想要的效果。

这完成了我为蝙蝠生物制作的材质。

我的桃毛头发提供了一种更微妙的效果,它在模型的亮光部分周围增添了一圈毛茸茸的光晕。图 12-25. 我的桃毛头发提供了一种更微妙的效果,它在模型的亮光部分周围增添了一圈毛茸茸的光晕。

蜘蛛机器人材质

对于蜘蛛机器人,我选择使用 Blender 的 Cycles 渲染器,因为它允许我创建一些漂亮的光泽材质来与模型相辅相成。我从创建一个单一材质开始,应用到蜘蛛机器人网格的所有(有纹理的)部件。你可以使用材质工具脚本快速完成此操作:只需在 Blender 的插件菜单中启用它(用户设置插件),并使用快捷键 Q 一次性为所有选中的对象分配材质。默认情况下,当你为一个物体创建新的 Cycles 材质时,Blender 会分配一个漫反射 BSDF 着色器,就像图 12-26 中所示的那样。默认材质将是纯白色的哑光材质。

编辑节点材质

要编辑 Cycles 材质,可以使用 Blender 的节点编辑器,将其与 3D 视图并排显示,并实时预览场景渲染(这也是 Blender 内部渲染的一个主要优势,我稍后会讨论)。为了给节点编辑器和预览留出空间,我通过右键点击 3D 视图底部边缘并选择“拆分区域”来将默认布局拆分一次。然后,我将左侧区域水平拆分成两部分。

一旦我拆分了工作区,我将其中一个新区域设置为节点编辑器,另一个设置为 3D 视口,并将其显示模式设置为渲染模式。在节点编辑器的标题栏中,我选择了左侧组中的材质图标和右侧组中的立方体图标(参见图 12-27),这样节点编辑器就会显示当前材质的节点树。这为我提供了一个可操作的布局,用于编辑 Cycles 材质。

Cycles 渲染预览

当 3D 视口的显示模式设置为渲染模式时,Blender 会持续渲染并更新该视口当前视图的 Cycles 渲染效果(如图 12-26 所示)。这种方法是即时查看场景中材质和光照效果的好方式。

注意

虽然我们还没有讲解光照,但此时添加一些基础光源对场景有帮助,这样渲染预览会更贴近最终效果。有关光照的更多信息,请跳转到第十三章,或者简单地通过在 3D 视口中按 SHIFT-A,选择灯光▸点光源,添加一个点光源。通过在属性编辑器的对象数据选项卡中调整光源的强度设置,来调整光源的亮度。向场景中添加几个基础光源,以便于材质调整,或者创建一个更完整的光照设置。

添加纹理

接下来,我开始将更多的着色器组合到我的材质中。我首先添加了一个光泽 BSDF 着色器(SHIFT-A▸Shaders▸Glossy BSDF),并使用一个加法着色器节点将光泽着色器和漫反射着色器混合,通过将两个着色器节点的输出插座连接到加法节点,再将加法节点的输出插座连接到材质输出节点(参见图 12-27)。

接下来,我开始加入我的纹理,首先是漫反射贴图。我添加了一个图像纹理节点(SHIFT-A▸Textures▸Image Texture),并通过点击节点中的文件夹图标打开我的漫反射贴图。我将该节点的颜色输出连接到漫反射着色器节点的颜色输入。

编辑 Cycles 材质时的屏幕布局图 12-26. 编辑 Cycles 材质时的屏幕布局

我对我的高光颜色贴图做了同样的操作,将其连接到高光颜色节点的颜色输入。默认情况下,这些纹理的映射使用的是活动的 UV 坐标集,所以你不需要严格手动定义它。但是,因为知道纹理使用了哪些坐标会有所帮助,我在场景中添加了一个纹理坐标节点,并将它的 UV 输出连接到我的图像纹理节点的向量(蓝色)输入。这样做会告诉这些节点使用活动的 UV 映射作为它们的纹理坐标来源。到目前为止的节点设置如图 12-27 所示。

蜘蛛机器人材质的节点设置演变过程图 12-27。蜘蛛机器人材质的节点设置演变过程

插槽类型

现在,我已经为材质设置了一个相对复杂的节点设置,让我们来谈谈节点插槽。节点插槽是表示节点输入和输出的小彩色圆圈,它们允许通过单击并拖动连接线,从一个节点的输出插槽连接到另一个节点的输入插槽。请注意,在图 12-27 中,我们用来连接节点的插槽都具有匹配的颜色——绿色对绿色,黄色对黄色。颜色必须匹配,因为不同的输出插槽传递不同类型的数据,而不同的输入插槽期望不同种类的数据。有些可能需要颜色信息,有些只需要单一的数值,其他的可能需要像纹理坐标或法线这样的向量信息。

节点插槽采用颜色编码,以便明确节点期望什么类型的输入以及它产生什么类型的输出:

  • 蓝色插槽用于向量数据。它们可以携带多个值,例如 UV 坐标(二维)或位置数据(三维)。

  • 绿色插槽用于着色器。它们传递所有决定材质如何与光交互的信息。

  • 灰色插槽用于数值数据。它们携带单一的数值。

  • 黄色插槽用于颜色数据。它们传递 RGBA 值(红色、绿色、蓝色和 alpha)。

某些类型的插槽可以混合使用。例如,数值插槽可以用作颜色插槽的输入,Blender 会将数值数据当作黑白图像处理。颜色插槽也可以连接到数值输入,Blender 会使用颜色的整体亮度作为数值输入。然而,着色器插槽更加复杂,只能连接到其他着色器插槽。

粗糙度贴图

在第十一章中,我为蜘蛛机器人创建了一个粗糙度贴图。在 Cycles 中,我可以将此贴图连接到 Glossy BSDF 节点的粗糙度输入,来控制材质反射的模糊度或清晰度。较暗区域的反射会比较清晰,而较亮区域的反射会比较模糊(记住,这与硬度贴图正好相反)。

为了实现这一点,我添加了一个新的图像纹理节点,加载了粗糙度贴图,并将其输出连接到 Glossy 节点的粗糙度输入。因此,纹理的亮区域有了更模糊的高光,而暗区域则有了清晰的光滑高光。

我还将图像纹理的颜色空间从图像节点的下拉菜单中设置为 Non-Color Data,以指示该节点不是用作颜色图像,确保 Blender 不会对该节点进行伽玛校正。

调整输入

为了最大限度地利用我的纹理而无需在 GIMP 中编辑它们,我使用 Blender 的节点进行了调整。例如,为了稍微加深漫反射颜色,并使光滑着色器的反射稍微更锐利,我添加了一个 Color Mix 节点,将其类型设置为 Multiply,因子设置为 0.5,并将第二个颜色输入设置为黑色。

当将此 Color Mix 节点拖动到图像纹理节点和着色器节点之间的连接时,Blender 会自动将其添加到链中。(连接将被高亮显示,当你松开它时,新的节点将被插入。)我对漫反射贴图和 Diffuse BSDF 着色器之间的连接做了这个操作,以稍微加深纹理。

对于 Glossy BSDF 着色器,为了使反射更锐利,我需要减少输入到粗糙度着色器的值。我通过在粗糙度图像纹理节点和光滑着色器的粗糙度输入之间添加一个 Math 节点来实现这一点。我将节点的操作设置为 Multiply,并将节点的第二个值设置为 0.5。这样,粗糙度图像的值在传递到 Glossy Shader 节点之前被减半,从而使着色器输入的整体粗糙度减半,产生更锐利、更光滑的反射。

对于网格的闪亮绿色区域,我根据表面与相机之间的角度,加入了一些颜色变化。这使得材质呈现出一种漂亮的虹彩效果。我通过添加一个几何输入节点(SHIFT-A▸输入▸几何)来提供表面法线作为输入,并使用法线节点与视角方向进行点积运算。我然后用这个点积输出通过色调饱和度值节点来修改反射色彩贴图的色相。通过使用法线节点的点积输出,我得到了一个随材质表面法线变化的值(而非向量)。当这个值用于影响色调饱和度值节点的色相输入时,材质的颜色会随着表面从相机方向倾斜而微妙地发生变化。你可以在图 12-28 中看到我使用的节点链。这是一个相对复杂的设置,但通过查看它并亲自测试,你应该能理解它的原理。

蜘蛛机器人材质,添加了一些节点来调整纹理效果图 12-28. 蜘蛛机器人材质,添加了一些节点来调整纹理效果

其他材质

我仍然需要为蜘蛛机器人制作几个材质:眼睛的闪亮材质(我使用了一个简单的光泽着色器,设置为深灰色,并且稍微具有 0.05 的粗糙度)和电线材质(我将一个光泽着色器和一个漫反射着色器与着色器混合节点结合使用)。你可以在图 12-29 和完成的蜘蛛机器人材质在图 12-30 中看到这些材质。

丛林寺庙的材质

我在丛林寺庙场景中同样使用了 Cycles 渲染器。这个场景需要多种材质:叶片材质用于植被,通用材质用于岩石和土壤,以及一些我单独贴图的物体的独特材质,比如前景的石块和雕像。

额外的蜘蛛机器人材质。上:眼睛,简单的光泽材质。下:电线,一个漫反射 BSDF 着色器与粗糙的光泽 BSDF 着色器混合。图 12-29. 额外的蜘蛛机器人材质。上:眼睛,简单的光泽材质。下:电线,一个漫反射 BSDF 着色器与粗糙的光泽 BSDF 着色器混合。完成的蜘蛛机器人材质外观。有关照明和渲染的详细信息,请参见第十三章和第十四章。](httpatomoreillycomsourcenostarchimages1538788.png.jpg)图 12-30. 完成的蜘蛛机器人材质外观。有关照明和渲染的详细信息,请参见第十三章和第十四章。

地面

地面材质可能是最简单的创建过程。它只是将漫反射 BSDF 着色器和光泽 BSDF 着色器混合在一起,使用我绘制的纹理作为颜色输入。因为我觉得原始纹理使得材质显得有些偏浅,所以我使用 Gamma 节点稍微加深了它们的颜色,而不会丧失太多对比度(见图 12-31)。

石材材质

对于我的石材材质,我希望将我在第十一章中制作的两种不同的石材纹理结合起来,让每种纹理在不同的区域显示出来,以便在材质的外观上增加一些变化。为此,我首先创建了一个基础的着色器,通过使用 Shader Mix 节点将漫反射着色器和光泽着色器混合在一起。我通过 Layer Weight 节点控制混合的量,使用它的 blend 输出。Layer Weight 节点根据网格的法线从 0 到 1 进行混合:朝向相机的表面获得低值,而背离相机的表面获得高值(具体值取决于所使用的输出——朝向或菲涅尔)。使用该节点的 Facing 输出控制光泽和漫反射着色器之间的混合,产生了物体边缘的光亮高光,同时当从正面查看时,物体呈现出更漫反射的外观,如图 12-32 的第一部分所示。

为了为不同的石材纹理创建一个斑驳的分布,我结合了几个不同尺度的 Voronoi 纹理节点,然后用这些节点来控制岩石的不同纹理之间的混合,包括镜面和漫反射贴图,如图 12-32 所示。2 我还使用了一些 Map 节点来放大我的岩石纹理的贴图,使它们相互匹配并适应场景的尺度,你可以在图 12-32 3 中看到。

丛林神庙场景的土壤图 12-31。丛林神庙场景的土壤我的岩石材质设置有点复杂。一个 Layer Weight 节点 1 用于混合镜面和漫反射着色器。两个 Voronoi 纹理加在一起 2 控制岩石纹理的混合(两个用于漫反射颜色,两个用于镜面反射)。纹理本身通过一些 Map 节点 3 进行缩放,镜面颜色也用于位移 4。图 12-32。我的岩石材质设置有点复杂。一个 Layer Weight 节点 1 用于混合镜面和漫反射着色器。两个 Voronoi 纹理加在一起 2 控制岩石纹理的混合(两个用于漫反射颜色,两个用于镜面反射)。纹理本身通过一些 Map 节点 3 进行缩放,镜面颜色也用于位移 4。

位移

Cycles 目前支持使用黑白输入(或将 RGB 输入转换为单一值)来模拟材质表面小凸起的效果。这通常在其他渲染引擎中被称为凹凸贴图。Cycles 目前尚不支持法线贴图。

为了给我的岩石表面增加一些纹理效果,我将高光颜色(将两者混合)作为位移输入连接到材质输出节点,尽管我使用了乘法节点来缩小它们的值,以减少效果,如图 12-32 4 所示。最终的岩石材质如图 12-33 所示。

雕像

雕像材质基本上只是通用石材材质的一个副本,不同之处在于它使用了我为雕像绘制的纹理。为了创建它,我将石材材质应用到雕像上,然后点击材质选择器下拉菜单中的+图标,使用当前材质创建一个新材质。接下来,我在节点编辑器中删除(X)了材质中的多余节点,并用我的雕像纹理替换它们(见图 12-34)。

岩石材质图 12-33。岩石材质!雕像材质与岩石材质非常相似,不同之处在于它使用了自己的纹理。图 12-34。雕像材质与岩石材质非常相似,不同之处在于它使用了自己的纹理。

叶子

对于叶子,我想要一个半透明材质,这样当从未照亮的一侧看时,叶子也能呈现出明亮的效果。为实现这一点,我将半透明 BSDF 着色器与漫反射 BSDF 着色器混合,并在上面混入高光以使叶子发亮。叶片网格必须是透明的,以使网格中不是叶子的区域不可见。我通过将目前为止所有节点的结果与透明 BSDF 着色器混合来完成这一点,使用第十一章的 alpha 贴图来控制混合(见图 12-35)。

前景岩石和土壤

在 第十一章中,我为从相机角度看过去的前景物体创建了一个手绘纹理。为了使用这个纹理,我需要为这些物体创建一个独特的材质。我首先复制了为雕像创建的材质,然后将它的纹理输入替换成我为前景物体创建的纹理。

IvyGen 叶子的材质。其他叶子共享纹理和相同的材质,以相同的方式创建。 图 12-35. IvyGen 叶子的材质。其他叶子共享纹理和相同的材质,以相同的方式创建。

为了正确地将纹理映射到模型上,我将 3D 视口切换到相机视图(NUMPAD 0),并使用 Unwrap▸从视图投影操作对每个应用材质的前景物体进行 UV 展开。这样,物体的 UV 坐标就会投影到与相机视角匹配的位置,从而使我能够将 UV 坐标作为纹理坐标。该材质的节点可以在 图 12-36 中看到。

水坑

对于水坑,我需要一个水材质,能够让一些光线穿透表面并显示反射。单独使用玻璃材质就可以完成这项工作(使用折射率 1.33,与水相同),但为了更好地控制光线穿透表面的程度以及反射的强度,我将透明、玻璃和光泽 BSDF 着色器混合在一起。我使用了光泽着色器,通过将层权重节点连接到混合节点,以便在低视角下获得额外的反射效果。

前景岩石和土壤的材质 图 12-36. 前景岩石和土壤的材质

为了在水面上生成波纹,我创建了一个波纹纹理节点(SHIFT-A▸纹理▸波纹纹理),并将其连接到材质输出节点的位移插槽,以在水面上创建一些扭曲效果。默认情况下,波纹节点产生直线型、重复的波浪,但通过将波浪类型设置为圆环并增加扭曲值,可以得到一些漂亮的波纹效果(见 图 12-37)。

水材质,通过混合透明、玻璃和光泽 BSDF 着色器,并使用波纹纹理提供一些位移 图 12-37. 水材质,通过混合透明、玻璃和光泽 BSDF 着色器,并使用波纹纹理提供一些位移

创建材质的一般技巧

在创建项目材质时,有一些一般性原则需要牢记。主要是要关注你尝试复制的材质在现实世界中的表现,并据此构建你的材质:

保持反射量的合理性。 确保你的物体反射的总光量是合理的。在 Cycles 中使用 Add 节点组合着色器时,可能会通过添加过多的着色器,导致一个材质反射的光比它实际接收到的光更多。同样,在 Blender Internal 中,记得扩散和镜面反射量(加上物体吸收的光)应该大致加起来为 1——例如,扩散强度为 0.6,镜面强度为 0.3,剩下的则是吸收的光。否则,你的材质会显得不真实地明亮,与其他材质不协调。

没有完美的材质。 没有材质能够反射所有光线的 100%,也没有材质能够完全吸收所有光线。尽量避免制作完全黑色或完全白色的材质(除非你有充分的理由这样做)。

适度使用饱和度。 即使是像塑料这样颜色鲜艳的材质,它的颜色也很少会达到 100%饱和。大多数日常颜色的饱和度都低于 85%,因此,保持材质的颜色在合理范围内,使其看起来更可信。

保持简单。 尽量避免制作复杂的材质,以确保较短的渲染时间。例如,在 Blender Internal 中,只有在确实需要时,才使用光线追踪反射。

用程序纹理补充材质。 Blender 内置的程序纹理是通过将它们用作凹凸贴图或融合其他纹理来补充材质的好方法。这样做可以为你的材质增加很多变化,同时避免你必须费力地手工绘制纹理。

审查中

本章开始时,我们先看了 Blender 在创建材质时的选项,包括 Blender Internal 渲染器和 Cycles 渲染器。由于这两种渲染引擎在创建材质时需要不同的方法,我们探讨了它们各自的选项和要求。然后,我们开始为三个项目创建材质。对于 Bat Creature,我为身体、毛发、眼睛、指甲和牙齿创建了兼容 Blender Internal 的材质。对于身体,我创建了一个带有次表面散射的材质,以模仿真实的皮肤;对于毛发,我介绍了毛发材质和渲染的不同选项。我使用了 Blender 的发丝着色器来渲染毛发,并探讨了如何将纹理应用于毛发。

对于 Spider Bot 和 Jungle Temple 场景,我为使用 Cycles 渲染的材质创建了材质,使用 Blender 的节点编辑器通过组合着色器节点并使用纹理来提供它们的输入,创建了多种不同的材质。

这些项目现在已经准备好进行照明和渲染。在第十三章,你将学习不同的照明设置以及如何在 Blender Internal 和 Cycles 中使用照明。

第十三章. 照明

照明可能是影响我们如何感知图像的最重要因素。照明可以改变图像的基调,使人物和场景看起来既可以是阴暗和险恶的,也可以是温暖和诱人的。在本章中,我将使用各种技术为我到目前为止创建的项目添加照明,包括 Blender Internal 的一系列照明选项和 Cycles 更物理准确的光源创建方法。

Blender Internal 与 Cycles 照明的比较

Blender Internal 和 Cycles 都拥有多种强大的照明工具。Blender Internal 支持多种不同表现方式的灯光,并提供两种渲染阴影的方法——使用阴影缓冲区或光线追踪——这两种方法稍后会讨论。

Cycles 仅使用光线追踪进行照明,它的效果比 Blender Internal 更真实。它还支持从网格中发光,允许你创建任何形状的光源。但是,虽然 Cycles 是更真实的照明渲染器,但 Cycles 和 Blender Internal 并不适合所有情况,两者各有优缺点。例如,Blender Internal 的灯光渲染速度快,使用广泛且风格多样,而 Cycles 提供了一种可靠且真实的光照方式,不需要大量调试就能获得好的效果。在本章中,我们将使用两种渲染器,在 Blender Internal 中为蝙蝠生物进行渲染,并在 Cycles 中为蜘蛛机器人和丛林神庙进行渲染。

Blender Internal 中的照明

Blender Internal 使用 Blender 的灯光对象来照亮场景。要创建灯光,请在对象模式下按 SHIFT-A,然后在 Lamp 下选择以下之一:

面积灯。这会创建一个方形或矩形的灯光,从其整个区域发出光线。面积灯支持光线追踪阴影,适合创建柔和的阴影和工作室风格的照明,但由于它们需要更多的样本来生成无噪点的结果,因此可能会显著增加渲染时间。

半球灯。这种灯光以漫射的方式照亮整个场景,类似于天空中的户外光。由于它不支持阴影,因此渲染非常快速,但用途有限。

点光源。这会创建一个点光源,从灯光中心向各个方向发出光线。它支持光线追踪阴影,是一个良好的通用灯光。

聚光灯。聚光灯就像剧院中的聚光灯或手电筒。它们从原点以锥形发出光线,是照亮特定区域的好工具。它们支持光线追踪阴影和阴影缓冲区。阴影缓冲区在不进行光线追踪的情况下生成阴影,通常渲染速度比光线追踪快得多。这使得它们非常多功能,适用于需要高度控制照明的场景。

太阳。此光源从一个方向照亮整个场景,就像太阳一样。它支持光线追踪阴影。

每个灯光的设置可以从属性编辑器的对象数据选项卡中进行更改,当灯光被选为活动对象时,该选项卡会显示一个灯光图标。您可以调整灯光的亮度和衰减——即光线强度衰减的距离——以及阴影、颜色等设置。尽管不同的灯光——特别是聚光灯——有一些独特的功能,但它们通常共享相同的设置。点光源的设置如图 13-1 所示,并在下文中进行讨论。

光源颜色。该颜色选择器允许您选择光源的颜色。

能量。此选项确定光源的整体强度。

衰减。仅适用于点光源和聚光灯,此选项控制光线强度衰减的距离和曲线。下拉菜单允许您为衰减选择衰减曲线(选择反平方以获得逼真的衰减效果,并尝试其他选项)。距离让您指定衰减的总体距离——设置越高,光源的扩散越远。球形设置使光线强度在确定的距离内逐渐衰减至零,而不是无限期地减弱。

点光源的设置图 13-1. 点光源的设置

负值。这将光源转变为“反向”灯,从场景中去除光线,而不是增加光线。此设置对于创建暗角或隐藏场景中的阴影区域非常有用。

仅此层。此选项使光源只照亮同一层上的物体。此设置对于单独照亮某些物体非常有用。

镜面反射/漫反射。这些设置让您控制光源是否对镜面反射和漫反射产生影响。关闭灯光的镜面反射可以将柔和的照明添加到一个区域,而不会产生高光。通过关闭漫反射,您可以将光源精确定位,确保高光的效果而不改变整体的漫反射照明。

Blender 内部的阴影

Blender 提供两种渲染阴影的方式:光线追踪和阴影缓存。

光线追踪

第一种方法使用光线追踪来确定网格中处于阴影中的部分。光线追踪“发射”射线从相机出发,针对图像中的每个像素并将其绘制到像素面对的表面。进一步的射线会绘制到场景中的光源,以确定该点是处于光照中还是阴影中:如果射线可以直接到达光源而不与其他物体相交,则该点被照亮;否则,它处于阴影中。

当存在多个光源或软阴影时,每个像素必须投射多个光线,从而增加渲染时间。光线追踪反射和透明度也是如此,其中光线可能会被反射或折射多次。光线追踪能够生成清晰的像素完美阴影以及软阴影,它比阴影缓冲更准确,但通常渲染速度较慢。

阴影缓冲

另一种方法是使用阴影缓冲,这仅适用于聚光灯。阴影缓冲利用聚光灯的受限光照锥来创建一个贴图,显示灯光覆盖的角度范围内哪些区域处于阴影中。实质上,Blender 从灯光的视角生成场景的基础渲染:可以从灯光视角看到的区域被照亮,而看不见的区域则处于阴影中。

阴影缓冲阴影通常比光线追踪阴影渲染更快,而且与毛发的 strand 渲染器兼容。实际上,聚光灯的深度阴影缓冲选项非常适合渲染毛发投射的阴影。但要获得准确的缓冲阴影,通常需要通过提高阴影缓冲贴图的分辨率来实现,这会占用大量内存,且低分辨率的缓冲阴影边缘可能会显得锯齿状(参见图 13-2),因此一定要正确设置它们。

常见的阴影选项

在灯光设置的阴影面板中,以下选项适用于光线追踪阴影和缓冲阴影。

阴影颜色。 该选项允许你为阴影设置颜色。当然,实际上阴影是没有颜色的,因此这实际上是一种技巧,旨在帮助改变照明的美学。将其设置为黑色即可获得正常(无色)阴影。

仅此图层。 这会使得只有与灯光在同一图层的物体才会投射阴影,尽管任何图层上的物体都可以被灯光照亮,只要在灯光面板中没有启用相应的选项。

仅阴影。 这会使灯光仅投射阴影,意味着你需要其他光源来照亮场景中的物体。此选项可用于在特定位置创建阴影,而不影响整体的光照效果。

光线追踪阴影选项

启用灯光的光线阴影选项时,会出现以下选项:

采样数。 这决定了每个像素用于软阴影的采样数量,以确定阴影的强度。较高的采样数会产生更少噪声的结果。将采样数设置为 1 时,无论软阴影大小如何,阴影的边缘都会是硬的。

软尺寸。此设置旨在通过扩展光源的面积来生成柔和的阴影。软尺寸越大,阴影就越柔和,轮廓也越不清晰。较大的尺寸需要更高的样本数量才能产生无噪声的结果。

自适应/常量 QMC。此设置用于确定一个表面上的点是否处于阴影中。对于常量 QMC,采样的数量始终是由样本设置指定的数量。对于自适应 QMC,对于明显处于阴影中或不在阴影中的区域,可能会采取更少的样本。阈值值决定了确定需要多少样本的确定性要求:较高的阈值更宽容且速度更快,但可能产生更嘈杂的结果。

阴影缓冲区选项

为聚光灯选择阴影缓冲区阴影时,会出现以下选项:

缓冲区类型(经典/经典-半途/不规则/深度)。这些类型的具体技术细节相当复杂(你可以通过一些谷歌搜索找到详细信息),但它们之间的区别其实非常简单明了。

  • 经典。这些缓冲区是最简单的,可能会受到偏差伪影的影响(请参见图 13-2)。

  • 经典-半途。这些缓冲区在经典阴影缓冲区的基础上进行了改进,减少了偏差伪影的出现。

  • 不规则。这些阴影缓冲区始终产生清晰、干净的阴影且没有锯齿,但不能用来生成柔和的阴影,而且它们创建的阴影不会出现在光线追踪反射中。

  • 深度。这些阴影缓冲区是最先进的,可以存储透明度信息,从而实现透明物体的部分阴影效果。它们非常适合渲染头发、毛发等材料的阴影,以及体积材质的阴影。

滤镜类型。用于混合阴影边缘的滤镜类型。高斯滤镜提供最平滑的效果。

柔和。此设置根据用于投射阴影的灯具的大小来调整阴影的柔和度。较大的数值会产生更柔和的阴影,但需要更多的样本。

偏置。此项调整阴影缓冲区的计算方式。它用于防止由于灯光与物体表面夹角较低而导致的阴影伪影(见图 13-2)。更高的值可以减少偏置伪影,但也可能导致网格的某些部分无法投射应有的阴影,因此在不引入伪影的情况下应尽量将此值设置为最低。

采样缓冲区。此项决定渲染的阴影缓冲区数量。较高的值能够提供更好的硬边阴影的抗锯齿效果,但更多的缓冲区会占用更多内存,因此使用时需要谨慎。

大小。此项设置阴影缓冲区贴图的分辨率(见图 13-3)。数值越高,贴图中能够捕捉到的细节越多,渲染所需的内存也越多。如果你想要柔和的阴影,实际上你不会在阴影中看到太多细节,因此高分辨率仅用于需要更硬阴影的场景。

裁剪开始/结束。这些设置定义了阴影缓冲区中对象投射阴影的距离范围。超出此范围的物体仍会被聚光灯照亮,但不会投射阴影。这个范围的大小在 3D 视口中以从灯光中心向外延伸的实线显示,介于裁剪开始和裁剪结束距离之间(见图 13-4)。

这里展示了低阴影缓冲区大小下的阴影缓冲偏置伪影,以夸大效果。增加偏置值可以避免这些伪影,但过高的设置可能会导致一些应有阴影的丢失。图 13-2。这里展示了低阴影缓冲区大小下的阴影缓冲偏置伪影,以夸大效果。增加偏置值可以避免这些伪影,但过高的设置可能会导致一些应有阴影的丢失。

自动裁剪开始/结束。启用这些选项后,由 Blender 自动根据灯光视角下可见的顶点来设置裁剪开始和结束距离。

Cycles 中的照明

在 Cycles 中,光照设置与 Blender Internal 非常相似,但选项较少。在 Cycles 中设置光照更为简便,因为你可以立即通过渲染预览获取反馈。Cycles 中的光源基于节点,并由着色器构成,和材质一样。事实上,Cycles 允许你将光的发射整合到材质灯光物体中。我们将在此讨论这两者。

阴影缓冲区大小设置会影响阴影的定义,并减少阴影边缘的锯齿。在这里,展示了在逐渐增加的分辨率下,部分过度拉伸的阴影缓冲区。图 13-3。阴影缓冲区大小设置会影响阴影的定义,并减少阴影边缘的锯齿。在这里,展示了在逐渐增加的分辨率下,部分过度拉伸的阴影缓冲区。3D 视图中的聚光灯,显示裁剪范围图 13-4。3D 视图中的聚光灯,显示裁剪范围

Cycles 中的灯光物体

Cycles 支持大多数与 Blender Internal 相同的灯光类型,除了 Hemi 灯光。在 Cycles 中添加新的灯光物体时,会自动为灯光的输出节点添加一个标准的发射着色器,如图 13-5 所示。这个着色器可用于调整光照的强度和颜色。要调整灯光生成的阴影的柔和度,请使用灯光的“大小”设置,该设置位于属性编辑器的对象数据标签中。

注意

避免将灯光的大小设置为 0,因为这会导致“萤火虫”现象——一种由单个亮点像素组成的噪声。如果你需要锐利的阴影,只需将大小设置为非常小的值,但不要设置为 0。

发射着色器在 Cycles 中同时用于灯光物体和网格发射物体。图 13-5。发射着色器在 Cycles 中同时用于灯光物体和网格发射物体。

Cycles 中的网格发射物体

Cycles 支持材质的光照发射,这意味着你可以通过应用包含发射着色器的材质,将任何网格变成光源。这个功能非常适合创建独特的光照设置以及在光泽反射中出现的光源。(我们将在为蜘蛛机器人设置光照时深入探讨这个功能。)对于网格发射器,你可以将发射着色器与其他着色器结合使用,通过 Add 和 Mix 节点(如第十二章所讨论)来实现。

世界设置和环境光与遮挡

在第十章中,我们为项目烘焙了环境光遮蔽贴图。环境光遮蔽贴图是一种模拟光线从物体周围各个方向照射并被物体本身遮挡的效果的纹理。这种效果类似于我们在阳光明媚的日子里看到的天空效果。主要光源是太阳,但光线也会在大气中散射,使其从各个方向照射,甚至照亮阴影。(这种效果在阴天尤为明显,因为缺乏直射阳光,物体的光照更均匀地来自各个方向。)

为了实现从场景周围环境中照射的光线效果,我们可以使用 Blender 的世界设置,这些设置可以通过属性编辑器的“世界”标签访问。此设置决定了场景背景的外观以及背景如何影响场景的照明效果。Blender Internal 和 Cycles 都支持世界光照,尽管方式略有不同。

Blender Internal 中的世界设置

Blender Internal 的世界设置如图 13-6 所示。最重要的设置如下:

地平线颜色/天顶颜色/环境光颜色。默认情况下,场景中的天空将简单地是地平线颜色。当开启 Blend Sky 时,将使用天顶颜色,渲染出从地平线颜色到天顶颜色的渐变背景。环境光颜色是一个固定颜色,它被添加到场景中每个表面的照明中,亮化阴影,但这种效果非常不真实,因此最好将其设置为黑色。

纸天/真实天纸天将应用于背景的任何纹理或混合模式应用到相机坐标上。当你有一张背景照片或图像想要保持原样不失真的时候,这会非常有用。真实天则在场景的全局坐标平面中创建一个带有真实地平线的背景,使得任何纹理在旋转相机时保持静止,天空中的任何混合效果都发生在“真实”的地平线以上(以及以下)。当使用全景或镜面球纹理作为背景时,真实天非常有用。

Blender Internal 的世界设置图 13-6. Blender Internal 的世界设置

环境光遮蔽。我们在第十章中遇到过环境光遮蔽。环境光遮蔽通过周围的几何体为表面增加光照或阴影。被几何体阻挡光线的区域会变暗,而暴露在外的网格部分则保持明亮。环境光遮蔽选项可以设置为加法(Add)或乘法(Multiply),与场景中的其他光照相结合。加法型环境光遮蔽会增强现有光照,而乘法型则添加阴影。乘法型是更“真实”的选项,更适合大多数场景。(环境光照设置无论如何提供了更好的工具来为场景增加更多光照。)

环境光照。这会为场景添加光源,光线来自各个方向(但会被附近的几何体阻挡,就像环境光遮蔽一样)。环境光照设置可以用来模拟户外场景中来自天空的散射光,或近似光线在场景中反射并照亮的效果。环境光照的颜色可以设置为白色、天空颜色(如果你使用的是渐变天空,它会使用地平线颜色或地平线和天顶的颜色),或者如果你使用背景纹理,也可以设置为天空纹理。

间接光照。此设置允许 Blender 内部渲染模拟光线反复反射的效果,从而照亮更多场景,直到光线进入相机或眼睛。结果可能会出现色彩溢出现象,其中一种色彩鲜艳的漫反射材质的颜色会反射到附近的物体上(如图 13-7 所示)。该方法仅与近似采样方法(下面讨论)兼容。因子(Factor)设置影响该效果的强度,而反弹次数(Bounces)设置决定了光线从表面反弹多少次仍然会被渲染。

收集(光线追踪和近似)。这些设置允许你在 Blender 内部的两种世界光照渲染选项之间进行选择。与灯光类似,光线追踪通过每个像素多次光线追踪采样来确定世界光照的强度。这个过程提供了更准确的结果,通常会增加渲染时间和噪点(如果采样次数设置得太低)。近似设置不需要光线追踪,并且没有噪点,但可能会产生其他伪影,例如某些区域的过度遮挡。增加渲染次数并将误差值设置得更低可以得到更好的结果,但渲染时需要更多的预处理时间。或者,使用修正参数可以减小遮挡强度,以补偿伪影。当使用近似收集方法时,开启像素缓存通常会得到更快的结果。

衰减。衰减下的衰减值设置使得环境光照、环境照明和间接光照在一定距离内逐渐减弱,减少远距离几何体对表面影响的程度,并使表面变亮。衰减还加速了渲染,因为计算一个表面点的光照时,只需要考虑附近的几何体。强度设置决定了衰减的强度,而距离设置(仅适用于光线追踪收集方法)决定了衰减的范围。

间接光照中的色彩溢出。这里,红色球体将红色光反射到周围环境中。这在灰色内球上最为明显。这是一个微妙的效果,因此右侧只显示了间接光照。周围环境也贡献了间接光照,如右侧图像中的灰色调显示。图 13-7. 间接光照中的色彩溢出。这里,红色球体将红色光反射到周围环境中。这在灰色内球上最为明显。这是一个微妙的效果,因此右侧只显示了间接光照。周围环境也贡献了间接光照,如右侧图像中的灰色调显示。

Cycles 中的世界设置

在 Cycles 中,世界设置是基于节点的,并使用与材质和灯光相同的着色器系统。世界设置仅使用背景着色器节点,它为场景提供光照,并设置背景颜色或纹理(取决于你提供的输入),以及背景光照的强度。标准的背景节点树如图 13-8 所示。

你可以像其他材质一样,通过使用纹理、图像和颜色来影响背景的颜色。特别有用的是天空纹理节点和环境纹理节点。天空纹理节点创建一个程序化的天空,使用你通过拖动节点的球体输入设置的方向,且大气散射程度由浑浊度设置决定。当与带有黄色橙色(日光)颜色的太阳灯结合时,这种效果尤其出色,能够获得一些基本的户外光照效果(见图 13-9)。

Cycles 中的世界设置标准节点树图 13-8. Cycles 中的世界设置标准节点树!将背景的天空着色器与太阳灯结合,能够很好地模拟户外光照。左图:天空着色器。右图:天空光照与太阳灯结合的光照效果。图 13-9. 将背景的天空着色器与太阳灯结合,能够很好地模拟户外光照。左图:天空着色器。右图:天空光照与太阳灯结合的光照效果。

Cycles 还支持环境光遮蔽,可以用来为场景添加白色环境光,遮蔽效果基于面之间的距离。你可以通过使用属性编辑器中的环境光遮蔽选项卡,在世界选项卡中启用此效果。

在世界选项卡下的设置中,还有一个选项可以将背景作为灯光进行采样。当使用纹理背景时,特别是当使用 HDRI(高动态范围图像)贴图进行背景光照时,启用此选项可以显著加快渲染速度(见图 13-10)。

蝙蝠生物的光照

对于蝙蝠生物,我想要戏剧性的光照效果,使角色看起来既危险又令人不安。我需要一些深色的阴影和强烈的光照,这样就不会透露太多信息。为了创建这种效果,我使用了三点光照设置,这种设置通常用于人物和肖像的光照。此外,我还需要设置我的灯光,创建与生物毛发的良好阴影,并从生物背后进行照明,以便光线能够通过翅膀的皮肤散射出来(使用我们在第十二章中创建的次表面散射材质)。

启用“背景纹理信息”作为灯光可以加速在渲染时减少噪声的过程。在此,使用了 HDRI 地图来照亮场景。左图:关闭“背景纹理信息”作为灯光(30 次通道)。右图:启用“背景纹理信息”作为灯光,且地图分辨率设置为 256(同样是在 30 次通道后)。图 13-10. 启用“背景纹理信息”作为灯光可以加速在渲染时减少噪声的过程。在此,使用了 HDRI 地图来照亮场景。左图:关闭“背景纹理信息”作为灯光(30 次通道)。右图:启用“背景纹理信息”作为灯光,且地图分辨率设置为 256(同样是在 30 次通道后)。

三点式照明

三点式照明被认为是许多肖像和电影摄影的“标准”照明布置,因为使用三盏灯光能够获得一种宜人、自然的外观,可以适应许多不同的环境并取得良好的效果。

主光源

三盏光源中的第一盏——主光源——是场景中的主要光源,通常放置在稍微高于主体的一侧,以提供一些有趣的照明。

对于蝙蝠生物,我在角色的上方并略微偏左(从相机的角度看)添加了一个聚光灯,如图 13-11 所示。主光源将提供大部分照明,因此我将其强度设置得很高(大约为 12),并将距离设置得很低(大约为 3),使得光的强度能够相对快速地衰减。我给光源加上了蓝色的色调,如图所示。

主光源的效果图 13-11. 主光源的效果

辅光

下一个光源——辅光——通常放置在主光源的对面,通常从另一侧照亮主体,通常为主光源投射的阴影添加一些微妙的光线。由于我希望蝙蝠生物的阴影非常深,我将辅光的强度设置为 0.5,距离设置为 6。我将其颜色设置为红色调,以与蓝色的主光源形成对比。辅光的效果如图 13-12 所示。

注意

虽然辅光通常来自主体的对面,但我将辅光放置在角色的右侧(相机的左侧),因为蝙蝠生物的左翼(相机右侧)遮挡了身体。

背光

背光(有时也叫做轮廓光)是从背后照亮一个对象,通常会在对象的边缘添加微妙的高光。这种光源对蝙蝠生物尤其重要,因为它通过翅膀和耳朵散射光线。我将其强度设置为高(到 10),距离设置为 10,以便光线足够明亮,能够透过翅膀照射(见图 13-13)。总的来说,关键光、填充光和背光共同产生了最终的照明效果,如图 13-14 所示。

灯光定位

定位三种光源时,需要考虑你希望照亮模型的哪些部分,以及你希望光线从哪里来,然后进行一些反复试验。为了帮助这一过程,并且能更快地获得关于灯光效果的反馈(而不需要每次都渲染),可以使用 Blender 的 GLSL 着色模式来实时查看灯光在 3D 视图中的效果(见图 13-15)。这对于聚光灯尤其有效,因为 GLSL 也支持缓冲阴影,这意味着 GLSL 预览的效果会接近最终渲染效果。通过进入 3D 视图窗口顶部设置并将着色模式设置为纹理,可以开启此着色模式。然后,在属性区域的显示选项中,将着色类型设置为GLSL(按N键显示 3D 视图中的属性区域)。之后,你可以自由移动光源,并实时查看其效果。

填充光源为阴影增加了微妙的照明。图 13-12。填充光源为阴影增加了微妙的照明。背光源在角色的轮廓周围提供高光(即在肩膀和后脑勺)。在这种情况下,它还通过翅膀和耳朵散射光线。图 13-13。背光源在角色的轮廓周围提供高光(即在肩膀和后脑勺)。在这种情况下,它还通过翅膀和耳朵散射光线。三种光源共同作用,形成最终的照明效果。图 13-14。三种光源共同作用,形成最终的照明效果。使用 GLSL 着色模式进行灯光位置调整反馈图 13-15。使用 GLSL 着色模式进行灯光位置调整反馈

GLSL 着色支持除了面积光源外的所有光源,尽管它仅为带有缓存阴影的聚光灯渲染阴影。

黏土渲染和材质重载

另一种了解你的光照效果的方法是通过渲染场景并将相同的材质(通常是平面漫反射材质)应用于每个物体。通常称为黏土渲染,这可以让你看到光照在孤立情况下的表现,并且有助于检查你的渲染问题是由于光照还是材质造成的。

要快速设置黏土渲染,可以在属性编辑器的渲染选项卡中使用材质重载选项。创建一个新的平面灰色材质(只需使用默认材质并降低高光度),并将其分配给层面板中的材质重载选项,以便在不使用纹理和材质的情况下渲染场景,如图 13-16 所示。按 F12 进行渲染。(有关渲染的更多内容,请参阅第十四章)

使用材质重载设置的蝙蝠生物黏土渲染图。在这里,我创建了一个名为 Flat 的材质,并将其分配给渲染层面板中的材质重载选项。这个技巧可以让你看到模型在孤立情况下的光照效果。图 13-16. 使用材质重载设置的蝙蝠生物黏土渲染图。在这里,我创建了一个名为 Flat 的材质,并将其分配给渲染层面板中的材质重载选项。这个技巧可以让你看到模型在孤立情况下的光照效果。

阴影和毛发

虽然光线追踪或缓存阴影对于大多数蝙蝠生物来说都很合适,但我们的毛发有更具体的光照要求。为了获得最佳效果,请在每个关键、填充和背景光源上使用深阴影缓存,并根据表 13-1 中所示的其他设置进行调整。

表 13-1. 蝙蝠生物场景中的阴影缓存聚光灯设置

关键 填充 背景
滤镜类型 高斯 高斯 高斯
12 30 10
偏差 0.2 0.2 0.2
样本缓存 1 1 1
大小 2048 2048 2048
样本数 16 16 16

眼睛的光照

眼睛是大多数角色的重要部分,确保它们被正确照明非常关键。有时,这意味着通过为眼睛添加单独的光源来“作弊”,从而获得你想要的效果。对于蝙蝠生物,我将两个眼睛对象放置到自己的图层上(按M将对象移动到其他图层),然后将一盏 Hemi 灯照向它们。我将灯的强度设置得较低(大约为 0.05),这样光源主要来自现有的聚光灯。接着,我关闭了灯的镜面反射选项,以防它对镜面反射产生影响。然后,我在灯的设置中开启了“仅此图层”,这样灯光只会照亮眼睛对象,增加了一些额外的光照,使眼睛更加突出。

地面阴影

虽然我没有为蝙蝠生物创建背景,但我知道在它的脚下加入一些阴影会改善最终渲染效果。为了单独生成阴影,我使用了材料的“仅阴影”选项。我向场景中添加了一个平面,并为其分配了一个新材料。然后,在材料设置中,我开启了透明度(设置为遮罩),并在阴影面板中开启了“仅阴影”选项。这个新材料(见图 13-17)只会渲染其他物体投射的阴影,其余的网格部分将完全透明。稍后,这将使我能够轻松地将这些阴影合成到最终渲染的背景中。我将平面缩放到足以接收蝙蝠生物的所有阴影,并使用 GLSL 着色模式作为参考。

使用仅阴影材料在地面投射阴影,白色背景上显示图 13-17. 使用仅阴影材料在地面投射阴影,白色背景上显示

蝙蝠生物的世界设置

对于蝙蝠生物,我不需要做太多的世界设置,因为我稍后会合成一个简单的背景;我只需要开启环境光遮蔽。为此,我在属性面板的世界选项卡中启用了环境光遮蔽,并将其设置为乘法模式,因子为 1.0。对于采样方法,我选择了近似(Approximate)。我将通道数设置为 1,并开启了衰减(Falloff),强度为 1。这些设置与头发效果非常兼容,使用这些设置意味着在渲染时我不需要做光线追踪,因为我已经为其他光源使用了缓冲阴影。

这完成了蝙蝠生物的光照设置。我们将在第十四章中回到渲染部分。

点亮蜘蛛机器人

我们将使用 Cycles 渲染 Spider Bot。在这个项目中,我希望有明亮、动态的光照来展示角色的光滑表面。我通过混合网格灯光和灯光对象达到了这一效果。由于我不会使用世界光源,因此在属性编辑器的世界选项卡中,我将世界背景的颜色设置为黑色,并将其强度设置为 0,然后继续操作。

Spider Bot 的主要光源来自右侧的一个点光源对象,该光源具有橙色和高强度,如图 13-18 所示。这个光源由上方的一个网格灯光补充,网格灯光由多个带有发光材质的平面组成。为了创建这种光源,我添加了一个新的平面对象并将其移动到场景上方。接着,在编辑模式下,我多次复制了这个面,并使用 Blender 的捕捉工具(设置为增量)将平面对齐为网格。然后,我沿着x轴缩放整个平面阵列,使其呈现矩形。

为了让这些平面发光,我为它们分配了一个新的材质,并在节点编辑器中添加了一个发射着色器节点,并将其输出连接到材质输出节点(见图 13-18)。我为发射着色器设置了蓝色,并将强度设置为 10。由于这些光源是网格,而不仅仅是光源,它们不仅照亮了场景,还在 Spider Bot 光滑的绿色表面上产生了反射,特别是在背部,如图所示。

通过 Cycles 中的渲染预览着色模式,调整光源的强度和颜色变得非常简单。3D 视口的渲染预览可以在调整灯光时提供即时的反馈,帮助你查看灯光效果。(有关 3D 视口渲染预览的更多内容,请参见第十四章。)

为蜘蛛机器人场景添加光源。蜘蛛机器人的右侧是橙色点光源,点光源上方是网格灯光,它们的材质在左侧的节点编辑器中可见。Cycles 渲染预览是即时反馈照明效果的好方法。 图 13-18. 为蜘蛛机器人场景添加光源。蜘蛛机器人的右侧是橙色点光源,点光源上方是网格灯光,它们的材质在左侧的节点编辑器中可见。Cycles 渲染预览是即时反馈照明效果的好方法。

照明丛林神庙

丛林神庙的照明设置需要更复杂的布局,但我们仍然可以利用 Cycles 渲染预览来即时查看照明效果。在这个场景中,我想要创造一种夜间气氛,让神庙入口处的光线呈现出明亮、火热的橙色。

世界背景

由于我将在没有世界光照的情况下照明丛林神庙场景,因此我将世界背景色设置为黑色,强度为 0。

神庙入口照明

我们从神庙入口处的光源开始,因为这是对场景影响最大的光源。我使用了几个光源来创建这个照明效果。第一个光源是隧道尽头的网格发射器(不在相机视野内);我给它分配了红色和橙色的发射材质,提供贯穿隧道并稍微延伸出去的橙色光。我将这些发射材质的强度设置为大约 40。

为了将光源进一步扩展到周围环境,我在隧道口附近创建了一个黄色-橙色的点光源。我给它设置了较高的强度,以照亮更多的周围区域,并将点光源的大小设置为 1.5,以产生柔和的阴影。这些光源可以在 图 13-19 中看到。

填充照明

为了进一步增加光源,我在场景中央上方创建了一个较大的软点光源,以提供一些基础照明。我还在相机后方的侧面增加了一个较小的硬光源,以稍微照亮前景物体。我将这两个灯的颜色设置为偏蓝色,这让场景呈现出蓝色的月光效果,尤其是在没有隧道橙色光照的地方。(蓝色和橙色也相互对比得很好。)这些光源可以在 图 13-20 中看到。

背光

我还从右侧添加了一些照明,来自寺庙背后,目的是突出叶子并为寺庙墙上的岩石提供轻微的轮廓光。这个光源来自两盏灯:一盏长而浅的网格灯,主要照亮叶子的背面;以及一盏点光源,提供来自该方向的额外照明(见图 13-21)。整体效果如图 13-22 所示。

寺庙入口的照明图 13-19. 寺庙入口的照明

关于柔和阴影的说明

虽然柔和的阴影看起来很美,但它们确实会大大增加渲染时间。我最终在这个场景中使用了不少带有柔和阴影的灯光,结果渲染花费了相当长的时间。这对于静态图像来说不算什么问题,但如果你想渲染动画或需要快速结果,请记得这一点,并考虑使用投射较硬阴影的灯光,或者使用一些不投射光线追踪阴影的灯光。

寺庙入口的照明结合了一些蓝色填充光照图 13-20. 寺庙入口的照明结合了一些蓝色填充光照来自一个网格灯和点光源的背光图 13-21. 来自一个网格灯和点光源的背光

一般照明技巧

照明对图像的感觉影响很大,你可以通过照明做很多事情来改变主题的呈现方式。以下是一些技巧,可以帮助你提高照明渲染的效率,并使其在艺术表现上更为出色。

进行实验。 我为所有项目尝试了许多不同的照明设置。对于丛林寺庙场景,我尝试了白天和夜间照明;而对于蝙蝠怪物和蜘蛛机器人,我实验了多种方向和颜色。创造出优秀的效果需要通过实验。

使用测试渲染和预览。 使用 Blender 内部的 GLSL 着色和 Cycles 渲染预览来实时预览你的照明效果。进行测试渲染以确保你的照明效果正常。

少即是多。 尽量减少使用灯光的数量,以简化调整照明的过程,并更容易看出哪些灯光对图像的影响最大。

丛林寺庙场景的照明。这个效果将在第十四章通过合成进行微调。图 13-22. 丛林寺庙场景的照明。这个效果将在第十四章通过合成进行微调。

阴影设置。 尽管将所有灯光设置调到最大以获得最好的阴影效果是很有诱惑力的,但实际上往往不需要这么做。你可以通过实验,尽量减少那些显著增加渲染时间的设置,例如阴影样本和阴影缓冲区的大小。例如,柔和的阴影并不需要高分辨率的阴影缓冲区,而清晰且边缘锋利的阴影则不需要大量的样本。一旦你获得了喜欢的光照效果,可以尝试确定哪些设置可以调低,而不影响光照效果,从而加速渲染过程。

充分利用阴影缓冲区。 阴影缓冲灯的分辨率是分布在灯光的锥形区域内的。为了最大限度地利用它,可以通过减小其角度来限制灯光,仅覆盖模型部分(在对象数据面板中的 Spot Shape 下调整 Size),确保不会将阴影缓冲区的分辨率浪费在不产生阴影的区域。

使用对立色。 在照明时,运用色彩理论可以为你带来好处。通常,对立色(在色轮上相对的颜色组合,例如橙色和蓝色或绿色和紫色)作为主光和填充光的搭配效果很好(见图 13-23)。自然光往往遵循这一模式:阳光是橙色的,而大气中的散射光则是蓝色的。

定向光照和人物。 你选择从哪个方向照亮一个人物,可以改变它的呈现方式。从上方照亮通常看起来威严而庄重,而从下方照亮则显得可怕且威胁。几个示例见于图 13-24。

对立的颜色通常能产生令人愉悦的光照效果。左到右:橙色主光源与蓝色填充光,蓝色主光源与橙色填充光,绿色主光源与紫色填充光。图 13-23。对立的颜色通常能产生令人愉悦的光照效果。左到右:橙色主光源与蓝色填充光,蓝色主光源与橙色填充光,绿色主光源与紫色填充光。光照方向会改变我们对角色的感知。左到右:从上方照射的光显得威严,从下方照射的光显得诡异,背后的轮廓光则营造出不祥的剪影。图 13-24。光照方向会改变我们对角色的感知。左到右:从上方照射的光显得威严,从下方照射的光显得诡异,背后的轮廓光则营造出不祥的剪影。

总结

在这一章中,我们探讨了 Blender Internal 和 Cycles 中的光照设置,首先讨论了 Blender 提供的不同类型的灯具及其在 Blender Internal 和 Cycles 中的功能差异。我们研究了处理阴影的不同方法,包括光线追踪阴影和缓冲阴影,并探讨了它们的优缺点。我们还研究了 Blender 的世界设置及其对光照的影响。

对于蝙蝠生物,我们讨论了如何创建三点光照设置,以为模型增添戏剧性的效果,并研究了如何为有毛发的角色设置最佳阴影。在蜘蛛机器人和丛林神庙项目中,我使用了多种光源和网格发射物体的组合来点亮场景,创造出动态光照效果。当我在 Cycles 中使用灯光时,Cycles 渲染预览非常有用,可以实时反馈我们灯光的效果。即使在 Blender Internal 中,我也使用了 GLSL 着色来对场景中的光照和阴影进行初步反馈。

在下一章中,我们将渲染场景,并为我们的项目进行最终的颜色校正和合成。我将介绍 Cycles 和 Blender Internal 的渲染选项,并讲解如何在获取最佳渲染效果的同时优化渲染时间。我们还将探讨基于节点的合成,使用 Blender 的合成器,以及如何在 GIMP 中创建背景和进行最终调整。

第十四章 渲染与合成

在本章中,我们将进入项目的最后阶段,将每个场景转化为渲染图像,并调整它们使其看起来最佳。我们首先查看 Blender 的渲染设置,包括 Blender Internal 和 Cycles,以确定如何在最短的时间内获得最佳渲染效果。随后,我将介绍如何使用 Blender 的基于节点的合成器进一步优化、调整并调色,将这些渲染图像处理成最终图像。最后,我们将使用 GIMP 对渲染图像做些许调整。

渲染选项卡

我们在第十章中曾使用渲染选项卡来烘焙纹理。在本章中,我们将深入研究此选项卡中的其他设置。许多设置取决于使用的渲染器——Blender Internal 或 Cycles——因此我们将依次查看每种渲染器。

使用 Blender Internal 渲染

Blender Internal 的渲染选项卡如图 14-1 所示。让我们来看看每个面板中的可用设置。

渲染面板

这里包含了渲染动画和回放结果的按钮。

图像/动画。这些按钮渲染当前帧(F12),或者渲染由“尺寸”面板中的“帧范围”设置指定的帧范围内的每一帧作为动画(CTRL-F12)。你可以通过播放按钮回放渲染后的动画。

显示。显示设置让你设定渲染后的图像将显示的位置。如果可能,图像编辑器选项将渲染图像到一个可用的 UV 图像编辑器中,或者如果需要,渲染时临时切换其他编辑器为 UV 图像编辑器。其他选项允许你全屏渲染、在新窗口中渲染,或在后台渲染(保持 UI)。

Blender Internal 中属性编辑器的渲染选项卡 图 14-1. Blender Internal 中属性编辑器的渲染选项卡

层面板

层面板包含了创建不同渲染层的工具和选项,以及选择哪些场景层会对最终渲染产生影响。面板顶部的层选择器让你选择要处理的渲染层。右侧的复选框用于启用或禁用渲染特定的层;右侧的 + 和 按钮用于添加或删除渲染层。

名称。这个选项允许你为选中的层命名。

场景/图层/蒙版图层。这三个复选框组让您选择在最终渲染中使用哪些场景图层,以及如何使用它们。在场景下启用某个图层会使该图层在 3D 视口中显示(就像在 3D 视口头部的图层复选框一样)。图层必须在场景下勾选,才能进行渲染。在图层下启用图层,使其在当前选定的渲染图层中渲染;您可以在场景下打开多个图层,但只有在图层下勾选的图层会被渲染。在蒙版下勾选的图层(但未在图层下勾选)会遮挡其他图层中的几何体,如图 14-2 所示。

光源。光源选项允许您指定一组光源,在渲染时将其作为场景中的唯一光源进行处理。

材质。如粘土渲染与材质覆盖中所讨论的,材质选项允许您在渲染时使用单一材质覆盖场景中的材质。在第十三章中,我们使用此选项对蝙蝠生物项目进行粘土渲染,以便测试光照效果。

包含。此选项提供多个复选框,详细描述了在渲染此图层时需要呈现的表面类型和效果。例如,您可以开启或关闭渲染z透明材料、毛发或固体材料。

通道。在一个图层内,Blender 可以渲染其他类型的信息,并将图像的各个方面分割成不同的通道,例如阴影、环境光照和z深度(从相机到物体的距离)。该通道只包含这些数据,可以用于合成最终图像。例如,您可以使用z深度通道作为 Defocus 节点的输入来创建景深效果,或者使用环境光遮蔽通道为图像添加额外的阴影。使用通道下的复选框来启用或禁用不同的通道。通过切换通道名称右侧的相机图标,某些通道可以从主渲染通道中排除。

尺寸

此面板允许您设置渲染或动画的时间(帧)和空间(分辨率)维度。分辨率设置让您选择最终渲染的大小,而帧范围设置用于指定动画中的帧数。宽高比设置图像像素的宽高比(某些视频格式使用非方形像素,但对于静态图像,总是使用方形 1:1 像素)。

使用图层作为遮罩图层。这里猴子物体放置在图层 2 上,其他所有物体放置在图层 1 上。左侧,两个图层都在“图层”下勾选,一切按预期渲染。右侧,图层 2 被用作遮罩图层,因此你可以看到猴子头部遮挡其他物体的位置,形成透明空洞。图 14-2. 使用图层作为遮罩图层。这里猴子物体放置在图层 2 上,其他所有物体放置在图层 1 上。左侧,两个图层都在“图层”下勾选,一切按预期渲染。右侧,图层 2 被用作遮罩图层,因此你可以看到猴子头部遮挡其他物体的位置,形成透明空洞。

你可以使用边框和裁剪设置来渲染图像的一小部分,而不是整个图像。为此,切换到 3D 视口中的相机视图(NUMPAD 0)。然后按下 SHIFT-B 并拖动出一个矩形,覆盖你希望限制渲染区域的部分。这将自动启用边框设置。使用裁剪设置将图像的尺寸缩小到你的边框区域的大小;否则,剩余区域将被填充为黑色。

抗锯齿和运动模糊

锯齿效应是像素图像中的一种伪影,因图像的有限分辨率导致锐利的边界看起来呈锯齿状(参见图 14-3)。锯齿效应通常最明显出现在物体的轮廓或阴影上,但它也可能出现在纹理或高光中。抗锯齿通过对每个像素进行多个子采样,偏移略有不同并将其混合,从而解决这个问题,生成更加平滑的边界,正如图中所示。

抗锯齿减少渲染中锯齿边缘的出现。左:无抗锯齿。右:开启抗锯齿并将子采样数量设置为 8。图 14-3. 抗锯齿减少渲染中锯齿边缘的出现。左:无抗锯齿。右:开启抗锯齿并将子采样数量设置为 8。

使用抗锯齿面板左侧的数字来确定将进行多少个采样(更多的采样会导致渲染更加平滑,但渲染时间也会变长)。右侧的下拉菜单设置了用于混合样本的滤镜类型:默认的 Mitchell-Netravali 滤镜能够在不削弱图像清晰度的情况下提供良好的结果,但当处理高分辨率图像时,可以尝试使用高斯滤镜。使用“完整采样”选项可以让 Blender 在合成过程中保持每个样本的独立性,这有助于解决合成阶段的锯齿问题。

采样运动模糊类似于抗锯齿,不同的是它在不同的时间而不是不同的位置对每个像素进行多次采样。这样在样本合成后,会对快速移动的物体产生运动模糊效果。(本质上,图像被渲染多次,然后将结果混合。)采样的数量由运动采样设置决定,采样时间的帧数由快门设置决定。

Shading

Shading 面板让你开启或关闭不同的渲染选项,包括纹理、阴影、次表面散射、环境映射和光线追踪选项。为了加速渲染,可以关闭不需要的阴影选项。

Alpha 下拉菜单让你选择如何渲染图像的背景。Sky 渲染你在全局设置中设置的天空颜色和纹理。Straight Alpha 和 Premultiplied 选项将图像的背景渲染为透明。在 Premultiplied 的情况下,透明或部分透明像素的 RGB 值将在输出时与 alpha 值相乘。这种编码 alpha 值的方法也被称为关联 alpha,并且对于某些图像格式(如 TIFF 和 PNG)是必需的。它对于合成也很有用,因为以这种方式合成图像会产生更好的效果,尽管 Blender 的合成器有工具来处理预乘和非预乘 alpha。Straight Alpha 跳过这一步,而是渲染非关联 alpha 图像。

注意

如果上面关于不同编码 alpha 值方法的讨论让你觉得复杂,那是因为它确实很复杂。我这里只做了非常简要的介绍,但它实际上是一个相当深奥的话题。欲了解更多信息,可以尝试搜索 www.blender.org/ 和 Blender Wiki 的颜色管理内容。

性能

性能面板包含一些选项,这些选项会影响 Blender 渲染的速度,以及渲染对你计算机资源的影响。Blender 会将图像分割成多个瓦片,然后逐个瓦片进行渲染。最重要的设置是线程和瓦片。设置为固定时,这些设置允许你指定一次渲染多少瓦片(最多是处理器核心数量的两倍)。

Tiles 设置决定了要渲染的图像如何沿 xy 轴被分割成瓦片。每个线程一次渲染一个瓦片,这意味着如果你有八个线程,你可以同时渲染八个瓦片。

调整 Tiles 设置可以显著影响你的渲染时间。使用过少的 Tiles 可能意味着一旦所有可用的 Tiles 被渲染完,处理器线程就会处于空闲状态,即使图像还有很多内容未渲染。使用过多的 Tiles 则会消耗更多的内存,而不会加速渲染。最佳的 Tiles 数量通常在 16(4×4)和 64(8×8)之间,更复杂的场景可以从更多的 Tiles 中受益。

该面板中的其他设置更加技术性,通常可以保留默认设置。如需了解更多有关这些设置的信息,可以参考wiki.blender.org/

后期处理

后期处理设置决定了应用于图像的后期处理效果。相关的选项是可以打开合成和序列器的复选框(合成应该被打开)。抖动效果会为像素的颜色添加微妙的变化,防止在具有平滑渐变的图像中出现颜色带状现象。边缘设置会在图像的几何体周围绘制卡通线条,线条效果的强度由阈值设置决定,线条的颜色由阈值设置下方的颜色选择器决定。

Stamp

Stamp 设置允许你在图像上印上有关渲染的数据,例如渲染时间、文件名、帧编号等。在渲染动画时,Stamp 非常有用,但对于我们的项目来说并不太有用。

输出

输出设置决定了渲染结果保存的位置和格式。动画帧会自动保存,但单帧图像需要手动保存。默认的输出目录(在 Mac 和 Linux 系统上是/tmp/,在 Windows 上是 Temp 文件夹)决定了动画帧的保存位置,但你可以将其更改为你选择的目录。输出格式由下拉菜单决定,菜单中包括保存颜色信息的选项(黑白、RGB 或 RGB 和 Alpha)。

烘焙

这些设置在第十一章中有详细讨论。

使用 Cycles 渲染

在 Cycles 中,许多渲染选项保持不变,所以我这里只会介绍重要的差异。

采样

采样面板决定了图像中每个像素计算的样本数量,这是 Cycles 确定最终图像质量和噪点的主要方式。渲染和预览选项决定在结束渲染之前,每个像素渲染多少样本。(使用渲染进行正式渲染,使用预览进行 3D 视口中的 Cycles 预览。)更多的采样次数会减少噪点,但获得无噪点图像所需的次数会根据场景内容的不同而有所不同。种子设置了 Cycles 用于采样的随机值,不同的种子会产生不同的噪点模式。

你可以使用 Clamp 选项来防止萤火虫现象,即由强光源或镜面高光引起的噪点,导致过亮的像素。为此,将样本的最大亮度(clamp 值)设置为非零数值(大约 3 的值效果不错)。这可以防止过亮的样本过度影响像素的平均值,尽管这会牺牲一些渲染的准确性。(如果你保持默认值 0,这个功能将不会启用。)

Light Paths

Light Paths 面板补充了 Samples 面板中的选项,使你可以更深入地了解 Cycles 渲染场景的方式。具体来说,Light Paths 面板让你决定渲染哪些类型的光线,以及计算多少次反弹才会终止光线。更多的反弹能提供更准确(且稍微更亮)的渲染效果,但代价是更长的渲染时间。

Transparency、Light Paths 和 Bounce 设置定义了 Cycles 在每种光与物体互动时计算的最大光线反弹次数。Max 设置决定了反弹的最大总数,而其他设置则限制特定类型的光线反弹次数。Transparency 和 Overall Bounces 的 Min 设置可以提前终止折射光线,从而在牺牲一定准确度的情况下加速渲染。

"No Caustics and Shadows" 选项允许你开启或关闭焦散和光线追踪阴影,从而加速渲染。焦散是经过光滑表面反射或折射的光线,这些光线会对漫反射光照产生贡献。例如,游泳池中的阳光亮斑和放大镜聚焦的光线在表面上的效果。

电影

你可以使用 Film 面板中的 Exposure 设置来调整渲染的曝光度,从而整体增加或减少场景的亮度。(然而,为了更精细的控制,最好调整灯光的设置。)Transparency 复选框决定是否以透明背景渲染,或使用全局设置。右侧的下拉菜单设置像素过滤器类型(下方是过滤器的宽度)。较小的宽度会产生更锋利的边缘,但可能会导致锯齿状效果。较大的宽度会带来更平滑的渲染效果,但会有少许模糊。

在层方面,Cycles 的工作方式与 Blender Internal 类似,但提供了不同范围的通道。Cycles 会将每种类型的光线(漫反射、光泽和传输)分割为单独的通道,并可以将这些通道进一步细分为直接和间接通道。在合成时,这些功能可能非常有用。

渲染时间与质量的平衡

在渲染任何计算机图形场景时,目标是以最短的时间获得最佳的渲染效果。考虑到可以调整的变量众多,且它们都会影响渲染时间,这可能会有些棘手。不过,依然有一些通用的原则。

从简单开始并保持有序。 将你的物体组织到图层中,这样更容易渲染场景的不同部分。同时,确保在渲染时没有任何不需要的物体出现在可见图层上。

实验。 如果你的渲染速度很慢,尝试一次改变一个设置,看看哪个设置对渲染时间影响最大。例如,改变渲染设置或灯光的采样数,或者启用或禁用材质的某个方面,比如次表面散射或光线追踪反射。一次只改变一个设置能让你准确看到哪个设置最有影响,而改变多个设置则会让你猜测是哪个设置改变了渲染时间。如果你发现某个设置特别减慢了渲染速度,但对最终图像贡献不大,就把它去掉。

最小化多余的几何体。 一旦你找到了想要的相机角度,就开始删除那些在渲染中不会被看到的物体,或者暂时将它们移到其他图层。这样可以减少 Blender 在渲染时需要追踪的几何体数量,从而加快渲染速度!在处理环境时,这个技巧尤其有用。

简化光照设置。 尝试简化灯光的设置,看看是否可以去除一些灯光。特别是,查看阴影设置:较小的阴影缓冲区分辨率是否真的会有很大差异,还是光线追踪灯光并不需要那么多的采样?

随着你对 Blender 越来越熟悉,你将很快学会哪些设置会影响不同场景方面的渲染时间。与此同时,你花费的时间去实验和简化场景,几乎总是能加快渲染时间。

合成器

你已经按下了 F12 来渲染,并且图像完成了,对吧?其实不完全是。现在是时候使用 Blender 的合成器和 GIMP 对最终渲染结果进行后期处理了。Blender 的合成器基于节点,并使用节点编辑器(我们在编辑节点材质一节中探讨过)。在这一节中,我将向你展示如何使用合成器应用效果,比如景深、辉光和色彩分级,以及如何将不同的渲染层合成为一张最终图像(参见图 14-5)。我还将向你展示如何使用 GIMP 进行绘画和修饰。

渲染与合成蝙蝠生物

我想在暗色背景上展示最终的蝙蝠生物,并进行一些色彩分级。为了实现这个目标,我将渲染分成了两层:一层用于毛发,另一层用于身体的其余部分。我计划在合成器中创建一个简单的深色背景,并加上轻微的暗角效果来加深角落,保持注意力集中在蝙蝠身上。

渲染层

作为将蝙蝠生物分割成两个渲染层的第一步,我将场景分成了四个场景层。在(场景)层 1 上,我放置了身体(带有细分曲面和位移修饰符)以及牙齿和指甲。层 2 上,我放置了眼睛对象,以及我创建的仅照亮眼睛的 Hemi 光源(使用“仅此层”选项来设置灯光)。在层 3 上,我放置了用于创建头发的复制身体(在粒子面板的渲染选项卡中关闭了“发射器”,确保只渲染头发)。最后,在层 4 上,我放置了我的灯光、相机和地面平面。

接下来,我设置了两个渲染层。在第一个层上,我在“层”面板的“包含”设置中禁用了“Strand”选项。对于另一个层,我禁用了“Solid”选项,以便在渲染时不会渲染普通网格,而我的发丝会被渲染。我将第一个层命名为body,第二个层命名为strand

对于“body”层,我在“层”面板的“通道”中启用了环境遮挡通道。渲染结果是两个独立的层,如图 14-4 所示。查看渲染结果(从图像选择器下拉菜单中选择Render Result),你可以在 UV 图像编辑器的标题栏的下拉菜单中切换这些层。

在“层”面板中,你选择的选项和设置仅适用于当前选定的渲染层。在渲染标签的其他面板中,选项适用于所有渲染层。我在“着色”面板中将 Alpha 选项设置为“Straight Alpha”,并关闭了光线追踪以加快渲染速度。(由于我使用的是缓冲阴影为聚光灯和近似环境遮挡,所以不需要使用光线追踪。)我在“尺寸”面板中将渲染尺寸设置为 2200×3000 像素,然后按下“渲染”(F12)开始渲染。

合成通道

渲染后,我使用 Blender 的合成器将各层合成在一起。我希望通过合成器实现某些效果,顺序如下:

  1. 为身体渲染层添加一些额外的环境遮挡。

  2. 将身体层和毛发层合成到一张具有纯背景的图像中。

  3. 使用辉光效果软化图像中的光照。

  4. 对图像进行一些基础的色彩分级。

  5. 为图像添加晕影效果。

蝙蝠生物的两个渲染通道图 14-4. 蝙蝠生物的两个渲染通道

这些效果(就像合成器中的所有操作一样)需要按特定顺序应用。因为每个节点按照连接的顺序处理,所以改变你应用节点的顺序会对图像产生很大的影响。开始合成前,确保启用了“使用节点”,并且你正在编辑合成节点(而不是材质或纹理)。默认的合成节点树应该如图 14-5 所示。

初始的 Render 节点将使用你在 Layers 面板中创建的第一个渲染层,在我的例子中是主体层。我添加了第二个 Render Layer 节点(SHIFT-A▸Input▸Render Layer)来保存我的发束渲染层,并在 Render Layer 节点底部的下拉菜单中选择它。

Blender 合成器的默认节点树相当简单。你连接到 Composite 节点插座的任何内容都会成为最终渲染输出。 图 14-5。Blender 合成器的默认节点树相当简单。你连接到 Composite 节点插座的任何内容都会成为最终渲染输出。

额外的环境光遮蔽

接下来,我使用了一个混合节点(SHIFT-A▸Color▸Mix)来增强主体渲染层上的环境光遮蔽效果。我将混合节点的混合模式设置为 Multiply,并使用主体渲染层的图像输出作为第一个输入。我使用了环境光遮蔽通道(来自标记为 AO 的插座)作为第二个输入。

为了增强效果,我用曲线节点将环境光遮蔽通道变暗,然后将其与图像相乘。为此,我添加了一个 RGB Curves 节点,并将其插入到渲染层节点的环境光遮蔽输出和 Multiply 节点之间。为了快速完成此操作,拖动节点到其他两个节点之间的连接上(你应该看到连接高亮显示),然后释放它将其插入到这两个节点之间。

最后,我将 RGB Curves 节点上的曲线变得更加陡峭(参见图 14-6)。

结合主体和毛发

接下来,我添加了一个 Alpha Over 节点(SHIFT-A▸Color▸Alpha Over),将主体连接为第一个输入,毛发连接为第二个输入。为了在合成具有直通 Alpha 的层时获得正确的结果(这是我在选择渲染设置时选择的设置,参见渲染层),我启用了此节点的 Convert Premultiply 选项。这应该能产生预期的结果,不会出现任何暗边。

为了将蝙蝠生物放置在深灰色背景上,我使用了第二个 Alpha 节点,将第一个输入设置为 RGB 节点(设置为灰色),第二个输入设置为我新合并的身体和头发层,正如在图 14-6 中所示。

通过乘法节点为身体渲染层添加额外的环境光遮蔽。然后将头发合并在上面,最后使用 Alpha Over 节点将合成图放置在灰色背景上。 图 14-6:通过乘法节点为身体渲染层添加额外的环境光遮蔽。然后将头发合并在上面,最后使用 Alpha Over 节点将合成图放置在灰色背景上。

辉光

接下来,我添加了一些辉光效果。辉光是现实和计算机图像中常见的效果,亮区的光线会渗透到暗区,实际上使图像中的暗区变亮。现实中的效果是由于镜头的缺陷产生的,但我可以通过模糊图像并将其叠加在原始图像上来模拟这一效果。

为了生成辉光效果,我创建了一个模糊节点(SHIFT-A▸Filter▸Blur),并将其类型设置为快速高斯模糊。我还启用了相对选项,这样我就可以根据图像的宽度指定模糊半径。如果你不知道最终渲染的分辨率,这个选项非常有用,因为无论你将渲染图像缩小还是放大,模糊的程度看起来都不会发生变化。(如果你用像素来定义半径,那就会有不同的效果。)

我将 xy 半径设置为 2% 并选择了 Y 作为纵横比修正选项,以确保模糊效果具有正确的纵横比。(这仅适用于使用相对模糊时。)然后,我使用一个加法节点,因子设置为 0.2,将模糊图像的结果微妙地叠加到原始图像上。

最初的效果太亮了,因此在进行模糊之前,我使用了另一个 RGB 曲线节点来将图像中的暗区变暗,这样只有最亮的区域会贡献到辉光效果中。最终的节点树如图 14-7 所示。

色彩修正

接着,我使用颜色平衡节点进行了一些基本的色彩校正。这个节点非常有用,可以在渲染中应用各种色彩分级效果。首先,我添加了颜色平衡节点。然后,我将正在合成的图像连接到它的图像输入,并将因子值调低到 0.6。 (颜色平衡节点可以产生强烈的效果,所以将因子值调低是一种轻松的方法,使其更加微妙,而无需对其他控制项进行非常小的调整。)

我的辉光效果和负责的节点树。合成后的头发和身体首先通过一个 RGB 曲线节点增加对比度,然后模糊处理并覆盖在原始合成图像之上。图 14-7。我的辉光效果和负责的节点树。合成后的头发和身体首先通过一个 RGB 曲线节点增加对比度,然后模糊处理并覆盖在原始合成图像之上。

颜色平衡节点有三组控制,每组设置一个 RGB 颜色。你可以使用颜色轮来控制色调和饱和度,并使用垂直滑块来调整颜色。你选择的颜色将在颜色选择器下方显示。你还可以点击颜色选择器,使用 Blender 的默认颜色选择器,或者手动设置 RGB 或 HSV 值。

颜色平衡节点的输入分别命名为liftgammagain,可以认为它们分别影响图像的阴影、中间调和高光。因此,为了使图像的高光不那么突出,你可以降低提升输入的亮度。为了让高光呈现饱和的红色,你可以将增益颜色设置为红色。一般来说,为提升和增益输入设置对立的颜色,通常会得到光暗之间有良好色调和谐的图像。

在许多好莱坞电影中,阴影通常是青色或蓝色,而中间调和高光则偏向橙色——这种配色方案与大多数较浅肤色的粉橙色调非常匹配。对于蝙蝠生物,我选择了略微偏蓝的提升色和略微偏黄的增益色。效果如图 14-8 所示。

添加渐晕效果

接下来,我为图像添加了渐晕效果,稍微加深了角落部分的颜色,吸引观众的注意力集中在画面的中心。为了创造这种效果,我取了身体层的 alpha 通道,并通过一个镜头失真滤镜进行处理,失真值设置为 1。这将图像变形为一个圆形,中间保持清晰,角落部分变黑,这几乎就是我需要的效果。

然后,我使用了一个设置为快速高斯模糊(Fast Gaussian Blur)的模糊节点,模糊半径设为 50%。这个处理模糊了镜头失真节点的输出,给图像从中心向外的柔和渐变效果,随后我将其叠加到色彩校正后的渲染图像上。

最后,我在节点树的末尾添加了一个锐化节点,设置了非常低的因子(大约 0.05),并将输出连接到合成节点。最终的节点树如图 14-9 所示,结果如图 14-10 所示。

合成反馈与查看器节点

从你的渲染结果中创建最终合成可能是一个漫长的过程,且需要一些实验。为了帮助这一过程,Blender 在你更改节点树时会自动重新合成最终渲染结果。另一个感受节点设置工作方式的替代方法是使用“查看器节点”,这是一种辅助输出节点,允许你查看节点树中的任何阶段。

为蝙蝠生物的渲染添加色彩分级。左:分级前。中:色彩平衡节点。右:分级后。图 14-8. 为蝙蝠生物的渲染添加色彩分级。左:分级前。中:色彩平衡节点。右:分级后。蝙蝠生物的合成节点树图 14-9. 蝙蝠生物的合成节点树蝙蝠生物的合成输出图 14-10. 蝙蝠生物的合成输出

要创建查看器节点,请在节点编辑器中按 SHIFT-A▸输出查看器。此节点的输入连接的任何内容,将显示在 UV 图像编辑器中,如果你从下拉菜单中选择查看器节点或在节点编辑器头部的背景中勾选背景

要快速更改查看器节点连接的节点,按住 SHIFT 并点击你设置中的任何节点。这使你可以轻松浏览节点树,逐个点击每个节点,查看它如何影响合成。(你也可以创建多个查看器节点,但这种方法保持了节点树的简洁。)

使用框架和节点组组织节点树

随着你添加越来越多的节点,合成用的节点设置可能变得相当复杂。如果不保持它们的组织结构,稍后回头查看节点树时可能会很困难。为了帮助解决这个问题,Blender 允许你将节点组织成框架节点和节点组。

框架节点

框架是大型的矩形节点,自己没有输入或输出;你可以将其他节点放置在它们上面,这些节点会“粘”到框架节点上,从而允许你将一组节点一起移动。你可以给框架节点加上标签,以标记节点设置的部分(参见图 14-11)通过在属性区域(N)编辑节点的名称。要将节点从框架上“解粘”,你可以使用快捷键 ALT-P,或者使用 ALT-F 将节点解粘并自动抓取它进行移动。

节点组

节点组与框架不同。要创建一个节点组,选择一个或多个节点并按 CTRL-G 将它们组合成一个节点。新的组节点应包含所有选定的节点及其所需的输入和输出作为插座。你可以通过按 TAB 展开组并查看其中的节点,修改它们并添加额外的输入和输出。

使用框架组织节点。一旦分配到框架,多个节点可以一起拖动,使它们更容易保持有序。图 14-11. 使用框架组织节点。一旦分配到框架,多个节点可以一起拖动,使它们更容易保持有序。

当你展开一个节点组时,其输入和输出会分别显示在组的左右两侧(参见图 14-12)。要添加输入或输出,将一个节点的连接拖动到此边框;要移除连接,点击旁边的X。使用每个输入或输出旁边的箭头可以重新排序它们并整理节点组。

和所有节点一样,节点组也可以复制和重复使用。一旦复制,它们就像是链接的重复对象:组内某个实例的更改会影响所有实例,从而使你可以将常重复的节点链条组合在一起,并一次性编辑它们。节点组也可以从其他.blend文件中链接或附加,从而使你可以重复使用现有合成设置中的部分内容。

在 GIMP 中修图

一旦你对你的合成作品满意,就可以将其定为最终版本并保存为图像。像 PNG、TIFF 和 Targa 这样的格式适合此用途,因为它们是无损格式(用于保存不失真的图像)。对于在网页上发布,你可能希望使用 JPEG 格式,它可以大大压缩图像,从而获得较小的文件,虽然会牺牲一些图像质量。至于蝙蝠怪物,我选择在 GIMP 中先修复一些细节,然后再定为最终版本。我想柔化一些指甲上的高光,并稍微提亮眼睛。我将其保存为 Targa(.tga)文件(在 UV 图像编辑器中按 F3),并在 GIMP 中打开它。

使用节点组图 14-12. 使用节点组

为了使眼睛变亮,我创建了一个新图层,并将其混合模式设置为叠加。然后,我在眼睛上涂抹了白色。我还添加了微妙的高光,在一个单独的图层上手动绘制了一些扭曲的反射(这次的混合模式设置为正常)。

在与反射同一层上,我还将一些指甲上的高光进行了加深,使用颜色拾取器从附近的区域取色,并在明亮的高光上涂抹。(确保在工具选项中打开合并采样,这样可以在不切换到当前层的情况下采样下面的图层。)最后,在原始渲染图层上,我使用模糊工具轻微模糊了一些脚部的毛发,以便将注意力从看起来有点粗糙的部分移开。

在图 14-13 中,你可以看到修饰后的眼睛。图 14-14 展示了完成的蝙蝠生物项目。

渲染和合成蜘蛛机器人

为了最终完成蜘蛛机器人,我想在灯光中添加颜色分级(参考第十三章),展示一些景深效果以传达机器人的小规模,并加入一些辉光效果。

景深是现实世界中通过镜头看到的图像所发生的现象,无论是相机还是人眼。镜头只能对某个特定距离的物体进行完美聚焦,这个距离被称为焦距。超出这个距离的物体会逐渐变得模糊。这个效果可以是微妙的(甚至不值得处理),也可以是显著的。一般来说,景深效果在观看小规模物体时最为明显。

在 GIMP 中修饰合成图的部分区域。我用一层为眼睛增加了高光,并用第二层整体提亮了眼睛(将混合模式设置为叠加)。图 14-13. 在 GIMP 中修饰合成图的部分区域。我用一层为眼睛增加了高光,并用第二层整体提亮了眼睛(将混合模式设置为叠加)。修饰后的蝙蝠生物图 14-14. 修饰后的蝙蝠生物

Cycles 中的景深

在使用 Cycles 渲染时,有两种方式可以创建景深。第一种是使用 Blender 合成器中的 Defocus 节点。这适用于 Blender Internal 和 Cycles,并将在本章稍后用于丛林神庙场景。另一种方式是使用 Cycles 的“真实”景深作为相机设置进行渲染。

要使用真实的景深,请按以下步骤操作:

  1. 选择活动相机。

  2. 在属性编辑器的对象数据标签中的景深面板上,设置从相机到焦平面(物体出现对焦的距离)的距离。

  3. 设置光圈大小以确定模糊程度。光圈可以用半径或 F/Stop 数值来指定。较高的数值会导致更大的模糊效果(半径情况下),或者较少的模糊效果(F/Stop 情况下)。对于 Spider Bot,我使用了半径来设置景深为大约 0.3。

注意

Cycles 还可以模拟像真实胶片或数码相机上的光圈形状。要实现这一点,设置 Blades 为光圈形状的边数,并设置 Rotation 来旋转形状。

在设置景深的距离时,你可以通过 Depth 设置手动输入一个数值,或者使用 Focus 下的选择器来指定一个物体。这将使相机忽略手动设置的深度,而将焦点对准该物体的中心。通常最简单的方法是创建一个空物体,将其放置在你希望场景对焦的地方,然后将该空物体设置为相机设置中的景深目标。

为了更好地可视化景深距离,请在相机设置的显示面板中启用限制选项。此时,Blender 会从相机显示出一条指示线(描述裁剪距离),并在景深距离处显示一个黄色十字标记。

Spider Bot 的渲染设置

在设置好景深后,我准备开始渲染。我将渲染分辨率设置为 2600×3600,并在渲染标签的集成面板中,将渲染样本数设置为 1000,Clamp 设置为 2,以减少场景中的火花噪点。

我希望光线在场景中反弹并照亮阴影,但场景几乎所有部分都在直射光下,因此我不需要过多依赖反射光。我将最大反射次数设置为 32(最小值为 4,以允许早期终止),并将三个光照路径设置为 32。我不需要任何渲染层或额外的通道,因此我没有更改 Layers 面板,并按下了渲染(F12)。

合成 Spider Bot

接下来,我为最终渲染添加了一些色彩分级和辉光效果。虽然 Cycles 提供了一些不同的渲染通道,但合成过程与使用 Blender Internal 时基本相同。我像处理 Bat Creature 时一样添加了辉光效果,使用模糊节点来模糊图像,再通过加法节点将结果添加回图像中。同样,我在模糊节点之前添加了一个 RGB 曲线节点,以增加对比度并略微加深图像的亮度,随后对其进行模糊。

对于颜色分级,我添加了一个颜色平衡节点:我为提亮色选择了紫色调,为增益色选择了绿色调。我将伽玛值设置为略微偏蓝,并通过将增益值设置为略高于 1.0,稍微提亮了图像的高光部分。(你可以通过点击颜色选择器来设置提亮、伽玛和增益的 RGB 或 HSV 数值。)然后,我将颜色平衡节点的输出连接到图像插槽复合输出节点。完成的节点树如图 14-15 所示,合成结果如图 14-16 所示。

渲染和合成丛林神庙

丛林神庙是一个复杂的场景,我的渲染设置对该项目的渲染时间影响更大。我将图像的渲染大小设置为 2880×3840;在采样设置中,渲染样本数设置为 5000;并将 Clamp 值设置为 3.0,以尝试更快地减少噪点。

注释

虽然 5000 个样本很多,但我并不特别担心渲染花费的时间。主要是因为在场景中有很多软阴影,这个高样本数是必要的。为了用更少的样本获得良好的效果,你可以尝试降低场景中某些灯光的大小设置,这样阴影的边缘会更硬。

对于反弹光线,我将最大值设置为 128,最小值设置为 8,以允许概率性光线终止。因为我希望将最终渲染合成到云朵和天空的背景图像上,所以我在电影选项下启用了透明选项。

我将其他渲染选项保持默认,并按下 F12 进行渲染。

背景要求

在合成丛林神庙时,我想添加辉光、景深和一些颜色分级。但首先,我需要将我的渲染合成到一个背景上,这意味着我要在 GIMP 中创建一个背景,然后通过图像纹理节点将其导入 Blender,进行进一步的合成。

合成蜘蛛机器人节点树图 14-15. 用于合成蜘蛛机器人的节点树合成后的蜘蛛机器人图 14-16. 合成后的蜘蛛机器人

在 GIMP 中绘制天空

为了创建天空背景,我首先将 Blender 图像编辑器中未合成的渲染保存为带透明通道的.png图像(保存时,记得选择RGBA以便保存透明度)。然后,我在 GIMP 中打开了该图像。为了在右上角创建一个背景,我从 CGTextures 中打开了一个天空纹理作为一个层(见图 14-17),并将其放在渲染层下方。我然后调整了背景的大小和位置,将一些云朵放置在右上角(如图 14-17 中的第一张图片所示)。为了创建一个夜空背景,我使用了曲线工具将云层调得更暗,同时使用色相/饱和度和亮度工具(颜色▸色相/饱和度)稍微降低了层的饱和度,以防颜色显得过于饱和。

接下来,我使用加深/减淡工具(设置为减淡)对云层图像进行了一些装饰,并用软边刷在一些云的边缘添加了高光。我还创建了一个新的透明层,并将其混合模式设置为叠加。然后,我利用这个新层在云周围加入了一些额外的颜色:在神庙叶子边缘添加了一些浅蓝色,并在角落处加入了一些绿色和黄色。整个过程中,我的目标是最终得到一个色彩调色板与我的渲染图像相似的背景。

最后,我隐藏了渲染层,将背景单独保存为.xcf文件(CTRL-S),以便稍后编辑,并将其导出为.tga图像(CTRL-E)。背景图像及其各个阶段如图 14-17 所示。

合成神庙

在创建了背景后,我返回到 Blender 的合成器中。首先,我需要将背景添加到渲染图像的后面。为此,我使用了 Alpha Over 节点,将背景作为第一个输入,将我的渲染作为第二个输入(请参见图 14-18))。

在 GIMP 中为丛林神庙创建背景,使用早期的噪点渲染作为参考。背景的尺寸与最终图像相同,但这里只显示了显示天空的角落部分。(其余的背景图像是黑色的。)渲染图像(位于单独的图层)在保存背景之前被隐藏。图 14-17. 在 GIMP 中为丛林神庙创建背景,使用早期的噪点渲染作为参考。背景的尺寸与最终图像相同,但这里只显示了显示天空的角落部分。(其余的背景图像是黑色的。)渲染图像(位于单独的图层)在保存背景之前被隐藏。在 GIMP 中使用 Alpha Over 节点合成背景。我还添加了一个曲线节点,略微将其变暗。图 14-18. 在 GIMP 中使用 Alpha Over 节点合成背景。我还添加了一个曲线节点,略微将其变暗。

景深

接下来是景深效果。在为蜘蛛机器人添加景深时,我使用了物理正确的渲染景深效果。然而,对于丛林场景,我使用了合成器的 Defocus 节点。这种方法比渲染的景深效果稍微不准确一些,但它允许我们对哪些区域模糊、哪些区域不模糊进行更多的控制,并且在渲染完成后可以更改焦点,这给了我们更多的灵活性

Defocus 节点需要两个输入:一个是要模糊的图像,另一个是黑白蒙版,用于确定模糊图像不同部分的程度。对于蒙版,你可以直接使用 z 缓冲区(勾选使用 z 缓冲区输入复选框),或者通过不勾选复选框,使用任何黑白图像作为简单蒙版。如果选择直接使用 z 缓冲区,Blender 会使用在属性编辑器的对象数据标签中找到的相机景深设置。距离景深位置较近或较远的区域将会被模糊。如果关闭此选项,Blender 将使用输入的值来决定模糊的程度,这样白色区域会模糊得最严重,黑色区域则最不模糊。

对于丛林寺庙场景,我选择直接使用z缓冲区,但在z缓冲区输出和 Defocus 节点的z输入之间加入了一个模糊节点(半径为 6 像素),以稍微模糊这些值。这种方法减少了前景物体上伪影的产生,即应该被模糊的物体看起来有了锐利的边缘。

为合成添加景深和辉光图 14-19。为合成添加景深和辉光

添加辉光和晕影

接下来,我添加了一些辉光。与其他项目一样,我模糊了图像并通过一个加法混合节点将其重新合成到图像上。我通过提取渲染的 alpha 通道,使用镜头畸变节点扭曲它,再用模糊节点对其进行模糊,然后将其叠加到图像上,应用了些许晕影效果。这些阶段的节点如图 14-19 所示。

色彩分级

为了添加色彩分级,我使用了两个不同的节点。首先,我将图像通过了一个色相校正节点,这样我就能调整图像中特定颜色的饱和度(或色相或亮度)。因为我想在应用额外的分级之前,突出橙色和绿色,所以我通过点击曲线并拖动以添加新点,调整了色相校正节点的曲线,在橙色和绿色区域提高了曲线的轮廓,并在蓝色区域稍微降低了曲线。这增加了寺庙入口的橙色光线和树叶的绿色饱和度,使它们更加突出。我将结果通过了一个色彩平衡节点,用带有蓝色提升色调的阴影添加了一些蓝色,并在中间调和高光区域添加了一些黄色和橙色,使用了非常轻微的橙色伽马和增益色彩。

最后,我在节点树的末尾、合成输出节点之前添加了一个滤镜节点。我将其设置为锐化,锐化因子为 0.05,以对图像进行非常轻微的锐化。

这完成了丛林寺庙场景的合成工作。完整的节点设置如图 14-20 所示。

丛林寺庙合成的节点树,按框架节点组织图 14-20。丛林寺庙合成的节点树,按框架节点组织

作为最后的调整,我在 GIMP 中打开了合成图像,并使用模糊工具手动清理了剩余的一个或两个景深伪影。我还稍微裁剪了图像,以改善构图。结果如图 14-21 所示。

回顾

这基本上完成了我为本书创作的每个项目。在这一章中,我使用 Cycles 或 Blender Internal 作为渲染引擎,渲染了最终场景。然后,我将渲染输出的结果通过 GIMP 和 Blender 的合成器进行调整和优化,最终将其转化为我的最终图像。结果就是这些我现在可以称之为完成的项目渲染图。

当然,总是可以做出一些调整,在第十五章中,我们将探讨一些可以进一步完善这些项目的内容。

丛林神庙的最终效果图 14-21. 丛林神庙的最终效果

第十五章:进一步发展

在本章中,我们将探讨一些可能的添加项,如何进一步开发它们以及在哪里找到相关的操作信息。Blender 和 GIMP 有许多超出本书讨论范围的用途。作为一个完整的 3D 动画套件,Blender 拥有一些我们尚未有时间深入研究的功能,因此我将专注于如何利用 Blender 进一步完善我们的项目。

例如,我们可以使用 Blender 的一个功能来扩展项目,那就是骨架物体,它为模型提供了一种骨架,使其能够进行移动或摆姿势。为模型创建骨架并设置连接,使骨架控制网格的过程被称为绑定,而生成的骨架则称为绑定骨架。绑定可能会很复杂,全面讲解这个过程超出了本书的范围,但我会简要回顾如何为蜘蛛机器人进行绑定。一旦你为创作物体进行了绑定,你就可以使用 Blender 的动画工具来为它们制作动画。像绑定一样,动画是一个足以成书的主题,因此我将简单地提供一些想法,并推荐一些进一步阅读的资源。

但首先,让我们看一些简单的方法,来为项目添加额外的细节。

装饰

有时很难找到一个恰当的时机,决定项目已经完成。有时,一个项目就差点什么——某些细节或额外的物体,能够让你的创作更加出色。为此,以下是一些我们可以为项目添加的额外内容的想法。

为丛林神庙添加内容

丛林神庙场景已经有很多元素,但配色方案相对简单。提升场景的一个方法是创建一些开花植物,随意地点缀一些颜色。我使用了面复制(这是一种将一个物体复制到另一个物体的面上)为 IvyGen 网格添加了一些花朵,并增加了叶子的数量,使植物生命看起来更有趣。我创建了一个新的“树枝”物体,它由一些叶子和花朵组成,然后用这个物体的实例替换了原始叶子网格中的面。方便的是,这个树枝物体的渲染也很快速:Cycles 引擎识别到每个复制的树枝实例共享相同的网格数据,因此它只存储一次物体,保持渲染时的内存需求合理低。

创建树枝物体

为了创建一个分支,我首先细分了一个平面并赋予它一个稍微弯曲的形状。这形成了我的叶子的基础,我复制了几次并将它们排列成一个拱形的五片叶子组合。我用一个五个顶点的圆形创建了一个花朵,接着填充并拉伸它以创建花瓣。然后,我展开了花朵和叶子的 UV。我为分支的叶子使用了之前相同的纹理和材质。对于花朵,我使用了来自 CGTextures 的花朵照片。我像之前做叶子时一样,创建了花朵的纹理和材质。我还通过创建一个立方体并从中挤出一些基本的枝条模型,为新叶子附着的枝条做了建模。最终,我创建了两个分支物体:一个带花,一个不带花,如图 15-1 所示。

我用来增加丛林神庙中植被复杂度的分支物体。上图:3D 视图中的分支物体。下图:渲染出的分支物体。图 15-1。 我用来增加丛林神庙中植被复杂度的分支物体。上图:3D 视图中的分支物体。下图:渲染出的分支物体。

使用面复制进行复制

为了使用分支物体创建一些额外的植被,我在复制面板中启用了面复制功能,该面板可以在属性编辑器的物体标签中找到。为了复制一个分支,我将它设为父物体(选择分支,然后选择 IvyGen 网格,并按 CTRL-P)到 IvyGen 叶片网格。接着,我将复制类型设置为“面”,这样每个 IvyGen 网格的面都会创建一个分支物体的副本。

物体必须具有相同的原点,否则复制体将会从父网格偏移,因此我选择了我的分支物体,并将光标对准它(SHIFT-S▸光标对齐选择)。接下来,我选择了 IvyGen 叶片网格,点击 3D 视图工具架中的原点操作符,并选择“原点对准 3D 光标”,从而使这两个物体具有相同的原点。

面复制允许每个复制体继承其复制来源面的缩放。我利用这一点,通过在复制面板中启用缩放功能,然后为 IvyGen 面添加了一些随机的缩放变化。为了做到这一点,我在编辑模式下使用“选择▸随机”命令来随机选择网格中的面。接下来,我稍微缩小了它们,旋转中心设置为 3D 视图头部中的“单独面”选项(这样这些面会向它们的中心缩放)。这缩小了随机选择的面。然后,我重复了这个过程——这次选择了不同的面——并将它们稍微放大了一些。

为了创建两个分支对象之间的混合,我首先通过选择 IvyGen 网格,切换到编辑模式,并设置选择方式为“面”(在 3D 视口头部),将 IvyGen 网格分割开。然后,我使用了选择▸随机—再次选择网格中 20%的面(可以在工具选项面板中调整百分比)—并按P将它们从网格中分离出来,变成独立的对象。接下来,我将没有花的分支父级绑定到原始的 IvyGen 对象,将有花的分支绑定到新的对象,从而创建了部分有花的分支和部分没有花的分支。结果如图 15-2 所示。

创建卵石

为了给场景中的地面增加一些变化,我使用了另一个粒子系统来将卵石散布到地面上。我创建了一组卵石对象,就像为草地创建的那样。然后,我在地面上添加了一个新的粒子系统,设置方式与草地系统类似。不过这次,我使用了简单子粒子将卵石分散成小簇,分布在场景中。图 15-3 展示了增加额外植物和卵石后的场景渲染效果。

通过为每个原始面复制多个分支对象,增加 IvyGen 叶网格中的叶片数量图 15-2. 通过为每个原始面复制多个分支对象,增加 IvyGen 叶网格中的叶片数量

添加蝙蝠生物

我决定蝙蝠生物可能需要一个站立的平台,所以我创建了一个岩石基座来给它提供平台。我还尝试在它的脚下加上一些飘渺的云雾。

带有附加特性的丛林神庙场景渲染图图 15-3. 带有附加特性的丛林神庙场景渲染图

创建岩石

为了创建平台(一个岩石),我首先通过缩放和从立方体挤出建模了一个粗略的形状。接着,我使用了 Blender 的雕刻工具和一个多分辨率修改器,将这个粗略的形状雕刻成一个岩石的形状。第六章中的 Clay Tubes 和 Scrape Flat 画笔在这个过程中非常有用(请参见图 15-4)。我将第十一章中(为丛林神庙项目创建的)无缝岩石纹理作为位移贴图,应用于雕刻的细节之上。

我为岩石创建了一个材质,使用了我在第十一章中创建的相同岩石纹理,并在岩石后面添加了另一盏灯,以从相机的角度照亮它的顶部边缘。我将这个灯设置为“仅此图层”模式,这样它就只会照亮岩石,而岩石和灯具在同一图层上。接着,我稍微将相机向下移动并稍微调整了角度,以便从不同的视角展示蝙蝠生物,并调整了它的脚的位置,使它能够正确地站在岩石上。

为蝙蝠生物创建站立的岩石图 15-4. 为蝙蝠生物创建站立的岩石

添加云朵

为了配合图像的氛围,我在岩石周围添加了一些云朵。Blender 提供了很棒的工具来渲染体积材质,如云朵。要详细讨论这些内容将需要独立的章节,但幸运的是,对于我们的目的来说,简单地说,名为“云生成器”的优秀插件能够完成大部分工作。从用户偏好设置中启用该插件。

要使用云生成器脚本,我首先用立方体草拟了云朵的大致体积。然后,我使用工具架中的“生成云朵”按钮,自动生成与选定立方体物体大致形状相符的云朵对象,并设置合适的材质(见图 15-5)。

我几乎保持了生成的材料与插件生成的内容一致,唯一的不同是我在“材料”标签的“光照”面板中启用了外部阴影,并将属于材料的云纹理的比例略微调低,以便给云朵增加一些细节。我将云朵渲染在单独的渲染层上,并在合成设置中添加背景后将其合成到我的图像中(在应用了辉光和色彩分级之前)。结果如图 15-6 所示。

使用云生成器脚本创建云朵图 15-5. 使用云生成器脚本创建云朵完成的云朵合成到我的场景中图 15-6. 完成的云朵合成到我的场景中

不同的外观

获得更多项目成果的另一种方式是考虑为最终渲染效果找到不同的外观。这可能涉及找到新的相机角度或尝试不同的光照方案。我尝试了不同的光照效果和相机角度来照亮蜘蛛机器人,效果如图 15-7 所示。

装配与动画

当然,推动项目进一步发展的最戏剧性方式就是为它们添加动画。让场景动起来的一个简单方法是通过旋转相机围绕主题进行渲染,并在相机围绕场景旋转时记录其位置和旋转。另一种方法是渲染飞行镜头,让相机在场景中移动,展示不同的兴趣点。更复杂的动画——例如,为角色的动作制作动画——涉及为任何移动元素创建骨架,并通过关键帧或存储这些元素的不同属性和位置来进行时间上的动画。

蜘蛛机器人在不同光照和相机角度下的替代渲染图 15-7. 蜘蛛机器人在不同光照和相机角度下的替代渲染

骨架绑定需要将一个骨架对象添加到场景中,并对其进行编辑,以为模型创建一个“骨架”。接下来,你必须将模型绑定到骨架,可以通过将模型的对象作为子物体绑定到特定的骨骼,或者最好使用骨架修改器,将对象内的不同顶点组分配给骨架的不同骨骼。一旦完成这些步骤,你可以选择骨架切换到姿势模式,开始移动和调整模型的姿势(参见图 15-8)。

除了创建骨骼来直接控制模型的部分,你还可以创建约束和辅助骨骼,形成一种用户界面来控制骨架。这些控制可以包括确保肢体自动到达特定点的控制,或控制模型执行特定动作。例如,在图 15-8 中,黄色和绿色突出显示的骨骼是应用了约束以便更轻松地调整腿部姿势的骨骼。不过,这是一个复杂的过程。想要了解更多关于骨架绑定的内容,可以查看 Blender 基金会商店和 Blender wiki 上的资源。

使用骨架。顶部:蜘蛛机器人骨架的单独视图,从上方看,采用 B-Bone 视图(骨架显示选项之一)。中间:使用绑定系统为蜘蛛机器人进行姿势设定。底部:单独展示已设定姿势的蜘蛛机器人。图 15-8. 使用骨架。顶部:蜘蛛机器人骨架的单独视图,从上方看,采用 B-Bone 视图(骨架显示选项之一)。中间:使用绑定系统为蜘蛛机器人进行姿势设定。底部:单独展示已设定姿势的蜘蛛机器人。

一旦你的模型已完成绑定,你就可以开始为你的创作制作动画。通过设置骨骼的变换关键帧,或储存它们的姿势,再通过 Blender 的时间轴移动,改变绑定的姿势并重新设置关键帧,你就能建立一系列的姿势和位置,供你的模型依次通过。当播放时,你的模型将按照你创建的姿势所定义的运动顺序进行表演。

总结

在本书的过程中,我们从项目的最初灵感到最终图像及其后续内容不断进步。在第一章和第二章中介绍了 Blender 和 GIMP 后,我们在第三章中探讨了如何收集、创建和使用参考图和概念艺术,接着在第四章中用粗略的几何体和基础网格开始搭建场景的基本元素。在第五章、第六章和第七章中,我们通过进一步的几何建模以及 Blender 的雕刻和重新拓扑工具,扩展了这些粗略形态。在第八章中,我们展开了模型,为纹理制作做准备。

模型布置好后,我们在第九章加入了粒子系统的更多细节,在第十章和第十一章中添加了纹理。在第十二章和第十三章中,我们开始将我们的模型和纹理集转化为可渲染的场景,加入材质和光照,并在第十四章中,我们将 .blend 文件转化为最终的渲染图像。

我希望本章能给你一些启发,帮助你提升本书中的完成项目或你自己的项目。我已经讲解了如何为场景添加更多细节,并用不同的景观或氛围生成额外的渲染图像。我还提到了动画和绑定项目的概念,探索了从静态图像到动态画面的过渡。

在本书中,我通过三个项目来说明 Blender 和 GIMP 是多么强大的工具,以及它们多样的功能如何得到应用。每个工具都有极大的深度,初学时可能会让人感到难以应对,但一旦你掌握了这些工具,它们将非常棒,能帮助你将创意变为现实。我希望你能享受在本书中学到的技能,并用它们来实现你的想法。

附录 A。

Blender 大师课程的字体为 New Baskerville、Futura 和 Dogma。本书在密歇根州切尔西的 Sheridan Books, Inc.印刷和装订。

附录 B. 关于项目文件

有关下载本书项目文件的说明,请访问 www.nostarch.com/blendermasterclass.htm。这些文件包括每个项目的独立 .blend 文件(与书中的每一章对应),以及每个项目在每一章结束时的最终状态(如果适用)。这些资源应能帮助你深入了解每个项目的工作原理,并查看每个项目是如何逐步完成的。还包括了每个项目使用的纹理、一些用于雕刻的实用画笔和 MatCap 材质的 .blend 文件,以及一个可以在你自己项目中使用的 GIMP 画笔。CGTextures 网站的纹理链接(www.cgtextures.com/)列在一个文本文件中。

这些文件使用创意共享非商业性署名(CC-BY-NC)许可协议。

posted @ 2025-11-25 17:05  绝不原创的飞龙  阅读(24)  评论(0)    收藏  举报