Blender 教程: 创建抽象扭曲管状循环动画
欢迎来到本期的 Blender 动态图形教程!今天我们将一起学习如何制作一个非常酷炫的抽象扭曲管状循环动画。本教程将涵盖几何节点、着色技巧以及一些基础的打光方法。最终效果是一个平滑循环、视觉上引人入胜的动态图形。
0:00
/0:02
本教程适合对 Blender 有一定基础,特别是对几何节点有初步了解的用户。通过本教程,你将学到:
- 使用几何节点程序化生成复杂形态
- 控制实例的缩放和位移
- 设置循环动画的关键帧
- 基础的三点布光和材质设置技巧
准备工作
- Blender: 建议使用 Blender 3.0 或更高版本。
- Node Wrangler 插件: 确保已启用 Blender 内置的 Node Wrangler 插件,它能大幅提高节点编辑效率 (通过
Edit > Preferences > Add-ons搜索并勾选Node Wrangler)。
步骤一: 准备基础对象和几何节点设置
- 打开 Blender。如果场景中已有对象,请按
A全选,然后按X删除它们,创建一个空白场景。 - 按
Shift + A,在弹出的菜单中选择Mesh>Plane,添加一个平面。这个平面将作为我们几何节点修改器的载体。 - 再次按
Shift + A,选择Curve>Circle,添加一个贝塞尔圆环。 - 选中贝塞尔圆环,按
G键,将其移动到旁边,以免干扰后续操作。 - 选中贝塞尔圆环,在右侧的属性面板中,点击绿色的 Object Data Properties 图标(曲线形状)。
- 在
Shape部分,将Resolution Preview U和Render U的值都增加到64。这会使圆环更平滑。 - 展开
Geometry部分,在Bevel下的Depth参数中,增加数值(例如0.063m或根据你的喜好调整),使其形成一个圆管。这是我们将要在几何节点中实例化的基本形状。
步骤二: 构建几何节点基础结构
- 选中之前创建的 Plane 对象。
- 切换到 Geometry Nodes 工作区。
- 点击 + New 按钮,为平面创建一个新的几何节点树。
- 默认会有一个
Group Input节点,选中它并按X删除,因为我们不需要原始平面的几何信息。 - 按
Shift + A,在搜索框中输入Mesh Line,添加一个 Mesh Line 节点,并将其Mesh输出连接到Group Output节点的Geometry输入。- 在 Mesh Line 节点中,将
Count(数量)设置为30。 - 在
Start Location下,将Z值设置为一个负数,比如-1.61m(这个值可以后续调整,目的是让堆叠的圆环在世界中心对称分布)。 - 在
Offset下,将Z值设置为0.11m(这个值控制每个圆环之间的间距)。
- 在 Mesh Line 节点中,将
- 按
Shift + A,搜索并添加一个 Instance on Points 节点。将其放置在Mesh Line和Group Output之间。 - 从大纲视图 (Outliner) 中,将之前创建的贝塞尔圆环(现在应该叫做
BezierCircle)拖拽到几何节点编辑器中。这会创建一个 Object Info 节点。 - 将 Object Info 节点的
Geometry输出连接到 Instance on Points 节点的Instance输入。- 现在你应该能看到一堆叠起来的圆环。

步骤三: 控制实例缩放
- 按
Shift + A,搜索并添加一个 Map Range 节点。将其Result输出连接到 Instance on Points 节点的Scale输入。 - 按
Shift + A,搜索并添加一个 Gradient Texture 节点。将其Fac输出连接到 Map Range 节点的Value输入。 - 在
Gradient Texture节点上,将类型从Linear更改为Spherical。- 你会看到圆环的缩放呈现中间大、两端小的效果。
- 调整 Map Range 节点的参数来控制缩放效果:
From Min: 保持0From Max: 保持1To Min: 保持 0To Max: 设置一个较大的值,比如0.64(控制中间圆环的大小)- 你可以根据自己的喜好调整这些值,以获得期望的形状。

步骤四: 添加扭曲和位移
- 实现扭曲效果:
- 在 Instance on Points 节点之后,按
Shift + A搜索并添加一个 Realize Instances 节点。这是因为Simple Deform修改器需要真实的几何体才能工作,而实例化的对象在应用此节点前并非真实几何体。 - 回到主视图布局 (Layout),选中我们的几何节点对象 (Plane)。
- 在修改器属性面板中,点击
Add Modifier,选择Simple Deform。 - 在
Simple Deform修改器中,将模式更改为Twist。 - 将
Axis设置为X。 - 调整
Angle参数(例如62.4°),直到你获得满意的扭曲效果。你可以向正反两个方向调整。
- 在 Instance on Points 节点之后,按
- 为基础圆环添加位移(细节):
- 回到几何节点编辑器,选中之前拖入的
BezierCircle的 Object Info 节点。按Shift + D复制一个新的BezierCircle对象,并将其移到旁边,作为备份,以防需要重新调整。 - 选中用于实例化的那个
BezierCircle对象(非备份的那个,可以暂时在Object Info节点中断开连接,选中圆环,然后在主视图中右键Convert to>Mesh,将其从曲线转换为网格)。 - 重命名转换后的网格对象:在大纲视图中,将转换后的
BezierCircle(现在是网格)重命名为disp(displacement 的缩写) 或其他你喜欢的名字。 - 选中这个
disp网格对象。 - 在修改器属性面板,添加一个
Displace修改器。 - 点击
Displace修改器中的 + New 按钮创建一个新的纹理。 - 点击最右边的图标(像两个滑块的那个),进入纹理属性面板。
- 将
Type从Image or Movie改为Magic。 - 在
Magic Texture设置中,将Depth设置为0。 - 回到
Displace修改器设置,调整Strength和Midlevel参数,直到获得满意的波浪状扭曲效果。例如:Strength为0.120,Midlevel为0.548。 - 在几何节点编辑器中,将 Object Info 节点的目标对象重新指向这个修改过的
disp网格对象(如果之前断开了,重新连接其Geometry到Instance on Points的Instance)。
- 回到几何节点编辑器,选中之前拖入的

步骤五: 设置循环动画
我们的动画将有两个主要部分:整体形态的上下浮动循环和表面纹理的旋转循环。
- 整体形态浮动动画:
- 在几何节点编辑器中,找到 Mesh Line 节点。我们将对其
Start Location的Z值进行动画。 - 确保你的时间线总帧数设置得足够长,比如
320帧。我们这里以 60 帧 为一个循环周期。 - 设置默认插值为线性: 进入
Edit > Preferences > Animation,将Default Interpolation设置为Linear。 - 在第
0帧(或1帧,取决于你的偏好),将 Mesh Line 节点的Start Location的Z值设置为一个初始值,比如-0.88m。鼠标悬停在该数值框上,按I键插入关键帧。 - 前往第
60帧(或你的循环结束帧),将Z值设置为一个使图案看起来与第0帧完全相同的值。这个值需要通过拖动并观察视图来找到。对于视频中的-0.88m初始值和0.11m的 Z Offset,一个合适的循环值大约是-0.77m(即初始值加上一个 Offset 的整数倍,使得图案对齐)。按I插入关键帧。- 视觉确定循环点:拖动
Start Location的Z值,直到在视图中,最顶部的圆环形态与第0帧时最底部的圆环形态(或反之)看起来完全一致。
- 视觉确定循环点:拖动
- (可选,更精确的循环)使用图形编辑器:
- 选中 Mesh Line 节点。
- 在时间线窗口左下角,将窗口类型切换到 Graph Editor。
- 在左侧通道列表中,找到
Geometry Nodes > Z Default Value (Start Location)。 - 按
N键调出侧边栏,选择Modifiers标签。 - 点击
Add Modifier,选择Cycles。这将使动画在该关键帧范围内无限循环。
- 在几何节点编辑器中,找到 Mesh Line 节点。我们将对其
- 表面纹理旋转动画:
- 选中之前为
Displace修改器创建的 Empty 对象(如果还没创建,按Shift + A>Empty>Plain Axes添加一个,并适当移动位置)。 - 在
Displace修改器的Coordinates设置中,选择Object,然后在Object字段中选择你创建的这个 Empty 对象。 - 选中 Empty 对象。
- 在时间线的第
0帧(或1帧),按I键,为Rotation插入关键帧(所有轴的旋转都为0)。 - 前往时间线的最后一帧(例如
320帧)。 - 在右侧的对象属性面板 (橙色方块图标) 的
Transform>Rotation下,将Z轴旋转设置为720度 (即两整圈,360 * 2)。按I键为Rotation插入关键帧。- 如果希望旋转更快或更多圈,可以增加这个值(必须是360的倍数以保证循环)。
- 选中之前为
步骤六: 设置灯光和背景
- 背景平面:
- 按
~(波浪号键) 选择Front视图。 - 按
Shift + A>Mesh>Plane添加一个新的平面。 - 按
R然后X然后90,将其旋转90度使其竖立。 - 按
S键将其放大很多,作为背景。 - 按
G然后Y将其向后移动一段距离。
- 按
- 主光源 (Key Light):
- 按
Shift + A>Light>Area添加一个区域光。 - 按
G将其移动到主体的斜前方。 - 在灯光属性面板 (绿色灯泡图标),将
Shape改为Disk。 - 按
R两次,自由旋转灯光,使其朝向主体。 - 将
Power增加到一个较高的值,比如800W(根据场景调整)。 - 调整
Size(例如1m)和Spread(例如166°) 来控制光照的柔和度和范围。
- 按
- 补光源 (Fill Light) / 辅助光:
- 选中主光源,按
Alt + D(创建关联复制,这样修改一个灯光参数会影响另一个) 复制一个新的区域光。 - 将其移动到主体的另一侧,通常功率比主光源低,用来减弱阴影。
- 也可以用它作为背景光,将其旋转使其照亮背景平面。
- 选中主光源,按
- 背景材质:
- 选中背景平面。
- 在材质属性面板,点击
+ New创建新材质。 - 将
Base Color调暗,可以带一点颜色(例如深蓝绿色)。
步骤七: 设置主体材质
- 选中主动画对象 (原先的 Plane)。
- 切换到 Shading 工作区。
- 如果它还没有材质,点击
+ New。将其命名为 “guy” 或你喜欢的名字。- 重要: 回到 Geometry Nodes 工作区,在节点树的末端(
Realize Instances和Group Output之间),按Shift + A搜索并添加一个 Set Material 节点。在下拉菜单中选择你刚刚创建的 “guy” 材质。
- 重要: 回到 Geometry Nodes 工作区,在节点树的末端(
- 回到 Shading 工作区。我们将混合两种
Principled BSDF着色器。 - 选中当前的
Principled BSDF节点,按Shift + D复制一个。 - 按
Shift + A,搜索并添加一个 Mix Shader 节点,将其连接到Material Output的Surface。 - 将两个
Principled BSDF节点的BSDF输出分别连接到Mix Shader的上下两个Shader输入。 - 设置第一个 Principled BSDF (类似金属/粗糙表面):
Base Color: 保持默认的浅灰色或你之前为背景选择的颜色(#B3E1E7)。Metallic:0Roughness:0.5(或根据喜好调整)
- 设置第二个 Principled BSDF (玻璃/透射表面):
Base Color: 保持默认。Roughness: 调低,比如0.073(使其更光滑)。Transmission: 设置为1(使其完全透射,像玻璃)。
- 使用渐变控制混合:
- 按
Shift + A,搜索并添加一个 ColorRamp 节点。将其Color输出连接到Mix Shader的Fac输入。 - 按
Shift + A,搜索并添加一个 Gradient Texture 节点。 - 按
Ctrl + T(需要启用 Node Wrangler 插件) 为Gradient Texture添加 Texture Coordinate 和 Mapping 节点。 - 将 Texture Coordinate 节点的
Object输出连接到 Mapping 节点的Vector输入。 - 将 Gradient Texture 节点的
Fac输出连接到 ColorRamp 节点的Fac输入。 - 调整渐变和混合:
- 在 Mapping 节点中,调整
Location的X值 (例如0.44m) 和Rotation的Y值 (例如90°或75.6°) 来改变渐变的方向和位置。 - 在 ColorRamp 节点中,点击
+号添加一个新的色标,使其总共有三个色标。 - 将两端的色标设置为黑色 (
#000000)。 - 将中间的色标设置为白色 (
#FFFFFF)。 - 拖动这些色标的位置,以控制两种材质混合的区域和过渡。目标是让一部分看起来是实体材质,一部分看起来是玻璃材质。
- 在 Mapping 节点中,调整
- (可选)在 ColorRamp 和 Mix Shader 之间添加一个 Invert 节点,可以反转混合效果,看看哪种更好看。
- 按
步骤八: 渲染设置和最终输出
- 切换到渲染属性面板 (小相机图标)。
- 选择
Cycles作为渲染引擎。 - 如果你的显卡支持,将
Device设置为GPU Compute。 - 在
Render设置下(与Viewport设置区分开),可以将Max Samples设置为800左右(或根据你的机器性能和期望的图像质量调整)。启用Denoise。 - 在
Light Paths>Max Bounces下,可以将Total设置为5,其他值也相应调整,以在保证质量的同时优化渲染速度。 - 在输出属性面板 (小打印机图标):
- 设置你的输出分辨率 (例如
1920x1080)。 - 设置帧率 (例如
24 fps)。 - 设置
Frame Start和End(例如1到320)。 - 选择一个输出文件夹。
File Format: 选择PNG(如果你想输出图像序列) 或FFmpeg video。- 如果选择
FFmpeg video:Encoding>Container: 选择MPEG-4。Video>Video Codec:H.264。Output Quality: 选择Perceptually Lossless。
- 设置你的输出分辨率 (例如
- 点击
Render>Render Animation。
总结
恭喜你!你已经成功创建了一个复杂的抽象扭曲管状循环动画。我们通过几何节点构建了基础形态,并用修改器和纹理增加了细节和动态。通过关键帧动画和材质设置,我们赋予了它生命力。
你可以尝试调整几何节点中的参数、修改器的设置、灯光的位置和强度,以及材质的颜色和属性,来创造出更多独特的效果。希望你喜欢这个教程!