Blender 教程: 创建抽象扭曲管状循环动画

Blender 教程: 创建抽象扭曲管状循环动画

欢迎来到本期的 Blender 动态图形教程!今天我们将一起学习如何制作一个非常酷炫的抽象扭曲管状循环动画。本教程将涵盖几何节点、着色技巧以及一些基础的打光方法。最终效果是一个平滑循环、视觉上引人入胜的动态图形。

0:00
/0:02

本教程适合对 Blender 有一定基础,特别是对几何节点有初步了解的用户。通过本教程,你将学到:

  • 使用几何节点程序化生成复杂形态
  • 控制实例的缩放和位移
  • 设置循环动画的关键帧
  • 基础的三点布光和材质设置技巧

准备工作

  • Blender: 建议使用 Blender 3.0 或更高版本。
  • Node Wrangler 插件: 确保已启用 Blender 内置的 Node Wrangler 插件,它能大幅提高节点编辑效率 (通过 Edit > Preferences > Add-ons 搜索并勾选 Node Wrangler)。

步骤一: 准备基础对象和几何节点设置

  1. 打开 Blender。如果场景中已有对象,请按 A 全选,然后按 X 删除它们,创建一个空白场景。
  2. Shift + A,在弹出的菜单中选择 Mesh > Plane,添加一个平面。这个平面将作为我们几何节点修改器的载体。
  3. 再次按 Shift + A,选择 Curve > Circle,添加一个贝塞尔圆环。
  4. 选中贝塞尔圆环,按 G 键,将其移动到旁边,以免干扰后续操作。
  5. 选中贝塞尔圆环,在右侧的属性面板中,点击绿色的 Object Data Properties 图标(曲线形状)。
  6. Shape 部分,将 Resolution Preview URender U 的值都增加到 64。这会使圆环更平滑。
  7. 展开 Geometry 部分,在 Bevel 下的 Depth 参数中,增加数值(例如 0.063m 或根据你的喜好调整),使其形成一个圆管。这是我们将要在几何节点中实例化的基本形状。

步骤二: 构建几何节点基础结构

  1. 选中之前创建的 Plane 对象。
  2. 切换到 Geometry Nodes 工作区。
  3. 点击 + New 按钮,为平面创建一个新的几何节点树。
  4. 默认会有一个 Group Input 节点,选中它并按 X 删除,因为我们不需要原始平面的几何信息。
  5. Shift + A,在搜索框中输入 Mesh Line,添加一个 Mesh Line 节点,并将其 Mesh 输出连接到 Group Output 节点的 Geometry 输入。
    • Mesh Line 节点中,将 Count(数量)设置为 30
    • Start Location 下,将 Z 值设置为一个负数,比如 -1.61m(这个值可以后续调整,目的是让堆叠的圆环在世界中心对称分布)。
    • Offset 下,将 Z 值设置为 0.11m(这个值控制每个圆环之间的间距)。
  6. Shift + A,搜索并添加一个 Instance on Points 节点。将其放置在 Mesh LineGroup Output 之间。
  7. 从大纲视图 (Outliner) 中,将之前创建的贝塞尔圆环(现在应该叫做 BezierCircle)拖拽到几何节点编辑器中。这会创建一个 Object Info 节点。
  8. Object Info 节点的 Geometry 输出连接到 Instance on Points 节点的 Instance 输入。
    • 现在你应该能看到一堆叠起来的圆环。

步骤三: 控制实例缩放

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

步骤四: 添加扭曲和位移

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

步骤五: 设置循环动画

我们的动画将有两个主要部分:整体形态的上下浮动循环和表面纹理的旋转循环。

  1. 整体形态浮动动画:
    • 在几何节点编辑器中,找到 Mesh Line 节点。我们将对其 Start LocationZ 值进行动画。
    • 确保你的时间线总帧数设置得足够长,比如 320 帧。我们这里以 60 帧 为一个循环周期。
    • 设置默认插值为线性: 进入 Edit > Preferences > Animation,将 Default Interpolation 设置为 Linear
    • 在第 0 帧(或 1 帧,取决于你的偏好),将 Mesh Line 节点的 Start LocationZ 值设置为一个初始值,比如 -0.88m。鼠标悬停在该数值框上,按 I 键插入关键帧。
    • 前往第 60 帧(或你的循环结束帧),将 Z 值设置为一个使图案看起来与第 0 帧完全相同的值。这个值需要通过拖动并观察视图来找到。对于视频中的 -0.88m 初始值和 0.11m 的 Z Offset,一个合适的循环值大约是 -0.77m (即初始值加上一个 Offset 的整数倍,使得图案对齐)。按 I 插入关键帧。
      • 视觉确定循环点:拖动 Start LocationZ 值,直到在视图中,最顶部的圆环形态与第 0 帧时最底部的圆环形态(或反之)看起来完全一致。
    • (可选,更精确的循环)使用图形编辑器:
      • 选中 Mesh Line 节点。
      • 在时间线窗口左下角,将窗口类型切换到 Graph Editor
      • 在左侧通道列表中,找到 Geometry Nodes > Z Default Value (Start Location)
      • N 键调出侧边栏,选择 Modifiers 标签。
      • 点击 Add Modifier,选择 Cycles。这将使动画在该关键帧范围内无限循环。
  2. 表面纹理旋转动画:
    • 选中之前为 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的倍数以保证循环)。

步骤六: 设置灯光和背景

  1. 背景平面:
    • ~ (波浪号键) 选择 Front 视图。
    • Shift + A > Mesh > Plane 添加一个新的平面。
    • R 然后 X 然后 90,将其旋转90度使其竖立。
    • S 键将其放大很多,作为背景。
    • G 然后 Y 将其向后移动一段距离。
  2. 主光源 (Key Light):
    • Shift + A > Light > Area 添加一个区域光。
    • G 将其移动到主体的斜前方。
    • 在灯光属性面板 (绿色灯泡图标),将 Shape 改为 Disk
    • R 两次,自由旋转灯光,使其朝向主体。
    • Power 增加到一个较高的值,比如 800W (根据场景调整)。
    • 调整 Size(例如 1m)和 Spread (例如 166°) 来控制光照的柔和度和范围。
  3. 补光源 (Fill Light) / 辅助光:
    • 选中主光源,按 Alt + D (创建关联复制,这样修改一个灯光参数会影响另一个) 复制一个新的区域光。
    • 将其移动到主体的另一侧,通常功率比主光源低,用来减弱阴影。
    • 也可以用它作为背景光,将其旋转使其照亮背景平面。
  4. 背景材质:
    • 选中背景平面。
    • 在材质属性面板,点击 + New 创建新材质。
    • Base Color 调暗,可以带一点颜色(例如深蓝绿色)。

步骤七: 设置主体材质

  1. 选中主动画对象 (原先的 Plane)。
  2. 切换到 Shading 工作区。
  3. 如果它还没有材质,点击 + New。将其命名为 “guy” 或你喜欢的名字。
    • 重要: 回到 Geometry Nodes 工作区,在节点树的末端(Realize InstancesGroup Output 之间),按 Shift + A 搜索并添加一个 Set Material 节点。在下拉菜单中选择你刚刚创建的 “guy” 材质。
  4. 回到 Shading 工作区。我们将混合两种 Principled BSDF 着色器。
  5. 选中当前的 Principled BSDF 节点,按 Shift + D 复制一个。
  6. Shift + A,搜索并添加一个 Mix Shader 节点,将其连接到 Material OutputSurface
  7. 将两个 Principled BSDF 节点的 BSDF 输出分别连接到 Mix Shader 的上下两个 Shader 输入。
  8. 设置第一个 Principled BSDF (类似金属/粗糙表面):
    • Base Color: 保持默认的浅灰色或你之前为背景选择的颜色( #B3E1E7)。
    • Metallic: 0
    • Roughness: 0.5 (或根据喜好调整)
  9. 设置第二个 Principled BSDF (玻璃/透射表面):
    • Base Color: 保持默认。
    • Roughness: 调低,比如 0.073 (使其更光滑)。
    • Transmission: 设置为 1 (使其完全透射,像玻璃)。
  10. 使用渐变控制混合:
    • Shift + A,搜索并添加一个 ColorRamp 节点。将其 Color 输出连接到 Mix ShaderFac 输入。
    • Shift + A,搜索并添加一个 Gradient Texture 节点。
    • Ctrl + T (需要启用 Node Wrangler 插件) 为 Gradient Texture 添加 Texture CoordinateMapping 节点。
    • Texture Coordinate 节点的 Object 输出连接到 Mapping 节点的 Vector 输入。
    • Gradient Texture 节点的 Fac 输出连接到 ColorRamp 节点的 Fac 输入。
    • 调整渐变和混合:
      • Mapping 节点中,调整 LocationX 值 (例如 0.44m) 和 RotationY 值 (例如 90°75.6°) 来改变渐变的方向和位置。
      • ColorRamp 节点中,点击 + 号添加一个新的色标,使其总共有三个色标。
      • 将两端的色标设置为黑色 (#000000)。
      • 将中间的色标设置为白色 (#FFFFFF)。
      • 拖动这些色标的位置,以控制两种材质混合的区域和过渡。目标是让一部分看起来是实体材质,一部分看起来是玻璃材质。
    • (可选)在 ColorRampMix Shader 之间添加一个 Invert 节点,可以反转混合效果,看看哪种更好看。

步骤八: 渲染设置和最终输出

  1. 切换到渲染属性面板 (小相机图标)。
  2. 选择 Cycles 作为渲染引擎。
  3. 如果你的显卡支持,将 Device 设置为 GPU Compute
  4. Render 设置下(与 Viewport 设置区分开),可以将 Max Samples 设置为 800 左右(或根据你的机器性能和期望的图像质量调整)。启用 Denoise
  5. Light Paths > Max Bounces 下,可以将 Total 设置为 5,其他值也相应调整,以在保证质量的同时优化渲染速度。
  6. 在输出属性面板 (小打印机图标):
    • 设置你的输出分辨率 (例如 1920x1080)。
    • 设置帧率 (例如 24 fps)。
    • 设置 Frame StartEnd (例如 1320)。
    • 选择一个输出文件夹。
    • File Format: 选择 PNG (如果你想输出图像序列) 或 FFmpeg video
    • 如果选择 FFmpeg video
      • Encoding > Container: 选择 MPEG-4
      • Video > Video Codec: H.264
      • Output Quality: 选择 Perceptually Lossless
  7. 点击 Render > Render Animation

总结

恭喜你!你已经成功创建了一个复杂的抽象扭曲管状循环动画。我们通过几何节点构建了基础形态,并用修改器和纹理增加了细节和动态。通过关键帧动画和材质设置,我们赋予了它生命力。

你可以尝试调整几何节点中的参数、修改器的设置、灯光的位置和强度,以及材质的颜色和属性,来创造出更多独特的效果。希望你喜欢这个教程!