Blender教程

图 5-190 所示为本节的目标成果。本节案例以一个非常好用的内置插件为主,介绍一种非常好看且简单的三维风格 LowPoly,几乎没有手动建模的内容,非常友好。

image.png

一.布尔


什么是布尔
正式开始之前先介绍一下布尔(Boolean)。数学的集合中有几个概念很重要:交集、并集、差集、补集。三维建模中同样也有布尔逻辑的应用,三维中有交集、并集和差值(集),没有补集,如图 5-191 所示。交集就是取模型重合的部分,并集就是合并多个模型,差值就是从一个模型上减去与另一个模型重合的部分。

image.png

布尔修改器
在 Blender 中,布尔是以修改器的形式存在的,如图 5-192 所示。布尔修改器需要有被布尔的物体(也可以是集合),布尔修改器只需要添加在一个物体上即可,最终的结果会应用到布尔修改器所在的模型上。并集和交集时修改器添加在哪个物体都一样,而差值时修改器要添加在不需要被减掉的模型上。

Blender 的布尔修改器有一点很特殊,因为布尔需要多个物体,所以布尔之后原本的物体依然存在,这就会导致看不出布尔的效果,造成好像没有布尔成功的错觉。这一点很容易让新手疑惑,所以在布尔时建议把被布尔的物体隐藏,也可以把物体属性中视图显示的“显示为”改成“线框”,如图 5-193 所示。这样设置模型就会呈现线框的状态,不会遮挡住其他模型。但一定记得把布尔模型的渲染显示关闭,不然就会被渲染出来。

image.png


布尔的问题
布尔既然如此方便就能把多个物体进行组合,是不是就不用自己手动建模了呢?布尔确实方便,但会造成模型有非常多的N-gon,让模型很不标准,也可能导致很多其他的问题。图 5-194 所示就是并集布尔之后导致模型的着色出现了问题。除此之外,面数多的模型布尔会造成计算机严重卡顿,所以布尔也并不是万能的。
布尔其实一般只是用作初步的模型搭建,快速制作出模型的形状,之后在布尔模型的基础之上再手动布线,让模型标准化,如图 5-195 所示。

image.png


实际应用
接下来试着用布尔修改器来制作第 3 章的积木模型。首先添加一个立方体,进入编辑模式把高度降低,再回到物体模式添加一个柱体,顶点数量保持默认的 32,半径比立方体小一些即可,移动到合适的位置,如图 5-196 所示。然后选中立方体添加布尔修改器,选择柱体,把柱体的视图显示改为线框即可看到差值的结果,如图 5-197 所示,立方体被掏了个一个洞。移动柱体可以发现,布尔是实时更新的,这就是布尔的灵活性。接下来把布尔类型改为并集即可得到积木的基本形,如图 5-198 所示。再添加一个倒角修改器,如图 5-199 所示,看起来很完美。但是一旦平滑着色就可以看到柱体并不平滑,所以还需要单独选中原本的柱体模型,平滑着色才可以,如图 5-200 所示。

image.png

至此,模型看起来还是很完美的,完全可用。但是再添加一个细分修改器,就可以看出模型衔接处是有问题的了。对比正常建模和布尔模型的布线可以看出,手动建模明显更干净利落,由此可见布尔并不是万能的,需要学习足够多的知识才能应对布尔带来的问题,所以不建议新手使用布尔。还有一个问题是,当移动立方体的时候柱体不会跟随移动,会导致模型错位,所以要么应用布尔修改器,要么同时移动布尔的所有相关物体。
综上所示,布尔在要求不高和追求速度时是可以使用的,但不建议新手频繁使用布尔,不然节省的时间都会花在解决问题上。

image.png

二.什么是 Low Poly

要想知道什么是 Low Poly,首先要知道 Poly 是什么。Poly 是 Polygon 的缩写,也就是多边形面的意思,Low Poly 就是较少的多边形面。常见的三维模型是由很多个多边形面组成的,面数越多,模型越真实。以前计算机技术落后的时候,只能处理较少量的面,所以游戏都是 Low Poly 的,例如《超级马里奥 64》。而现在技术足够成熟,Low Poly 风格已经成为一种复古的艺术风格,非常流行的游戏《纪念碑谷》就属于 Low Poly 风格。
但不是面数少就是 Low Poly,一般来说 Low Poly 的风格多为三角面,这也跟游戏行业有关系。游戏开发中三维模型都必须是三角面的,这是为了节省资源和避免 Bug 等,另一方面三角面也有比较鲜明的风格。Low Poly 的模型要在低面数的情况下保有复杂的外形。如图 5-201 所示,左边是高模,也就是面数多的模型,有 8172 个面;右边的就是 Low Poly 模型,只有300 个面,所有的面都是三角面,但还是能看出造型来,Low Poly 的风格也非常鲜明。

image.png

一般建模都是制作四边面,而 Low Poly 却多是三角面,那么应该如何制作 Low Poly 模型呢?首先介绍一个非常快捷的方法,可以把复杂的模型变成 Low Poly。在修改器属性中先添加一个表面细分修改器,再添加一个精简修改器,如图 5-202 所示。
把精简修改器中的“比率”不断降低,可以看到模型面数越来越少。 千万不要给模型平滑着色,Low Poly 模型非常关键的一点就是一定要用平直着色,不需要开启“自动光滑” ,这跟之前的案例都不同。笔者把精简修改器的“比率”降低到 0.1,可以看到下方显示了“面数:1417”,模型也呈现出了低面数的感觉,如图 5-203 所示。
精简修改器可以非常快速地把复杂模型变为 Low Poly 风格,所以正常建模后添加精简修改器是一种非常好的方法。此外,还可以直接用很少的面来建模,本节案例就使用一个内置插件来快速制作 Low Poly 模型。

image.png

三.小房子建模
1. 启用插件:三维制作中的工种比较多,有专门的建模师、灯光师等职位,如果不是专业的建模师,则无须太深入地学习建模,使用插件建模就是很好的一种方式。Archimesh 是一个用于制作建筑模型的插件,由 Antonio Vazquez 开发。首先需要在偏好设置的“插件”中搜索并启用该插件,如图 5-204 所示。启用后就可以在“相加”菜单中找到,如图 5-205 所示。在侧边栏的 Create(创建)标签中也可以找到 Archimesh。

image.png

2. 房屋主体制作:首先添加一个立方体来作为房屋的主体,如图 5-206 所示。然后进入编辑模式,按快捷键 Ctrl+R,使用环切工具在立方体中间切割一刀,再选中顶部中间的一条边,往上移动一点,如图 5-207 所示。为了使房屋更复杂,可以再横着环切一刀,如图 5-208 所示,勾选上“均匀”,让环切线平齐。切换到面选择模式, 选中一圈底面,如图 5-209 所示。
再按快捷键 Alt+E(网格 > 挤出 > 沿法向挤出面命令),让底部有些厚度,记得
勾选“均等偏移” ,如图 5-210 所示,房屋主体就制作好了。

image.png

image.png


3. 添加一扇门:先制作门,切换到物体模式,然后按 N 键打开侧边栏,切换到 Create(创建),展开 Archimesh,可以看到非常多的按钮,如图 5-211 所示,面板中的按钮都对应着相应的物体,例如 Door(门)、Room(房间)、Roof(屋顶)等。首先把 3D 游标放置到门应该在的地方,再单击 Archimesh 面板中的 Door 按钮,即可添加一个门,添加门后,所有的参数都在面板中修改,如图 5-212 所示。调整参数直到合适,通过 4 个 Frame 参数控制门的尺寸,将“旋转”改为 90°,把门旋转到正确的方向,将“控制柄”改为 Handle 02,不要勾选 Create default Cycles materials(勾选这个参数后会自动创建一种材质,这个材质比较复杂)。

image.png

此插件添加的模型都会用一个空物体作为父级,所以只用移动空物体(十字黑线)就可以移动整个模型了。现在门太高了,移动空物体把门放置到合适的位置,如图 5-213 所示。现在门是直接插入模型的,但这面墙应该是有个洞的,插件也非常贴心地提供了一个物体协助用户做布尔操作,叫作 CTRL_Hole。选中房屋主体,添加一个布尔修改器 ,“物体”选择 CTRL_Hole,方法是“差值”,这样就把房屋挖了个洞,如图 5-214 所示。
选中门框模型(DoorFrame)后,还能够实时修改门的尺寸,这就是插件的便利性。笔者又把门缩窄了一点,并且往外拉伸了一些,最终的门如图 5-215 所示。

image.png


4. 添加窗户:门有了,窗户也不能少。将 3D 游标放置到另一面墙上,单击 Archimesh 面板中的 Panel Window 按钮,参数如图 5-216 所示,在预设中选择 WINDOW 50X50。把窗户移动到房屋中间偏上的位置,然后再给房屋主体添加一个布尔修改器,因为之前有 CTRL_Hole 了,所以窗户的布尔模型是 CTRL_Hole.001,最后把两个布尔修改器改名,以免混淆,如图 5-217 所示。

image.png

5. 添加屋顶:单击 Roof 按钮添加一个屋顶, 屋顶需要在左下角的小窗口更改参数。Model 选择 Model 02。Num tiles是用来修改瓦片的数量的,但是在笔者的 Blender 3.0 中不起作用,估计是因为插件还没有适配 Blender 3.0,不过之后再手动去修改瓦片数即可。将 Tile thickness 改为 0.05,瓦片厚一点会更卡通。参数如图 5-218 所示。
选中瓦片的模型把表面细分修改器删除,再设置
平直着色,这样才有 Low Poly 的感觉。瓦片的数量是通过阵列修改器控制的,展开阵列修改器,将“数量”改为 6,然后移动、旋转瓦片,直到正好对应屋顶的角度,再缩放到合适的大小。一层瓦片的最终效果如图 5-219 所示。

image.png

现在只有一层瓦片,手动添加一个阵列修改器,笔者使用的参数如图 5-220 所示,对阵列的 z 轴也给一点数值,瓦片错落开来才更有感觉。接着复制瓦片,旋转 180°,放到另一边,再在中间添加一个顶点为 8 的横向的圆柱去填补空白,对圆柱也赋予瓦片的材质。屋顶的最终效果如图 5-221 所示。

image.png

6. 制作烟囱:房子就这样还单调了点,接下来手动制作一个简单的烟囱,丰富一下效果。在屋顶处添加一个立方体,并沿着 z 轴调高一点,如图 5-222 所示;然后环切一刀,接着选中一圈面,按快捷键 Alt+E 沿着法向挤出,如图 5-223 所示,还是一样记得勾选“均等偏移”;删除顶面,给烟囱添加一个实体化修改器,如图 5-224 所示,这样烟囱就是空心的了。

image.png


中间部分有些隆起,先应用实体化修改器,再选中隆起的 4 个点,如图 5-225 所示。如果直接移动下去是很难移动到跟周围平齐的,这里可以使用很常用的吸附功能 ,首先把“吸附至”改为“顶点” ,如图 5-226 所示。大多数情况下都会使用顶点吸附,所以创建一个新的文件后就可以把“吸附至”改为“顶点”。然后按 G、Z 键,沿着 z 轴移动鼠标,移动过程中按住 Ctrl 键, 移动鼠标指针到要吸附到的顶点即可吸附到指定的顶点的位置上,如图 5-227 所示(如果不限定 z 轴,顶点就会重叠到要吸附的顶点那里)。至此烟囱就制作完成了。

image.png


知识点:吸附功能

变换物体的时候,经常会穿模,如果仅靠肉眼很难精确移动到想要的地方,所以就需要吸附功能。吸附功能位于 3D 视图的顶部,如图 5-228 所示,图标是一块磁铁,默认处于关闭的状态,单击磁铁图标即可开启,快捷键是 Shift+Tab,开启状态如图 5-229 所示。磁铁图标右侧的下拉列表框是吸附的选项,默认是增量,也就是移动的时候会一格一格移动。多数情况都使用“顶点”吸附,顶点吸附时顶点会吸附到鼠标指针附近的点,直接吸附会重叠,一般是在某一个轴向上吸附。一直启用吸附功
能会导致建模的时候一不小心就被吸附了,所以一般关闭吸附功能。在变换的时候, 按住 Ctrl 键即可临时启用吸附功能,放开 Ctrl 键就关闭了吸附功能。

image.png

吸附至顶点功能除了用于对齐,也可以用于合并顶点。首先要启用“自动合并顶点”,如图 5-230 所示,启用此功能后距离相近的点将会被自动合并,默认阈值是 0.001m, 距离小于阈值的点会被自动合并成一个点。当使用吸附功能把点移动到和另一个点重叠时,重叠的顶点就会被自动合并。将这两个功能组合到一起即可实现快速合并顶点,同时也可避免顶点重叠。

image.png

吸附功能在物体模式下也可以使用,多用于把物体放置到有角度的面上,将“吸附至”改为“面”,勾选“旋转对齐目标”,如图 5-231 所示。这样移动物体时不仅可以吸附到鼠标指针所在的面,还会旋转到跟面相同的角度,非常实用。

image.png

7. 制作烟雾:有了烟囱当然还需要烟雾。卡通的烟雾使用球体组合就可以实现,这里使用网格中的棱角球 ,如图 5-232所示。添加一个棱角球之后,按快捷键 Shift+D 复制多个出来,调整位置和缩放,最终效果如图 5-233 所示。可以参考笔者摆放的位置去摆放,也可以摆出任何有创意的形状。为了效果更好,笔者还把各个棱角球分别旋转了一下,避免看起来都一模一样。

image.png

8. 制作沙丘:光有房子还不够,有背景就更好了。有建模基础的读者可以自己尝试制作复杂的模型,或者使用其他人制作的模型,笔者这里使用另一个强大的内置插件制作一片沙漠。首先启用由 Jimmy Hazevoet 制作的 A.N.T.Landscape 插件,如图 5-234 所示。然后添加网格中的 Landscape,如图 5-235 所示,直接选择参数预设中的 dunes(沙丘) 即可。接着对沙丘进行变换,笔者摆放的位置如图 5-236 所示。

image.png

现在的沙丘面数太多,可以添加一个精简修改器,将“比率”改为 0.05,将着色方式改为平直着色,最终效果如图 5-237所示。精简过后就有了 Low Poly 的感觉。

image.png


四.材质和灯光

1. 基础材质:Low Poly 风格可以使用最简单的纯色材质,所有物体都是一种材质,只是颜色不同,使用一个高级且简单的方法就可以做到,无须新建很多材质。首先选中房屋主体模型,新建一种材质,删除“原理化 BSDF”节点,添加一个着色器中的“漫射 BSDF”节点,连接到“材质输出”节点(“漫射 BSDF”节点可以用来制作最简单的材质,漫射也就是漫反射的意思)。
然后还需要一个输入中的“物体信息”节点,“物体信息”节点的“颜色”输出连接到基础色。最终节点连接如图 5-238 所示。

image.png

2. 设置物体颜色:首先切换到材质预览模式,然后给所有模型都赋予这个材质,可以按 A 键选中全部的模型,房屋模型要确保处于激活(黄色外框)状态,按快捷键 Ctrl+L(物体 > 关联 / 传递数据),单击“关联材质”即可,如图 5-239 所示。
接着只需要设置物体的颜色即可。选中房屋主体,单击“物体属性”按钮,展开“视图显示”,修改“颜色”即可看到屋顶的颜色变了,如图 5-240 所示,“物体信息”节点中的颜色数据就来源于这里。然后给所有的模型都设置喜欢的颜色,如果觉得麻烦,也可以直接为每个模型新建材质。
窗户的材质要先全部移除再选择通用材质
最终材质颜色(Hex):窗户和门为 67A8FF、屋顶和烟囱为 EC5F47、沙丘为 CBA67F、墙和门把手为白色、烟雾为C2F2FF。

image.png

3. 优化材质:单独新建一种材质并赋予房屋底部,颜色跟门一样,因为在一个物体内,物体颜色只能是一个颜色。然后选中窗户模型的玻璃部分并删除,让窗户处空出来,最终效果如图 5-241 所示。
image.png

4. 主光:Low Poly 的灯光一般也比较简单,太复杂的灯光容易出现写实的效果。首先渲染引擎还是切换到 Cycles,然后添加一个日光即可,如图 5-242 所示,可以把日光的强度改为 2,让场景更亮。为了方便管理,新建一个集合 ,把日光拖进去,命名为“灯光”。集合操作比较简单,这里就不配图了。

image.png

5. 氛围光:为了让场景更加个性化,可以添加一些氛围光。首先把世界环境 中的背景断开连接或者删除,这样环境就全黑了,如图 5-243 所示。然后在窗户那里添加一个朝外的面光 (如果没有删除窗户模型的玻璃部分就看不见灯光),设置“能量”为 20W、“颜色”为 FF8500、“尺寸”为 0.5m。面光需要往外移动一点,否则会被布尔的物体挡住。门那里太暗,可以沿着瓦边添加一个面光,设置“能量”为 5W、“形状”为“长方形”、“颜色”为白色,“尺寸”调整到合适即可。因为烟囱是空的,所以也可以添加一个面光,光是从房间里射出来的,所以颜色跟窗户灯光保持一致即可。房间右侧太暗,可以添加一个点光,设置“能量”为 35W,模拟路灯照射的效果,从而打亮暗部。最终灯光布置如图 5-244 所示。

image.png

五.渲染

1. 正交摄像机:首先添加一个摄像机,然后将“类型”改为“正交”,如图 5-245 所示。正交摄像机使用锁定摄像机视图的方法时不能前后缩放,只能平移,要拉近或推远只能更改“正交比例”,这个场景把“正交比例”改为 8 较为合适,最终构图如图 5-246 所示。将输出属性的分辨率 X 和 Y 都改为 1280px,然后渲染图像即可。

image.png


2. 优化渲染:大面积的沙漠看起来不是很舒服,在尝试过后,笔者还是决定删除沙漠。新建一个巨大的平面,并且赋予蓝色材质(创作的过程就是不断改变,觉得不好的东西,就算花了很多时间制作,该放弃时也不要犹豫)。最后把渲染的时间限制改为 120,并且把降噪打开,更长的渲染时间可以获得更细腻的效果,把色彩管理中的胶片效果改为 Hight Contrast。
最终渲染图如图 5-247 所示。

image.png



案例总结

其实三维创作不一定都要制作复杂的模型,本案例的 Low Poly 就是一个很好的例子,有些艺术家专门制作 Low Poly 风格的作品。艺术创作可根据自己的喜好来,如果不喜欢建模,可以把学习的精力放到灯光和材质上,在建模方面学一些快速建模的方法即可。
像 Archimesh 这类插件 Blender 还有很多,偏好设置的“插件”中“添加网格”分类里都是此类插件。第三方插件中较为知名的有 Building Tools,也是一个做建筑模型的插件。