- 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.几何节点
想要创作出更优秀的作品,需要掌握节点逻辑。本节将讲解节点的相关知识。
一.什么是节点
节点可以说是一种创作方式,如果拿做菜来说,正常流程就是买菜 > 洗菜 > 切菜 > 炒菜 > 装盘 > 上菜,这是一个破坏性流程,也就是说做完了就做完了,没有机会做任何更改。如果中途添加了修改器,就是半破坏性流程,例如炒菜那一步,添加了一个口味修改器,可以切换辣和不辣的口味,那么做完之后觉得不辣,还可以通过调整修改器的参数,把口味改成辣的,这就是半破坏性。有的步骤是不可更改的,有的步骤是可以通过修改器修改的。
那么有没有完全的非破坏性流程呢?节点系统就是。如果用节点的形式来做一道菜,那么买菜、洗菜、切菜、炒菜、装盘、上菜都是节点,以做青椒肉丝为例,如图 4-88 所示。每一个节点都有参数可以调节,例如洗菜那一步可以调节洗菜次数,调整节点参数后,整个流程都会刷新一遍,完全无缝替换。例如现在的参数是做青椒肉丝,如果把买菜环节的青椒换成千张,那么整个节点流程最终输出的就是千张肉丝。由此可见,修改节点就像是穿越回某一刻,做一些修改,再穿越回来。
节点系统有另一个形容词“程序化”,整个流程就是一步一步的,有点像是工厂的一条流水线,每个环节都是节点。节点在很多
软件中都有应用,其中最著名的是 Houdini。Houdini 是一个制作特效的软件,在 Houdini 中新建每一个立方体都要通过节点实现。其他软件中,节点系统一般都只用于材质,在Blender中使用节点系统最多的也是材质系统,如图 4-89 所示,然后是合成系统。Blender 3.0 开始加入了几何节点系统,可以通过节点创作场景,图 4-90 所示作品就是使用几何节点制作的。
主流的渲染使用的都是材质节点(除 Blender 自带的渲染引擎外),为什么材质系统都使用节点而不是破坏性流程呢?这是因为材质是需要反复修改的。例如一开始觉得红色好看,便将基础色设置为红色;之后又觉得蓝色好看,又想改成蓝色。节点系统就能够很好地满足这样的需求。3.3.3 小节中的随机材质就很好地体现了节点系统的优势,通过几个节点就给十几个物体赋予了随机的颜色,并且随时可以修改这些颜色。
每一个节点都有各自的功能,通过连接节点,最终可以输出想要的内容,并且随时可以修改节点。那么节点这么好,为什么不整个软件都使用节点呢?节点真的就是完美的吗?其实也不是。首先,并不是所有的内容都适合使用节点,例如 3.1 节中的积木基础版的模型,使用正常的流程建模,熟练的人只需要十几秒钟。但是使用节点系统,就算是很熟悉,可能也需要30s 以上。而一个简单的积木模型,制作好后一般也不会有修改的需求,所以也不需要使用节点。其次是节点系统会占用更多的内存等计算机资源,更改节点参数,整个节点就会重新输出一遍。最后就是节点也有局限性,并不是所有的操作都有节点,例如把框选做成节点,就有点多余,因为这样一来制作一个简单的模型就会有几十个节点。
总结: 节点系统适用于需要反复调整以尝试不同效果的创作内容,尤其适合大批量输出差异化的内容,例如生成 100 个略有不同的石头,通过建模就太麻烦,但是使用节点就很容易实现。节点的逻辑是相通的,只是最后输出的形式不同。要想创作出优秀的 CG 作品,就必须要理解节点的逻辑。
思考
试着用节点的逻辑把做一杯果汁的过程填写在图 4-91 中。也可以把生活中的事情用节点的逻辑在纸上画出来,加深对节点逻辑的理解。
二.节点的逻辑
节点类型
节点可以分为 3 种类型。节点之间靠线连接, 线连接的地方叫作端口。观察图 4-92,可以看到“材质输出”节点只在左侧有端口,属于输出节点;颜色节点只在右侧有端口,属于输入节点;两侧都有端口的是处理节点。
输出节点:输出节点是没有右侧的端口的。输出节点用来接收最终的输出。Blender 使用 Cycles 渲染引擎时材质系统中输出节点只有 3 个,如图 4-92 所示,其中主要使用的是“材质输出”节点。一种材质无论有多少节点,最终都必须要输出到“材质输出”节点。
输入节点:与输出节点相反,输入节点是给其他节点提供输入信息的。输入节点本身包含着某些信息,例如物体的颜色、位置,或者只是颜色。常用输入节点如图 4-93 所示。
处理节点:处理节点处理左侧端口提供的数据,处理后传递到右侧端口以传递给下一个节点。节点系统中大部分节点都是处理节点,主要的工作都由处理节点完成。例如混合着色器就是一个处理节点,它把左侧的两个 BSDF 节点混合之后,输出给“材质输出”节点。
节点颜色和数值类型
Blender 中不同类型的节点标题颜色也不同。例如,材质节点大概分为 10 组,如图 4-94 所示,每一组节点都有各自的颜色,
通过节点标题颜色就能区分节点的类型 , 如图 4-95 所示。
不仅是标题颜色不同,节点端口也有着不同的颜色,不同的颜色代表不同的数据类型。下面介绍所有的数据类型。
1.浮点数
浮点数指的是带有小数位的数,例如 0.1、0.425,一般浮点数的取值范围是 0.000 ~ 1.000。例如图 4-107 中所有灰色的浮点数都是有范围限制的数,范围都是 0.000 ~ 1.000。但是也有例外,只是比较少见。Blender 中大部分的参数都是浮点数类,
当小数点后都是 0 时不需要把小数点后 3 位都输入,输入 0.5 时,Blender 会自动补齐成 0.500。
2.颜色
之前的案例中多次修改了基础色,基础色就属于颜色类型。颜色类型不只是指某一种颜色,图片也同样属于颜色类型,可以连接到颜色端口。
3.矢量
位置信息包含 X、Y 和 Z 这 3 个数值,旋转和缩放也是。浮点数类型显然不能表示这种信息,所以有了矢量类型。矢量由一组(3个)浮点数组成。除了位置、旋转的变换信息,矢量还用于法向和图像纹理的映射,后文的案例中会经常使用到矢量。
4.着色器
着色器是一个非常重要的概念。着色器用于描述表面或体积上与灯光的交互,而不只是简单地指表面的颜色。最常用的是原
理化 BSDF 着色器,用于描述物体表面的光反射、折射和吸收。一种材质可以由多个着色器组成。
数据类型转换
节点之间连接时,一般是同样的颜色对同样的颜色,如图 4-96 所示。也就是同样的数据类型互相连接,部分不同数据类型之间会自动转换。例如浮点数类型连接到颜色,如图 4-97 所示,浮点数类型会自动转换成颜色。观察图 4-96 和图 4-97 可以发现,有数据类型转换时节点中间的连接线是渐变色,没有转换时就是端口的颜色。当数据类型转换失败时连接线会变成红色,如图 4-98 所示。这种情况代表连接错误, 必须断开连接。
颜色数据跟矢量比较相似,也是 3 个数值,范围均是 0 ~ 1,例如(0.400,0.250,0.800) 。那么浮点数是如何转换成颜色的呢? 0.500 如果转换成颜色就会变成(0.500,0.500,0.500) 这样的形式。其他数据类型转换与此类似, 唯有着色器是不可以转换成任何其他数据类型的。
三.节点的应用
节点基本操作
Blender 中不同节点系统的节点操作方法都是一样的,其中常用的操作在节点的快捷菜单中,更全面的节点操作在“节点”菜单中。首先介绍节点的常用快捷键:添加节点(Shift+A)、删除节点(X 或者 Delete)、展开折叠节点(H)、启用或禁用节点(M)、重命名节点(F2)。大部分快捷键的应用前提都是先选中要操作的节点。
接下来介绍一些节点的基本操作。
添加节点:在空白处按快捷键 Shift+A 即可添加节点,按快捷键 Ctrl+F 可以搜索节点以快速添加节点。
连接节点:单击端口并拖动出一根线,将之放到要连接到的端口上即可。连接可以从起点连接到终点,也可以从终点连接到起点,但是不能自己连接自己。连接上节点后,相应端口的参数会被输入的节点替代。
断开连接:删除节点就会自动断开所有连接线。单击连接线的任意端拖动即可断开连接线,按住 Ctrl 键并拖动鼠标右键可以一次性断开多根连接线。
删除节点:菜单项和快捷键都可以删除节点,但是删除节点后线会断开。如果要保持线连接,只需选中节点然后按快捷键Ctrl+X,即可自动连接前后节点。删除节点前后如图 4-99 和图 4-100 所示,但是只能自动连接相同的数据类型。
节点信息:节点标题一般是节点类型的名称,可以通过按 F2 键或者直接在侧边栏中修改节点的名称。侧边栏逻辑之前已经讲解过,这里就不重复。侧边栏中的标签代表节点显示的名称,而节点名称并不是显示出来的名称,节点名称就像是身份证号一样,是独一无二的,标签是可以重复的。勾选侧边栏中的“颜色”复选框后,还可以设置节点的背景色。
节点状态:节点多了之后会显得很乱,尤其是参数多的节点。这时候可以选中节点,按 H 键或者单击节点标题栏最左边的按钮展开或者折叠节点,按快捷键 Ctrl+H 可以隐藏没有连接的端口,按 M 键可以启用或者禁用节点。禁用节点后,节点不起任何作用,但是连接线仍然在。
节点管理
选中节点按快捷键 Ctrl+G 即可把节点建立成一个组,并自动进入组,按 Tab 键或者单击“回到父级节点”按钮即可回到父级,如图 4-101所示。节点组样式如图 4-102 所示。节点组的好处是可以重复利用,按快捷键 Ctrl+Alt+G 即可解散组。
有时候不需要分组,而只是分区域,选中节点按快捷键 Ctrl+J 即可把节点放到一个框内,如图 4-103 所示。框其实是一个特殊的节点,在添加节点> 布局中可以找到该节点,框的颜色和标题都可以修改。通过给节点分框即可整理清楚节点,选中节点按快捷键 Alt+P 即可把节点从框中移除,选中框按 X 键即可直接把框删除。
节点插件
Blender 中有两个必须要用到的节点插件:Node Wrangler 和 Node Arrange。尤其是前者,非常强大,提供了很多很
方便的快捷方式,后文的案例会经常用到,一定要在偏好设置中启用。
节点逻辑总结
节点是非常有魅力的一种创作方式,通过节点能够非常灵活地进行创作。其实节点的逻辑也非常好理解,节点也就是用步骤的方式创作。为了更好地理解节点,可以试着把生活中的事情都拆分成步骤,以节点的形式写下来,并且用不同的数据类型作为参数。