- 1.基础知识与准备工作
- 1.1.什么是 CG
- 1.2. 三维图形的基本概念
- 1.3.Blender软件背景介绍
- 1.4.Blender 功能介绍
- 1.5.使用 Blender 创作的作品
- 1.6.计算机配置要求
- 1.7.Blender 下载、安装和基本设置
- 1.8.插件
- 2.渐进式入门小案例
- 2.1.积木基础版(一)
- 2.1.积木基础版(二)
- 2.1.积木基础版(三)
- 2.2.积木中级版(一)
- 2.2.积木中级版(二)
- 2.2.积木中级版(三)
- 2.3.积木进阶版(一)
- 2.3.积木进阶版(二)
- 2.3.积木进阶版(三)
- 2.3.积木进阶版(四)
- 2.3.积木进阶版(五)
- 3.Blender 基本逻辑
- 3.1.Blender 整体基础逻辑
- 3.2.用户界面逻辑
- 3.3.数据块
- 3.4.操作逻辑
- 3.5.快捷键逻辑
- 3.6.文件逻辑
- 3.7.节点逻辑
- 3.8.大纲视图逻辑
- 4.基础案例
- 4.1.基础知识
- 4.2.金币制作——建模
- 4.3.乒乓球拍——建模和材质
- 4.4.Low Poly 小房子——插件
- 4.5.孟菲斯风格场景——材质
- 4.6.三渲二场景——材质
- 4.7.写实做旧物体——材质
- 5.动态案例
- 5.1.金币动画——关键帧动画
- 5.2.粒子效果
- 5.3.膨胀字体——布料模拟
- 5.4.破碎的鸡蛋——Cell Fracture
- 6.特色功能介绍
- 6.1.蜡笔工具的使用——Grease Pencil
- 6.2.雕刻初体验
- 6.3.几何节点
一.什么是几何节点
通过几何节点(Geometry Nodes)可用节点的形式和步骤化的方式去创建、修改模型。几何节点是 Blender 2.92 中加入的新功能,是最新的功能之一,所以仍然在不断更新优化中。图 7-55 所示就是使用几何节点制作的作品,其部分节点如图 7-56 所示。
一般建模的方式是通过不断操作,一步一步执行命令完成的。而几何节点则是把操作制作成节点,通过连接节点去创建模型。几何节点的好处是可以随时修改参数,相当于修改平常建模操作过程中的步骤,这样可以非常灵活地无损修改模型。得益于节点的灵活性,几何节点还可以轻松地制作出动画。
几何节点这种以节点创建模型的形式叫作程序化建模,并非 Blender 独有的,这方面的强者是 Houdini(一款特效制作软件)。Houdini 中几乎所有操作都是靠节点完成,这一点很特别。Blender 和 Cinema 4D 的新版本都开始尝试加入程序化建模的功能,但都还处于初级阶段,能做的内容还有限,本节只介绍一些基本的操作。
程序化建模也并非万能的,在制作复杂模型时,节点就会非常多,会花很多的时间,而如果是正常建模就会快得多。简单、经常需要修改的模型或者需要创建很多不同样子的模型,适合使用几何节点创建。例如需要 1000 个外观不一的石头,这时候就可使用几何节点。几何节点跟材质节点的操作和基本逻辑是一样的,因为把步骤都展示出来了,所以学习起来反而可能比一般的建模方法要简单,适合艺术创作者学习使用。
二.初尝几何节点
1. 几何节点布局:因为几何节点是新功能,会不断更新,所以必须使用跟笔者完全一样的版本(Blender 3.0) ,否则可能会遇到一些问题。Blender 中内置了一个几何节点的布局,如图 7-57 所示,没有的话可以在布局栏最后的加号按钮中找到。与几何节点功能一起新增的有“几何节点编辑器”和“电子表格”两个模块,几何节点的操作都在几何节点编辑器中完成;电子表格中会显示模型的点、线、面等信息,只要是模型就会显示,不一定需要是几何节点。
2. 添加几何节点:几何节点是以修改器的形式存在的,所以需要先添加一个模型,“添加 > 网格”菜单中的任何模型都可以。笔者以立方体为例制作,然后在修改器属性中添加一个几何节点修改器,准备工作就完成了,如图 7-58 所示。也可以直接单击几何节点模块中的新建按钮来添加几何节点。
几何节点编辑器中默认有“组输入”和“组输出”共两个节点,相当于材质节点中组的输入和输出。“组输入”节点用来输入创作者设置的参数,不是必须要有的。“组输出”节点用来输出最终的模型,是必须存在的。几何节点就像材质一样,对一个模型可以添加多个几何节点。几何节点也是数据块,可以直接添加给其他任何模型。
3. 创建几何基本体:对几何节点添加节点,同样也是使用“添加”菜单,或者按快捷键 Shift+A 添加。几何节点中很多都是常见的节点,例如网格基本体中就是基本的几何体,纹理组中的纹理跟材质节点中的纹理一样,但也有很多几何节点特有的节点。通过这些节点的各种组合就能制作出无限可能的模型。
首先从基础节点开始,先添加一个网格基本体中的“柱体”节点,把柱体的“顶点”改为 6,“深度”改为 5,柱体就变成了比较高的六棱柱;然后把柱体连接到组输出(“组输入”节点暂时不会用上),可以看到 3D 视图中的立方体居然变成了柱体,如图 7-59 所示。所以说物体本身的模型并不重要,最终以几何节点的输出为准。然后再添加一个棱角球,“半径”为2m,连接到组输出,如图 7-60 所示,3D 视图中的模型又变成棱角球了。由此可见几何节点只能有一个输出,哪个节点连接到组输出,最终的模型就是什么样。
4. 在几何节点中使用布尔:在几何节点中,布尔当然也是一个节点。首先添加一个“网格布尔”节点,将布尔类型改为“交集”,并且把柱体和棱角球连接到“网格布尔”节点的“网格”输入,如图 7-61 所示。使用交集时“网格布尔”节点的“网格”输入是一个长条的圆角矩形,这代表可以同时连接多个节点,“网格布尔”节点会计算所有输入的网格的交集。柱体和棱角球的交集呈现出水晶的形状,这时候可以随时修改“柱体”和“棱角球”节点的参数,输出的模型会立马做出反应,这就是几何节点的灵活之处。
5. 给几何节点添加材质:如果按照平常的方式赋予水晶模型材质会发现没有任何反应,这是因为几何节点的材质也需要通过节点赋予。首先任意添加一个材质,将基础色修改为蓝色,然后在几何节点中添加一个材质 > 设置材质节点,选择新建的材质,如图 7-62 所示,切换到材质预览模式就可以看到几何节点的材质了。基本的几何节点的制作流程就介绍到这里,接下来通过一个更完整的案例来深入探究几何节点。
三.桌子资产基础
本小节标题叫作“桌子资产基础”,而不是“桌子建模基础”,这是因为几何节点是适合制作资产的。资产跟普通模型的区别是,修改资产参数可以轻松生成很多类似但不相同的模型,例如桌椅这类物体,如图 7-63 所示。如果需要一百张桌子,那么靠建模制作一百张桌子显然不是聪明的做法。重复用同一个模型是可以,但是看起来会很假,因为现实中物体在生产时就会有差别,使用中又会有不同程度的磨损。这时候就适合使用程序化建模的方式制作一个桌子的资产出来,通过修改参数就可以产出很多类似但不同的模型。石头、桌椅、房子,甚至人都可以这样做。但一般这样产出的模型只是作为远景,若需作为近景使用还是需要精细建模。本小节案例就是使用 Blender 的几何节点制作出一个灵活的桌子资产。
1. 桌腿制作:添加一个立方体,新建一个几何节点,名称为“桌子资产”,如图 7-64 所示。桌子主要由 4 条桌腿和一个桌面组合而成,首先来制作桌腿。添加一个“立方体”节点作为一条桌腿,参数如图 7-65 所示。如果是一般建模,会用阵列修改器阵列出 4 条桌腿,目前几何节点中没有阵列节点,可以使用实例化的方式去制作。
实例化也就是把模型以分身的形式复制到指定的位置上,实际操作之后很容易就能理解这一概念。4 条腿正好可以对应一个平面,所以接下来添加一个网格基本体中的“栅格”节点(栅格就是能够设置细分的平面),打开视图叠加层中的线框可以看到,栅格的顶点为 3,所以平面被划分成了 4 个面,整个模型有 9 个点,如图 7-66 所示。接下来添加一个实例中的“点上的实例”节点,并且把“栅格”节点连接到“点”,“立方体”节点连接到“实例”,如图 7-67 所示,模型就变成了 9 个立方体,这就是把立方体实例化到栅格的 9 个点上去了。如果把栅格的顶点 X、Y 都改为 2,就只有 4 个立方体了,也就是 4 条桌腿。栅格有多少个点就有多少个立方体,栅格只提供点,最终不会输出栅格的模型。至此基本的桌腿就做好了。
2. 桌面制作并合并:桌面制作就简单多了,添加一个“立方体”节点,将尺寸 Z 改为 0.1,参数如图 7-68 所示。只能有一个节点连接到组输出,那么如何把桌面和桌腿都输出呢?这就需要用到几何数据中的“合并几何”节点,把桌腿和桌面的输出都连接到“合并几何”节点即可,如图 7-69 所示,该节点可以接受多个节点。最终输出整个模型后发现桌面的位置不太对,下一步来解决这个问题。
3. 调整位置:虽然说几何节点输出的模型跟原本的模型没有什么关系,但是模型的位置和原点还是由原本的模型所决定。桌面和桌腿都是以原点为中心创建的,桌面正好在桌腿中间的位置,所以需要单独把桌面往上移动。在桌面的“立方体”节点后添加一个几何数据中的“变换”节点,因为桌腿“立方体”节点的 z 轴高度是 1m,所以往上移动 1m 的一半 0.5m 即可,如图 7-70 所示。但由于桌面本身还有厚度,所以还需要再往上移动 0.1m 的一半也就是 0.05m,然后把桌面的 X 和 Y 都改为1.2,这样桌面就能覆盖桌腿了,如图 7-71 所示。
4. 添加标签:避免节点多了难以分辨,接下来给节点添加标签。按 N 键打开侧边栏,选中节点即可添加标签,如图 7-72所示。 名称是唯一的,而标签是可以重复的,只是用来标记节点,按照自己的习惯给节点添加标签即可。建议在标签最后加上节点的类型,这样更好分辨,笔者最终的节点连接如图 7-73 所示。基本的桌子资产就完成了,通过修改节点的参数就可以得到不同外观的桌子。但是如果增加桌腿的高度,桌腿就会直接穿过桌面,下一小节将解决此类问题。
四.桌子资产进阶
1. 高度参数:如果把桌腿的高度改为 2m,桌腿会直接穿过桌面,这就表明这个资产还不够灵活。标准的资产应该是调节桌腿,桌面的位置也会自动调整,始终保持在桌腿上方。这时候就需要做一些数学运算了,桌面向上移动的距离 = 桌腿高度 /2+桌面厚度 /2,有了这个公式就可以开始制作了。
首先添加一个实用工具中的运算节点,跟材质节点中的运算节点是完全一样的,运算模式改为“相除”,参数如图 7-74 所示,
1/2 也就是 0.5;再直接复制出一个运算节点,参数如图 7-75 所示,0.1/2 也就是 0.05;再添加一个运算节点,把之前两个节
点的数值相加,如图 7-76 所示。
目前相加后的值是 0.55,是一个浮点数,而变换节点的紫色的“移动”输入是需要矢量参数的,也就是需要一组(0, 0, 0.55)
这样的矢量数值,如果直接把相加节点连入就会变成(0.55, 0.55, 0.55),如图 7-77 所示。所以还需要一个节点,矢量参数
的节点当然在矢量节点分组中,添加一个“合并 XYZ”节点,把相加的节点连入 Z, X 和 Y 都保持 0,即可得到(0, 0, 0.55)
的矢量数值,再连接到变换节点的“移动”,并且把桌腿的高度改回 1m,结果如图 7-78 所示。
此时桌腿的高度和相除节点中的值都是 1,所以才能正确摆放桌面。但如果修改桌腿高度,同时也要修改“桌腿 - 相除”节点中的值,有没有办法用一个数值控制这两个参数呢?组输入就派上用场了,直接把“组输入”节点空白的输出节点连接到节点的输入参数中,即可自动生成相应的组输入,如图 7-79 所示。连接之后,几何节点修改器就会添加一个参数,用来控制这个数值,如图 7-80 所示。这就跟平常调整修改器的参数是一样的,只是几何节点的参数是可以手动添加的。打开几何节点的侧边栏,打开“群组”,即可看到所有输入的参数,如图 7-81 所示。第一个参数是几何,也就是原本的模型;第二个开始就是自己添加的参数,对每一个参数都可以修改名称、类型、最大 / 最小值和默认值。首先把“名称”改为“桌腿高度”,“最小值”改为 0.1,“最大值”改为 10,如图 7-82 所示,这样桌腿的高度被限制在了 0.1m ~ 10m,默认是 1m。
同一个参数可以输出给多个节点,桌腿高度还需要输出给“桌腿 - 立方体”节点,尺寸是矢量参数,所以还是需要一个“合并 XYZ”节点,也是连接到 Z 值;X 和 Y 都为 0.1,否则桌腿就没有粗细了,如图 7-83 所示。此时再去调整桌腿的高度参数,桌面便会随着桌腿高度的变化移动,如图 7-84 所示。
目前的节点连接如图 7-85所示。添加输入的参数是制作资产所必需的,除桌腿高度之外,桌面厚度、桌腿粗细、桌子长宽都需要有参数控制。接下来添加这些参数。
2. 桌面尺寸参数:添加一个参数并命名为“桌面厚度”,桌面厚度需要连接到“桌面 - 立方体”节点的“尺寸”和“桌面 -相除”节点,尺寸连接前同样也需要“合并 XYZ”节点,如图 7-86 所示。“合并 XYZ”节点中的 X 和 Y 决定桌面的长宽,X和 Y 暂时输入 1.2。添加输入参数后默认的数值为 0, 需要在几何节点修改器中手动输入参数,否则桌面是没有厚度的,如图 7-87 所示。
桌面的长宽决定了整个桌子的长宽,目前是“合并 XYZ”节点的 X 和 Y 控制桌面的长宽,直接把“组输入”节点连接到 X和 Y,即可增加两个输入的参数,分别命名,如图 7-88 所示。将范围限制到 0.5 ~ 10,以避免桌子太大或太小。如果调整桌面的长宽,桌腿并不会变,因为桌腿由一个栅格节点控制,所以要把桌面的 X 和 Y 连接到栅格节点,如图 7-89 所示。
由于桌腿是以栅格的点为中心的,所以桌腿超出了桌面的大小,栅格需要比桌面更小才行。首先笔者复制了一个“组输入”节点,分开连接线,这样看起来清晰点,如图 7-90 所示, 无须跟着操作;然后添加两个运算节点,使用“相减”模式,分别连入“桌面 X”和“桌面 Y”,相减的值为 0.2,这样无论怎么调节,桌面和桌腿之间都有 0.2 的边距,如图 7-91 所示。边距同样可以使用参数控制,试着自己添加边距的参数,范围控制在 0.05 ~ 1,默认值为 0.2。
3. 桌腿粗细参数:桌腿的尺寸也可以添加输入参数,如图 7-92 所示。如果增加桌腿尺寸,可能会超出桌面的大小,所以为了限制桌腿大小,需要让桌面的长宽减去边距,再减去桌腿的粗细才能是“桌腿点 - 栅格”的大小。只需要添加“相减”的运算节点即可做到,如图 7-93 所示,减去边距后再减去桌腿粗细,这样无论桌腿多粗都始终限制在桌面内了。
五.更多尝试
目前的桌子资产已经比较完整了,节点连接如图 7-94 所示,调整参数桌子会立马做出反应,长、宽、高都会自动处理。但还有很多可以提升的空间,例如桌腿可以有圆形和方形两种选项,桌腿上下粗细可以不一样等,本小节主要尝试切换选项的制作。
1. 整理节点:目前节点太多、太混乱,可以先整理一下。选中节点,按快捷键 Shift+P 即可框选选中的节点(使用快捷键需要启用 Node Wrangler 插件),把做同一件事的节点都框选起来后,可以修改颜色和标签,如图 7-95 所示。框选节点不是必须的,按照个人习惯来即可。如果不想看到这么多节点还可以使用分组功能,操作方法跟材质节点中的一样,这样看起来会更简洁。
2. 切换柱体桌腿:桌腿只是方形有些单调,圆形的桌腿会更好看。可以添加一个网格基本体的“柱体”节点作为桌腿替代立方体,连入实例,桌腿高度的输入参数连入“柱体”节点的“深度”,如图 7-96 所示。几何节点中不只有数值类的参数,还有布尔参数,也就是可以有“真”“假”两个选项,这样就可以通过参数切换形状。添加一个实用工具中的“切换”节点,如图 7-97 所示,输入一个切换参数,柱体连接“真”,立方体连接“假”。布尔值中 1= 真、0= 假,也就是说切换 =1 的时候,输出柱体到实例端口;切换 =0 的时候,输出立方体到实例端口。目前几何节点还不完善,用 0 和 1 表示布尔值,之后可能会更新为一个检查框,通过勾选和不勾选来切换。
3. 倒角和平滑着色:目前几何节点还没有倒角功能,需要倒角只能在几何节点修改器之后添加倒角修改器,如图 7-98所示,倒角的“段数”可以给多一点。常规的“平滑着色”也是无效的,因为模型是由几何节点输出的,所以“平滑着色”也需要在节点中完成。在组输出之前添加一个网格中的“设置着色平滑”节点,并勾选“平滑着色”,如图 7-99 所示。但奇怪的是桌腿虽然平滑了,但是没有倒角,因为桌腿是实例,需要转换成实际的模型才会受到修改器的影响。添加一个实例中的“实现实例”节点即可,如图 7-100 所示。
4. 圆形桌面切换:“柱体桌腿”节点的“半径”可以直接使用“桌腿 X”输入,避免增加更多的参数,如图 7-101 所示。使用同样的方式可以添加切换圆形桌面的选项,如图 7-102 所示。因为是半径,所以“桌面 X”乘以 0.8 之后的大小会更合适,桌腿也是一样。
5. 桌子移动到基面:最终还需要把整体模型往上移动桌腿高度的一半,这样才能把桌面移动到基面,也就像是在地平面上。至此本节案例就完成了,最终节点连接如图 7-103 所示。
制作好桌子资产后直接调节几何节点修改器中的参数,即可制作出各式各样的桌子。使用 Blender 最新的资产管理器还可以把桌子资产添加进资产库,以方便在其他文件中使用。
本章总结
Blender 是一个年轻、有活力的软件,新功能层出不穷。但万变不离其宗,打好基础才是最重要的,不能出任何新功能都
去学,新功能往往不稳定、不完善。可打好基础,钻研成熟的技术,等待新技术相对完善后再去学习。