Blender教程: 创建一个引人入胜的循环小球滚动动画

Blender教程: 创建一个引人入胜的循环小球滚动动画

在本教程中,我们将学习如何使用 Blender 创建一个有趣的动力学动画:一排排小球在波浪形轨道上滚动。这个效果非常适合用于制作令人满意的循环动画。本教程适合 Blender 的初学者到中级用户,你将学习到曲线编辑、修改器的使用、对象约束、基础动画以及材质设置等核心技能。

0:00
/0:02

准备工作

  • Blender (本教程使用 Blender 3.x 版本,但早期版本应该也适用)
  • 确保 Blender 的 Node Wrangler 插件已启用 (通常默认启用。检查方式: Edit > Preferences > Add-ons, 搜索 Node Wrangler 并勾选)。

步骤一: 创建基础波浪路径

我们将首先创建一个作为轨道基础的波浪形曲线。

  1. 打开 Blender,删除默认的立方体、灯光和相机。
  2. 按下 Shift + A,在弹出的菜单中选择 Curve -> Path,创建一个路径曲线。
  3. 按下 S 键,然后输入 2,再按下 Enter。这将把路径放大两倍。
  4. 确保路径被选中,按下 Tab 键进入编辑模式。
  5. 右键点击路径,选择 Subdivide
  6. 再次右键点击路径,选择 Subdivide。这将为我们提供更多的控制点来塑造波浪。
  7. 现在,我们需要选择路径上的交替控制点。点击路径最左端的一个控制点,然后按住 Shift 键,依次点击每隔一个的控制点,直到选择完所有交替的点。
    • 视觉上,你会看到路径上一些点是橙色(选中),一些点是黑色(未选中)。
  8. 使用移动工具(或按 G 键,然后按 Z 键约束到 Z 轴),向上拖动选中的控制点,形成一个波浪形状。你可以根据喜好调整波浪的高度。
    • 完成后,你的路径应该看起来像一起伏的波浪线。
  9. 按下 Tab 键返回物体模式。

步骤二: 设置曲线几何形状与修改器 (轨道主体)

现在我们将给这条波浪线赋予厚度和体积,使其成为一个实际的轨道。

  1. 选中我们创建的波浪路径。
  2. 在右侧的属性面板中,找到并点击绿色的曲线图标,即 Object Data Properties
  3. 展开 Shape 选项卡:
    • Resolution Preview URender U 都设置为 64。这将使曲线更平滑。
  4. 展开 Geometry 选项卡:
    • 找到 Extrude 值,将其设置为一个较小的值,例如 0.015m。这将给路径一个基础的厚度。
  5. 接下来,点击属性面板中的扳手图标,进入 Modifier Properties
  6. 点击 Add Modifier,选择 Solidify 修改器。
    • 调整 Thickness 参数,使其具有你期望的轨道宽度,例如 0.255m
  7. 再次点击 Add Modifier,选择 Bevel 修改器。
    • 调整 Amount 值来控制倒角的大小,例如 0.002m

至此,我们已经创建了第一个轨道。

步骤三: 创建小球的动画路径

我们需要一条纯粹的路径供小球跟随,这条路径不应带有几何形状或修改器。

  1. 选中刚刚创建的轨道物体 (NurbsPath)。
  2. 按下 Shift + D 复制该物体,然后立即右键单击,使其留在原位。
  3. 选中这个新复制的路径 (NurbsPath.001)。
  4. Modifier Properties (扳手图标) 中,删除其上的 SolidifyBevel 修改器 (点击修改器右上角的 'X' 图标)。
  5. 转到此复制路径的 Object Data Properties (绿色曲线图标)。
  6. Geometry 选项卡下,将 Extrude 值改回 0
    • 现在 NurbsPath.001 是一条没有实际厚度的纯路径,它将作为小球的运动轨迹。

步骤四: 创建并约束小球

  1. 按下 Shift + A,选择 Mesh -> UV Sphere,创建一个 UV 球体。
  2. 选中球体,按下 Tab 键进入编辑模式。
  3. 右键点击球体,选择 Subdivide
  4. 在左下角弹出的 Subdivide 操作框中,将 Smoothness 设置为 1
  5. 切换到面选择模式 (可以在顶部工具栏选择,或按键盘上的 3)。
  6. 按住 Alt 键,点击球体赤道附近的一圈垂直边,这将选中一圈面。
  7. 按住 Shift + Alt 键,点击相邻的另一圈垂直边,选中两圈面带。
  8. 按下 E 键进行挤出,然后立即按下 S 键进行缩放大概 0.83,将选中的面带向内缩放一点点,形成凹槽。
  9. 按下 Tab 键返回物体模式。
  10. 为球体添加一个 Bevel 修改器,调整 Amount = 0.044mSegments = 5 以获得平滑边缘。
  11. 右键点击球体,选择 Shade Smooth
  12. 选中球体。在右侧属性面板中,点击链条图标,进入 Object Constraint Properties
  13. 点击 Add Object Constraint,选择 Follow Path
  14. Target 字段,点击吸管图标或下拉菜单,选择我们之前创建的纯动画路径 (NurbsPath.001)。
  15. 调整 Offset 滑块,你会看到球体沿着路径移动。
  16. 根据轨道的大小,使用 S 键缩放球体,使其适合轨道。
  17. 你可能需要调整球体的 Z 轴位置 (G 然后 Z),以及动画路径上控制点的 Z 轴位置 (选中动画路径,Tab 进入编辑模式,选择所有点 A,然后 G Z),确保球体看起来像是“坐”在轨道上。

步骤五: 动画第一个小球

  1. 在底部的时间轴编辑器中,将结束帧 (End) 设置为 60。这将使我们的动画循环长度为 60 帧。
  2. 将时间指示器拖到第 0 帧。
  3. 选中球体。在 Object Constraint Properties 中的 Follow Path 约束下,将 Offset 值调整到你希望球体开始的位置 (例如,轨道的一端)。
  4. 鼠标悬停在 Offset 值上,按下 I 键,为其插入一个关键帧。
  5. 在视口的右侧属性栏 (按 N 键调出),转到 Item 选项卡。鼠标悬停在 RotationX 值上,按下 I 键,插入旋转关键帧。
  6. 将时间指示器拖到第 60 帧。
  7. 调整 Follow Path 约束的 Offset 值,使球体移动到轨道的中间某个波峰位置 (这是为了后续循环的衔接)。鼠标悬停在 Offset 值上,按下 I 键。
  8. Item 选项卡的 Rotation Y 值中输入 360*3 (即1080度),然后按下 I 键。这会让球体在移动过程中旋转3圈。

现在播放动画 (按空格键),你应该能看到第一个小球沿着轨道滚动并旋转。

步骤六: 创建循环元素 (第二个小球)

为了制作无缝循环,我们需要第二个小球在第一个小球“消失”时出现。

  1. 确保时间指示器在第 60 帧 (第一个球体动画结束的地方)。
  2. 选中第一个球体 (Sphere) 和它的动画路径 (NurbsPath.001)。
  3. 按下 Shift + D 复制它们,然后右键单击以将复制体保留在原位。
  4. 选中新复制的球体 (Sphere.001)。
  5. 在其 Follow Path 约束中,右键点击 Offset 值,选择 Clear Keyframes
  6. 将时间指示器拖回第 0 帧。
  7. 调整新球体的 Offset 值,使其位于第一个球体在第 60 帧时的起始位置。鼠标悬停在 Offset 值上,按下 I 键。
  8. 将时间指示器拖到第 60 帧。
  9. 调整新球体的 Offset 值,使其移动到第一个球体在第 0 帧结束动画的那个波峰位置。鼠标悬停在 Offset 值上,按下 I 键。
    • 这一步的目的是让第二个球体在第一个球体完成其“可见”部分的滚动后,从轨道更远的地方继续滚动,以便在阵列复制时形成连续滚动的效果。

步骤七: 构建轨道阵列

  1. Outliner (右上角的场景层级列表) 中,将与第一条轨道相关的所有物体 (轨道几何体 NurbsPath、动画路径 NurbsPath.001、第一个球体 Sphere、第二个球体 Sphere.001) 放入一个新的集合中。
    • 选中这些物体,按 M 键,选择 New Collection,命名为 Track_Set_1
  2. 选中 Track_Set_1 集合实例 (或集合内的所有物体)。
  3. 按下 Shift + D 复制整个集合,然后按 G 键,再按 Y 键 (或 X 键,取决于你的视图方向),将其移动到旁边,留出适当间距。
  4. 将这个新复制的集合命名为 Track_Set_2
  5. 选中 Track_Set_2 中的轨道几何体和动画路径。按下 R 键,然后 Z 键,输入 180,再按 Enter。这将把第二条轨道沿Z轴旋转180度,使其波浪方向与第一条相反。
  6. 调整 Track_Set_2 的位置,使其与 Track_Set_1 并排。
  7. 重复以上复制和旋转(可选,也可以保持同向)的步骤,创建大约 7 排轨道。每一排新的轨道都放入新的集合中,方便管理。

步骤八: 设置场景 (地面与相机)

  1. 按下 Shift + A,选择 Mesh -> Plane,创建一个平面作为地面。
  2. 按下 S 键,将其放大到足够覆盖所有轨道的下方。
  3. 按下 G 键,然后 Z 键,将其向下移动到轨道下方。
  4. 调整你的3D视图到一个你喜欢的观看角度。
  5. 按下 Ctrl + Alt + Numpad 0,将相机对齐到当前视图。
  6. 选中相机。在 Object Data Properties (绿色相机图标) 中:
    • TypePerspective 改为 Orthographic
    • 调整 Orthographic Scale 的值,直到所有轨道都舒适地显示在相机视图内。
    • 你可以使用 G 键然后按鼠标中键(或 G 然后 Z Z)来推拉相机。

步骤九: 灯光设置

  1. 切换到 Cycles 渲染引擎 (在 Render Properties,即相机图标下方的小电视图标中设置)。你也可以使用 Eevee,但视频中最终效果是 Cycles。
  2. 按下 Shift + A,选择 Light -> Spot
  3. 使用 GZ 将聚光灯向上移动,使其照射整个场景。
  4. Object Data Properties (灯泡图标) 中,调整聚光灯设置:
    • Power: 设置一个较高的值,例如 10000 W
    • Radius: 稍微增大一点,例如 0.25 m,以获得更柔和的阴影。
    • Spot Shape -> Size: 调整光锥角度,例如 45 度。
    • Spot Shape -> Blend: 调整边缘羽化,例如 0.15
  5. 按下 Shift + A,选择 Light -> Area
  6. 将区域光向上移动,使其位于场景上方。
  7. 在区域光的属性中:
    • Shape: 改为 Disk
    • 使用 S 键将其放大。
    • Power: 设置一个值,例如 100 W (根据需要调整)。

步骤十: 应用材质

现在为我们的物体添加一些漂亮的材质。

  1. 切换到 Shading 工作区。确保你在相机视图 (Numpad 0) 并已启用渲染预览 (通常是右上角的球形图标)。
  2. 地面材质:
    • 选中地面平面。
    • 在材质属性面板中,点击 New 创建新材质。
    • Base Color 设置为你喜欢的蓝色。
  3. 小球材质:
    • 选中场景中的任意一个小球。
    • 点击 New 创建新材质。
    • Base Color 设置为与地面相同的蓝色 (可以使用吸管工具或复制HEX颜色代码)。
    • 为了增加表面细节,我们将添加一些凹凸:
      • Shift + A -> Texture -> Noise Texture
      • Shift + A -> Converter -> ColorRamp
      • Shift + A -> Vector -> Bump
      • 连接节点:Noise TextureFac 输出到 ColorRampFac 输入。ColorRampColor 输出到 Bump 节点的 Height 输入。Bump 节点的 Normal 输出到 Principled BSDFNormal 输入。
      • 调整 Noise Texture:Scale = 9.2 Detail 设为 8.2Roughness 调高一些 (例如 0.70.9)。
      • 调整 Bump 节点:Distance 设为 0.1
      • 调整 ColorRamp 的滑块,以控制凹凸的强度和对比度。
    • 现在,选中场景中所有其他的小球,最后再选中刚刚设置好材质的那个小球 (使其成为活动对象,边框更亮)。
    • 按下 Ctrl + L,选择 Link Materials。所有小球现在都将共享这个材质。
  4. 轨道材质:
    • 选中场景中的任意一个轨道 (NurbsPath 几何体)。
    • 点击 New 创建新材质,可以命名为 Waves_Material
    • Base Color 设置为白色。
    • 我们将使用 Voronoi 纹理制作类似水磨石的斑点效果:
      • Shift + A -> Converter -> ColorRamp
      • Shift + A -> Texture -> Voronoi Texture
      • 选中 Voronoi Texture 节点,按下 Ctrl + T (需要启用 Node Wrangler 插件),会自动添加 Texture CoordinateMapping 节点。将 Texture CoordinateObject 输出连接到 MappingVector 输入。
      • 连接节点:Voronoi TextureColor 输出到 ColorRampFac 输入。ColorRampColor 输出到 Principled BSDFBase Color 输入。
      • ColorRamp 节点中,将插值模式从 Linear 改为 Constant
      • 调整 Voronoi TextureScale 值,例如 30100,直到获得满意的斑点大小。
      • ColorRamp 中,拖动白色滑块靠近黑色滑块,以形成清晰的斑点。将黑色滑块的颜色改为一个深蓝色 (可以与小球/地面的蓝色相近,或者用其他对比色,如橙色)。
    • 选中场景中所有其他的轨道几何体,最后再选中刚刚设置好材质的那个轨道。
    • 按下 Ctrl + L,选择 Link Materials

步骤十一: 渲染设置

  1. 转到 Output Properties (打印机图标)。
  2. Resolution XY: 设置你想要的渲染分辨率 (例如 1920 px x 1080 px)。
  3. Frame Range: 确保 Start0 (或 1,取决于你的起始帧),End60
  4. Output: 点击文件夹图标,选择一个文件夹来保存你的动画帧。
  5. File Format:
    • 推荐选择 PNG。这将渲染出一系列的静态图片,如果中途出错,可以从断点继续。之后你可以在Blender的视频编辑器或其他软件中将PNG序列合成为视频。
    • 如果想直接输出视频,选择 FFmpeg video
      • 展开 Encoding
      • Container: 选择 MPEG-4
      • Output Quality: 选择 Perceptually Lossless
  6. 转到 Render Properties (小电视图标)。
  7. 如果你想让运动的物体带有模糊效果,展开 Motion Blur 并勾选它。
  8. 一切设置完毕后,点击顶部菜单的 Render -> Render Animation

总结

恭喜你!你已经成功创建了一个令人着迷的小球滚动循环动画。通过这个教程,你练习了Blender中的曲线操作、修改器堆栈、对象约束、关键帧动画以及节点材质的设置。你可以尝试调整颜色、纹理、灯光和相机角度,创造出属于你自己的独特版本!