Blender 教程: 使用几何节点创建抽象循环动画

欢迎来到本篇 Blender 教程!我们将使用 Blender 中的几何节点 (Geometry Nodes) 创建一个简单但效果炫酷的抽象循环动画。这个教程非常适合初学者,即使你之前从未使用过几何节点,也能轻松跟上。
通过本教程,你将学会:
- Blender 几何节点的基础使用方法。
- 如何使用节点程序化地创建和控制对象实例。
- 如何为几何节点中的参数设置动画。
- 基本的材质和背景设置。
- Cycles 渲染器的基本设置。
最终效果如下:一个由多个玻璃质感的方块堆叠而成,并且有节奏地扭曲旋转的循环动画。
0:00
/0:02
步骤一: 场景初始化与几何节点编辑器设置
- 打开 Blender 。启动后,如果看到启动画面 (Splash Screen),可以直接在画面外的任意位置点击鼠标左键关闭它,进入默认场景。
- 默认场景中会有一个立方体、一个光源和一个相机。我们首先需要清空场景。按下键盘上的
A
键全选所有对象。 - 按下
X
键,在弹出的菜单中点击 Delete,删除所有对象。 - 现在场景是空的,我们需要添加一个新的立方体作为我们动画的基础。按下
Shift + A
,在弹出的添加菜单中选择 Mesh -> Cube。一个新的默认立方体会被添加到场景中心。 - 在右侧新创建的面板中,点击其左上角的 Editor Type 图标 (通常显示为一个立方体或网格球的图标)。在下拉菜单中选择 Geometry Node Editor。
- 在几何节点编辑器面板中,你可能会看到右侧有一个侧边栏。按下
N
键可以隐藏/显示这个侧边栏。我们暂时不需要它,可以按N
将其隐藏。 - 确保在 3D 视口中选中了我们刚才创建的立方体。然后在几何节点编辑器顶部的工具栏中,点击 + New 按钮。这会为选中的立方体创建一个新的几何节点树,并自动添加一个
Group Input
(组输入) 和一个Group Output
(组输出) 节点。
接下来,我们需要设置几何节点编辑器。将鼠标指针移动到 3D 视口 (3D Viewport) 的右上角,当指针变为十字形时,点击并向左拖动,将视口分割成两个。
步骤二: 构建立方体堆叠效果
我们的目标是创建一个由多个薄片立方体堆叠而成的结构。
- 在几何节点编辑器中,按下
Shift + A
打开添加节点菜单。 - 在搜索框中输入
Mesh Line
,然后选择并添加 Mesh Line 节点。这个节点可以创建一条由多个顶点组成的线。 - 再次按下
Shift + A
,搜索并添加 Instance on Points 节点。这个节点可以将一个几何体(实例)复制到另一个几何体的每个点上。 - 现在连接节点:此时,你应该能在 3D 视口中看到一堆重叠的立方体。
- 将
Group Input
节点的Geometry
输出端口 (绿色圆点) 连接到Instance on Points
节点的Instance
输入端口。这告诉节点系统我们要复制的是原始立方体的几何形状。 - 将
Mesh Line
节点的Mesh
输出端口连接到Instance on Points
节点的Points
输入端口。这指定了我们要在Mesh Line
生成的各个顶点上放置实例。 - 将
Instance on Points
节点的Instances
输出端口连接到Group Output
节点的Geometry
输入端口。这将最终的几何体输出到场景中。
- 将
- 调整 Mesh Line 节点参数:
- 将
Mode
从默认的 "Offset" 改为 "End Points"。 - 将
Start Location
的 Z 值设置为 -1 m。 - 将
End Location
的 Z 值设置为 1 m。 - 将
Count
(点数,即立方体数量) 设置为 6。
- 将
- 调整原始立方体的厚度:现在你应该看到 6 个薄片立方体均匀地堆叠在一起。
- 在左侧的 3D 视口中,确保你的原始立方体(在层级管理器中名为 "Cube")仍被选中。
- 按下
Tab
键进入 Edit Mode (编辑模式)。 - 按下
S
键(缩放),然后按下Z
键(约束到Z轴)。拖动鼠标,将立方体在 Z 轴上压扁,使其变成一个薄片,厚度大约为0.2
到0.3
之间,确保堆叠的 6 个薄片之间有合适的间隙,互不穿插。你可以多次按S
->Z
进行微调。 - 调整满意后,按下
Tab
键退出编辑模式,回到 Object Mode (物体模式)。

步骤三: 实现立方体旋转效果
接下来,我们将让每个立方体根据其在堆叠中的位置(索引)进行旋转。
- 在几何节点编辑器中,按下
Shift + A
添加以下节点:- Index 节点 (Input -> Index):提供每个实例的索引号 (从0开始)。
- Combine XYZ 节点 (Utilities -> Vector -> Combine XYZ):允许我们分别控制X、Y、Z三个轴向的旋转。
- 连接节点:此时,立方体会根据其索引值进行旋转,但旋转幅度可能过大。
- 将
Index
节点的Index
输出连接到Combine XYZ
节点的Z
输入。我们只希望沿Z轴旋转。 - 将
Combine XYZ
节点的Vector
输出连接到Instance on Points
节点的Rotation
输入。
- 将
- 控制旋转幅度:现在旋转幅度变小了,但单位是弧度,不直观。
- 按下
Shift + A
添加一个 Math 节点 (Utilities -> Math)。 - 将 Math 节点的运算类型从 "Add" 改为 "Divide"。
- 将
Index
节点的Index
输出连接到Divide
节点的顶部Value
输入。 - 在
Divide
节点的底部Value
输入框中填入 5。 (因为我们有6个实例,索引从0到5,所以最大索引是5。用当前索引除以最大索引,可以将旋转值归一化到0-1范围)。 - 将
Divide
节点的Value
输出连接到之前Combine XYZ
节点的Z
输入 (替换掉原来的Index
直连)。
- 按下
- 将弧度转为角度并控制旋转范围:现在,最顶部的立方体将旋转90度,其他立方体则按比例旋转。你可以调整
Multiply
节点的值来改变最大旋转角度,例如改为180
。- 再添加一个 Math 节点,将其运算类型改为 "To Radians" (在 Functions -> Conversions 类别下)。这个节点可以将角度值转换为Blender内部使用的弧度值。
- 再添加一个 Math 节点,将其运算类型改为 "Multiply"。
- 重新连接节点:
Index
->Divide
(by 5)Divide
(by 5) 的输出 ->Multiply
节点的顶部Value
输入。Multiply
节点的底部Value
输入框中暂时填入 90 (代表最大旋转90度)。Multiply
节点的Value
输出 ->To Radians
节点的Degrees
输入。To Radians
节点的Radians
输出 ->Combine XYZ
节点的Z
输入。

步骤四: 制作循环动画
我们将使用 Mix
节点来控制动画的起始和结束旋转状态,并设置关键帧。
- 删除刚才添加的
Multiply
(乘法) 节点。 - 按下
Shift + A
添加一个 Mix Node (Utilities -> Math -> Mix Node)。确保其模式为 Float。 - 连接节点:
- 将
Divide
(by 5) 节点的Value
输出连接到Mix
节点的Factor
输入。 - 将
Mix
节点的Result
输出连接到To Radians
节点的Degrees
输入。 Mix
节点的A
输入将控制堆叠底部方块的旋转角度,B
输入将控制顶部方块的旋转角度。
- 将
- 设置时间轴:
- 在 Blender 主界面下方的时间轴 (Timeline) 编辑器中,将
End
帧设置为 60。这将使我们的动画总长度为60帧。
- 在 Blender 主界面下方的时间轴 (Timeline) 编辑器中,将
- 设置关键帧:
- 第 1 帧:
- 确保时间轴播放头在第 1 帧。
- 在
Mix
节点中,将Value A
和Value B
都设置为 0。 - 鼠标悬停在
Value A
输入框上,按下I
键插入关键帧。同样地,悬停在Value B
上按I
插入关键帧。这两个输入框会变为黄色,表示已设置关键帧。
- 第 30 帧:
- 将时间轴播放头移动到第 30 帧。
- 在
Mix
节点中,将Value A
和Value B
都设置为 180。 - 再次分别为
Value A
和Value B
按I
键插入关键帧。
- 第 1 帧:
- 调整动画曲线以实现循环:
- 将时间轴编辑器切换到 Graph Editor (图表编辑器)。可以通过点击时间轴编辑器左上角的 Editor Type 图标进行切换。
- 在图表编辑器中,你可能会看到两条动画曲线。如果曲线显示不全,可以点击菜单 View -> Frame All。
- 按
N
键隐藏右侧边栏(如果可见)。 - 在图表编辑器空白处点击一下,取消所有曲线的选择。
- 在左侧的通道列表 (Channels) 中,找到并双击
Default Value (Mix) B
(对应Mix
节点的Value B
),以仅选中这条曲线。 - 按下
G
键 (抓取/移动),然后按下X
键 (约束到X轴)。向右拖动鼠标,将这条曲线整体向右平移大约 30 帧,使其起点与第 1 帧的Value A
对齐,终点超出60帧。一个简单的办法是,选中曲线后,G
X
30
Enter
,将其向右移动30帧。
- 按下
空格键
播放动画,检查效果。
步骤五: 添加模型细节 (Modifiers)
为了让模型看起来更精致,我们将添加一些修改器。
- 回到几何节点编辑器。
- 在
Instance on Points
节点和Group Output
节点之间添加以下节点:- Realize Instances 节点 (Instances -> Realize Instances):将实例转换为实际的网格数据,这样后续的修改器才能正确作用于合并后的整体模型。将其连接在
Instance on Points
之后。 - Set Shade Smooth 节点 (Mesh -> Write -> Set Shade Smooth):使模型表面平滑。确保其
Shade Smooth
复选框被勾选。将其连接在Realize Instances
之后,Group Output
之前。
- Realize Instances 节点 (Instances -> Realize Instances):将实例转换为实际的网格数据,这样后续的修改器才能正确作用于合并后的整体模型。将其连接在
- 添加传统修改器:
- 选中场景中的立方体对象。
- 转到右侧的 Modifier Properties 面板 (扳手图标)。
- 点击 Add Modifier,选择 Bevel (倒角)。
- 将
Amount
(大小) 设置为一个很小的值,例如 0.001 m。 Segments
(段数) 可以保持为1
或增加到2
。
- 将
- 再次点击 Add Modifier,选择 Subdivision Surface (表面细分)。
- 将
Levels Viewport
(视图层级) 和Render
(渲染层级) 都设置为 5 或 6 (根据你的电脑性能调整,越高越平滑但越慢)。
- 将
步骤六: 设置材质与背景
- 设置对象材质:
- 回到几何节点编辑器。
- 在
Set Shade Smooth
节点和Group Output
节点之间,添加一个 Set Material 节点 (Material -> Set Material)。 - 转到 Material Properties 面板 (红色球形图标)。如果之前没有材质,点击 + New 创建一个新材质。将此材质命名为 "glass"。
- 回到
Set Material
节点,从下拉菜单中选择我们刚创建的 "glass" 材质。 - 在 Material Properties 面板中,选中 "glass" 材质。将
Surface
(表面) 类型从 "Principled BSDF" 改为 "Glass BSDF"。 - 将
Glass BSDF
的Roughness
(粗糙度) 设置为一个较小的值,例如 0.01,以获得更清晰的玻璃效果。
- 设置世界背景:
- 将几何节点编辑器面板切换到 Shader Editor (着色器编辑器)。
- 在着色器编辑器顶部,将上下文从 "Object" 切换到 "World"。
- 默认会有一个
Background
节点连接到World Output
。 - 按下
Shift + A
,添加以下节点:- Geometry 节点 (Input -> Geometry)。
- Separate XYZ 节点 (Converter -> Separate XYZ)。
- Math 节点 (Converter -> Math)。将其操作改为 "Multiply Add"。
- ColorRamp 节点 (Converter -> ColorRamp)。
- 连接节点:
Geometry
节点的Position
输出 ->Separate XYZ
节点的Vector
输入。Separate XYZ
节点的Z
输出 ->Multiply Add
节点的顶部Value
输入。 (Multiplier 和 Addend 保持默认的0.5即可)Multiply Add
节点的Value
输出 ->ColorRamp
节点的Fac
输入。ColorRamp
节点的Color
输出 ->Background
节点的Color
输入。
- 调整 ColorRamp:
- 将插值方式从 "Linear" 改为 "Ease"。
- 点击最左边的颜色滑块 (Position 0.0),将其颜色设置为深蓝色或深紫色 (例如,R: 0.05, G: 0.0, B: 0.2)。
- 点击最右边的颜色滑块 (Position 1.0),将其颜色设置为浅蓝色或白色 (例如,R: 0.6, G: 0.8, B: 1.0)。
- 你可以在中间点击
+
号添加更多颜色滑块来创建更复杂的渐变。例如:- Pos 0.325: 深红 (R:0.3, G:0, B:0.05)
- Pos 0.670: 橙黄 (R:0.8, G:0.5, B:0.1)
- Pos 0.782: 亮白 (R:1, G:1, B:1)
- 不断调整颜色和滑块位置,直到在渲染预览中看到满意的背景效果。
步骤七: 设置相机与渲染参数
- 相机设置:
- 在 3D 视口中,按下
N
键打开侧边栏,选择 View 标签。 - 勾选 "Camera to View"。这样你在视口中的导航就会直接控制相机的视角。
- 调整视角,使堆叠的立方体完整且居中显示。
- 调整好后,取消勾选 "Camera to View" 以锁定相机位置。
- 选中相机对象 (在层级管理器中选择 "Camera")。
- 转到 Object Data Properties 面板 (绿色相机图标)。
- 将
Focal Length
(焦距) 设置为 250 mm,这会产生一种更平坦、畸变更小的透视效果。
- 在 3D 视口中,按下
- 渲染设置:
- 转到 Render Properties 面板 (相机图标)。
- 将
Render Engine
(渲染引擎) 从 "Eevee" 改为 "Cycles"。 - 如果你的电脑有支持的 GPU,可以将
Device
(设备) 设置为 "GPU Compute"。 - 展开
Light Paths
(光程) ->Max Bounces
(最大反弹次数)。将Total
,Diffuse
,Glossy
,Transmission
,Volume
,Transparent
的值都提高,例如都设置为 128。这对于渲染高质量的玻璃材质很重要。 - 展开
Denoise
(降噪) 选项,勾选Render
和Viewport
的复选框。Denoiser
可以选择OptiX
(如果NVIDIA GPU可用) 或OpenImageDenoise
。 - 勾选
Motion Blur
(运动模糊) 复选框,使用默认设置即可。
- 输出设置:
- 转到 Output Properties 面板 (打印机图标)。
- 在
Format
(格式) 部分,勾选 "Render Region" 复选框。这将只渲染相机视图内的区域。 - 设置动画的输出路径和文件格式(例如PNG序列或视频格式如FFmpeg Video)。
- 最终预览与调整:
- 在 3D 视口中,切换到渲染预览模式 (视口右上角的球形图标)。
- 在视口工具栏中,可以点击 Show Overlays 按钮 (两个重叠圆圈的图标) 来隐藏所有辅助线和Gizmo,以便更好地预览最终效果。
- 根据预览效果,你可能还需要微调
ColorRamp
的颜色和位置,或者玻璃材质的IOR
(折射率,默认为1.450,对于普通玻璃是合适的)。
总结
现在,你可以点击 Render -> Render Animation 来渲染你的循环动画了!
通过这个教程,我们使用 Blender 的几何节点创建了一个动态的抽象方块堆叠动画。我们学习了如何实例化对象、如何通过索引控制实例的属性、如何设置关键帧动画,并对材质、背景和渲染进行了基本配置。希望你喜欢这个教程,并从中学习到有用的技巧!