Blender 完全教程: 从零制作科幻行星动画

在本教程中,我们将从头开始,在 Blender 中创建一个引人注目的科幻行星动画。我们将完全使用 Blender 的原生工具,无需任何外部插件或附加组件。本教程内容较为丰富,将涵盖建模、着色、动画、灯光和合成等多个方面,最终呈现一个带有动态光环和粒子效果的破碎行星场景。
0:00
/0:04
本教程适合对 Blender 界面有一定了解,并希望深入学习几何节点、程序化着色和动画制作的用户。
通过本教程,你将学到:
- 使用几何节点 (Geometry Nodes) 创建复杂的螺旋结构和粒子系统。
- 运用 Blender 的着色器节点 (Shader Nodes) 创建富有细节的行星表面材质、发光裂缝以及动态光环效果。
- 为场景中的不同元素添加循环动画。
- 设置场景灯光和摄像机以达到预期的视觉效果。
- 使用 Blender 的合成器 (Compositor) 进行后期处理,增强最终渲染效果。
步骤一: 创建行星环 (Spiral Rings)
我们将首先使用几何节点创建行星周围的动态光环。
- 创建几何节点容器:
- 打开 Blender,删除默认的立方体、灯光和摄像机。
- 按下
Shift + A
,在网格 (Mesh)
中选择添加一个平面 (Plane)
。这个平面仅作为几何节点修改器的容器。 - 选中该平面,在右侧大纲视图 (Outliner) 中,将其重命名为
spiral
。
- 进入几何节点工作区:
- 切换到
几何节点 (Geometry Nodes)
工作区。 - 确保
spiral
对象仍被选中,点击几何节点编辑器窗口顶部的新建 (New)
按钮,创建一个新的几何节点树。
- 切换到
- 创建基础螺旋线:
- 默认的节点树中有一个
组输入 (Group Input)
和一个组输出 (Group Output)
节点。由于我们不需要原始平面的几何信息,可以删除组输入 (Group Input)
节点。 - 按下
Shift + A
搜索并添加一个曲线螺旋 (Curve Spiral)
节点。 - 将其
曲线 (Curve)
输出端口连接到组输出 (Group Output)
节点的几何数据 (Geometry)
输入端口。 - 调整
曲线螺旋 (Curve Spiral)
节点的参数如下:高度 (Height)
:0 m
(使其成为一个平面螺旋)解析度 (Resolution)
:200
(增加曲线的光滑度)起始半径 (Start Radius)
:0.8 m
结束半径 (End Radius)
:3.2 m
旋转次数 (Rotations)
:50
(创建足够多的圈数)
- 默认的节点树中有一个
- 为螺旋线添加波浪位移:
- 为了让螺旋线不那么规整,我们将添加程序化位移。
- 在
曲线螺旋 (Curve Spiral)
节点后添加一个设置位置 (Set Position)
节点。 - 添加一个
波浪纹理 (Wave Texture)
节点。 - 添加一个
合并XYZ (Combine XYZ)
节点。将波浪纹理 (Wave Texture)
的颜色 (Color)
输出连接到合并XYZ (Combine XYZ)
节点的Z
输入。- 解释: 波浪纹理的颜色输出是向量数据,直接连接到
设置位置
节点的偏移 (Offset)
会在所有轴向上产生位移。我们只想在Z轴(上下方向)上产生位移,因此使用合并XYZ
节点来指定。
- 解释: 波浪纹理的颜色输出是向量数据,直接连接到
- 将
合并XYZ (Combine XYZ)
节点的向量 (Vector)
输出连接到设置位置 (Set Position)
节点的偏移 (Offset)
输入。 - 调整
波浪纹理 (Wave Texture)
节点的参数:类型 (Type)
: 从带 (Bands)
改为环 (Rings)
。方向 (Direction)
: 从X
改为球形 (Spherical)
。缩放 (Scale)
: 约1.550
(可根据喜好调整)扭曲 (Distortion)
:0.000
细节 (Detail)
:2.000
细节缩放 (Detail Scale)
:1.000
细节粗糙度 (Detail Roughness)
:0.500
相位偏移 (Phase Offset)
: 初始值可以随意,后续会用于动画。
- 控制波浪位移强度:
- 目前位移效果可能过强。在
波浪纹理 (Wave Texture)
的颜色 (Color)
输出和合并XYZ (Combine XYZ)
的Z
输入之间,添加一个向量数学 (Vector Math)
节点,并将其操作模式设置为相乘 (Multiply)
。 - 将
合并XYZ (Combine XYZ)
的Z
输入连接到向量数学 (Vector Math)
节点的下方向量 (Vector)
输入。 - 调整
向量数学 (Vector Math)
节点上方的X, Y, Z值来控制位移强度。为了得到更细微、随机起伏的效果,将X, Y, Z三个值都设置为较小的值,例如都设置为0.080
。
- 目前位移效果可能过强。在
- 将曲线转换为网格 (赋予厚度):
- 在
设置位置 (Set Position)
节点后添加一个曲线转网格 (Curve to Mesh)
节点。 - 添加一个
曲线圆环 (Curve Circle)
节点。将其曲线 (Curve)
输出连接到曲线转网格 (Curve to Mesh)
节点的轮廓曲线 (Profile Curve)
输入。 - 设置
曲线圆环 (Curve Circle)
节点的参数:半径 (Radius)
:0.002 m
(创建较细的环)
- 在
- 创建第二层螺旋环 (更细、更密集):
- 为了增加视觉层次感,我们创建第二套螺旋环。
- 选中从
曲线螺旋 (Curve Spiral)
到曲线转网格 (Curve to Mesh)
的所有相关节点 (包括设置位置
,波浪纹理
,合并XYZ
,向量数学
,曲线圆环
),按下Ctrl + J
将它们框选为一个框 (Frame) 以方便管理 (可选操作)。 - 然后选中这个框内的所有节点(或单独选中这些节点),按下
Shift + D
复制它们。 - 添加一个
合并几何体 (Join Geometry)
节点。将原始的曲线转网格 (Curve to Mesh)
节点的输出和新复制的曲线转网格 (Curve to Mesh)
节点的输出都连接到合并几何体 (Join Geometry)
节点的输入。最后,将合并几何体 (Join Geometry)
的输出连接到组输出 (Group Output)
。 - 调整新复制的这组节点中的参数,使其与第一组有所区别:
- 在复制的
曲线螺旋 (Curve Spiral)
节点上,设置旋转次数 (Rotations)
为10
(减少圈数,使其不与第一组完全重叠)。 - 在复制的
曲线圆环 (Curve Circle)
节点上,设置半径 (Radius)
为0.0005 m
(创建更细的环)。 - 可以调整复制的
波浪纹理 (Wave Texture)
的缩放 (Scale)
或相位偏移 (Phase Offset)
,以及对应的向量数学 (Vector Math)
节点的相乘 (Multiply)
值,让这组细环的波动形态与粗环不同。例如,将向量数学 (Vector Math)
的三个值都设为0.020
。
- 在复制的
- 在粗螺旋环上分布小球体:
- 我们将使用第一组创建的较粗的螺旋线(即原始的
曲线螺旋 (Curve Spiral)
节点及其位移效果之后,但在曲线转网格 (Curve to Mesh)
之前)作为基础来分布一些小球体。 - 从第一组
设置位置 (Set Position)
节点的几何数据 (Geometry)
输出端口拉出连接线。 - 添加一个
删除几何体 (Delete Geometry)
节点,模式设置为点 (Point)
。 - 添加一个
随机值 (Random Value)
节点,数据类型设置为布尔 (Boolean)
。将其值 (Value)
输出连接到删除几何体 (Delete Geometry)
节点的选区 (Selection)
输入。 - 调整
随机值 (Random Value)
节点的概率 (Probability)
参数,例如设为0.988
。这将随机删除大部分曲线上的点,只保留少数点。 - 在
删除几何体 (Delete Geometry)
节点后添加一个在点上实例化 (Instance on Points)
节点。将被删除点后的几何数据 (Geometry)
输出连接到在点上实例化 (Instance on Points)
的点 (Points)
输入。 - 添加一个
过切椭球 (Icosphere)
节点作为实例化的对象。细分 (Subdivisions)
:2
半径 (Radius)
:0.01 m
- 在
过切椭球 (Icosphere)
节点后添加一个设置平滑着色 (Set Shade Smooth)
节点。 - 将
设置平滑着色 (Set Shade Smooth)
节点的输出连接到在点上实例化 (Instance on Points)
节点的实例 (Instance)
输入。 - 将
在点上实例化 (Instance on Points)
节点的实例 (Instances)
输出连接到之前创建的合并几何体 (Join Geometry)
节点。
- 我们将使用第一组创建的较粗的螺旋线(即原始的
- 设置螺旋环材质:
- 在
材质属性 (Material Properties)
面板中,为spiral
对象创建两个材质插槽。 - 点击
+
号新建一个材质,命名为base
。 - 再次点击
+
号新建第二个材质,命名为broke light
。 - 回到几何节点编辑器,在两个
曲线转网格 (Curve to Mesh)
节点之后,分别添加设置材质 (Set Material)
节点。- 对于较粗的环 (连接到
合并几何体 (Join Geometry)
的第一个输入),在设置材质 (Set Material)
节点中选择base
材质。 - 对于较细的环 (连接到
合并几何体 (Join Geometry)
的第二个输入),在设置材质 (Set Material)
节点中选择broke light
材质。
- 对于较粗的环 (连接到
- 对于分布在粗环上的小球体 (连接到
合并几何体 (Join Geometry)
的第三个输入),在其在点上实例化 (Instance on Points)
节点之后也添加一个设置材质 (Set Material)
节点,并选择base
材质。
- 在
步骤二: 创建行星模型及其表面粒子
- 创建行星对象:
- 回到3D视图。按下
Shift + A
,在网格 (Mesh)
中选择添加一个过切椭球 (Icosphere)
。 - 在左下角弹出的
添加过切椭球 (Add Icosphere)
面板中,将其细分 (Subdivisions)
增加到5
或6
以获得更平滑的表面。 - 选中这个新的
Icosphere
对象,在大纲视图中将其重命名为planet
。 - 使用
S
键缩放planet
对象,使其大小与之前创建的环相匹配,位于环的中心。确保它不与环相交,但又能被环围绕。
- 回到3D视图。按下
- 创建行星表面的粒子系统:
- 再添加一个新的
平面 (Plane)
对象,将其重命名为particles
。 - 为
particles
对象创建一个新的几何节点树。同样,删除默认的组输入 (Group Input)
节点。 - 添加一个
过切椭球 (Icosphere)
节点。将其细分 (Subdivisions)
设为3
,半径 (Radius)
设为3.31 m
(这个值需要根据你的行星大小进行调整,目标是让这个球体包裹住行星环和行星本身)。 - 添加一个
变换几何数据 (Transform Geometry)
节点,将其连接在Icosphere
之后。在缩放 (Scale)
的Z
轴上输入0.420
,将其压扁成一个椭球体。 - 添加一个
网格转体积 (Mesh to Volume)
节点。 - 添加一个
在体积内分布点 (Distribute Points in Volume)
节点。将其点 (Points)
输出连接到组输出 (Group Output)
节点的几何数据 (Geometry)
输入,以便预览粒子。- 调整
密度 (Density)
值,例如3.900
,可以根据需要增减。
- 调整
- 添加一个
设置位置 (Set Position)
节点,放在在体积内分布点 (Distribute Points in Volume)
之后。 - 添加一个
噪波纹理 (Noise Texture)
节点。将其颜色 (Color)
输出连接到设置位置 (Set Position)
节点的偏移 (Offset)
输入。- 将
噪波纹理 (Noise Texture)
的维度从3D
改为4D
,这样就多出一个W
值用于动画。 - 勾选
归一化 (Normalize)
选项。 - 将
细节 (Detail)
设为0
。 缩放 (Scale)
设为1.000
。W
值可以先设为1.2
左右,后续用于动画。
- 将
- 添加一个
在点上实例化 (Instance on Points)
节点,放在设置位置 (Set Position)
之后。 - 添加一个
网格圆环 (Mesh Circle)
节点作为实例化的对象。填充类型 (Fill Type)
:N-边面 (N-gon)
顶点 (Vertices)
:6
(创建六边形)半径 (Radius)
:0.05 m
(可调整粒子大小)
- 将
网格圆环 (Mesh Circle)
的网格 (Mesh)
输出连接到在点上实例化 (Instance on Points)
节点的实例 (Instance)
输入。 - 添加一个
随机值 (Random Value)
节点,数据类型设置为向量 (Vector)
。将其值 (Value)
输出连接到在点上实例化 (Instance on Points)
节点的旋转 (Rotation)
输入。- 调整
最小值 (Min)
和最大值 (Max)
来随机化粒子的旋转。例如,最小值 (Min)
可以设为(-8, -16.3, 0.7)
,最大值 (Max)
可以设为(17.17, -8.95, 29.9)
。这些值可以自由发挥,目的是让粒子朝向各异。
- 调整
- 再添加一个
随机值 (Random Value)
节点 (默认Float类型即可),将其值 (Value)
连接到在点上实例化 (Instance on Points)
节点的缩放 (Scale)
输入。- 将
最小值 (Min)
设为0.01
左右,最大值 (Max)
设为0.1
左右,以随机化粒子的大小。
- 将
- 最后,为
particles
对象在材质属性 (Material Properties)
面板中新建一个材质,命名为glitter
。然后在几何节点树的末端(在点上实例化 (Instance on Points)
之后)添加一个设置材质 (Set Material)
节点,并选择glitter
材质。
- 再添加一个新的
至此,我们完成了所有对象的建模工作。
步骤三: 材质与着色 (Shading)
现在我们将为创建的各个元素添加材质。
- 切换到 Cycles 渲染引擎: 在
渲染属性 (Render Properties)
面板中,将渲染引擎 (Render Engine)
设置为Cycles
,并将设备 (Device)
设置为GPU 计算 (GPU Compute)
(如果你的显卡支持)。 - 设置世界背景为黑色: 在
世界属性 (World Properties)
面板中,将颜色 (Color)
设置为完全黑色。 - "broke light" 材质 (细环的发光材质):
- 选中
spiral
对象,切换到着色 (Shading)
工作区。 - 在材质插槽中选择
broke light
材质。 - 删除默认的
原理化BSDF (Principled BSDF)
节点。 - 添加一个
自发光 (Emission)
着色器节点,并将其连接到材质输出 (Material Output)
的表面 (Surface)
输入。 - 添加一个
颜色渐变 (Color Ramp)
节点。将其颜色 (Color)
输出连接到自发光 (Emission)
节点的颜色 (Color)
输入。 - 将
颜色渐变 (Color Ramp)
右侧的白色滑块的颜色改为鲜艳的红色 (例如#FF0000
)。 - 将
自发光 (Emission)
节点的强度 (Strength)
设为10
。 - 添加一个
噪波纹理 (Noise Texture)
节点。将其系数 (Fac)
输出连接到颜色渐变 (Color Ramp)
节点的系数 (Fac)
输入。 - 按下
Ctrl + T
(需要 Node Wrangler 启用) 为噪波纹理 (Noise Texture)
添加纹理坐标 (Texture Coordinate)
和映射 (Mapping)
节点。将纹理坐标 (Texture Coordinate)
的物体 (Object)
输出连接到映射 (Mapping)
的向量 (Vector)
输入。 - 调整
噪波纹理 (Noise Texture)
参数:- 维度
(Dimension)
:4D
缩放 (Scale)
: 约73.5
(较大值以产生断裂感)细节 (Detail)
:2.000
粗糙度 (Roughness)
:0.500
W
值: 初始为0
,后续用于动画。
- 维度
- 调整
颜色渐变 (Color Ramp)
的滑块,使黑色部分占据主导,只留出少量的红色部分,形成断断续续的发光效果。例如,黑色滑块位置约0.488
- 选中
- "base" 材质 (粗环和小球体的材质):
- 在材质插槽中选择
base
材质。 - 保持
原理化BSDF (Principled BSDF)
节点。 - 将其
金属度 (Metallic)
设为1.000
。 粗糙度 (Roughness)
设为0.300
。基础颜色 (Base Color)
可以设为一个中等偏暗的灰色 (例如#A8A8A8
)。
- 在材质插槽中选择
- "glitter" 材质 (行星表面粒子的材质):
- 选中
particles
对象,在材质插槽中选择glitter
材质。 金属度 (Metallic)
:1.000
粗糙度 (Roughness)
:0.419
(或根据喜好调整以获得理想的闪烁效果)。基础颜色 (Base Color)
: 保持白色或浅灰色。
- 选中
- "planet" 材质 (行星核心材质):
- 选中
planet
对象,为其新建一个材质。 - 基础表面细节:
- 添加一个
噪波纹理 (Noise Texture)
。按下Ctrl + T
添加纹理坐标 (Texture Coordinate)
和映射 (Mapping)
节点,使用物体 (Object)
坐标。 - 复制 (
Shift + D
) 第一个噪波纹理 (Noise Texture)
节点,并将其连接到同一个映射 (Mapping)
节点的输出。 - 添加两个
颜色渐变 (Color Ramp)
节点。将第一个噪波纹理 (Noise Texture)
的系数 (Fac)
输出连接到第一个颜色渐变 (Color Ramp)
的系数 (Fac)
输入。将第二个噪波纹理 (Noise Texture)
的颜色 (Color)
输出连接到第二个颜色渐变 (Color Ramp)
的系数 (Fac)
输入。 - 调整第一个
噪波纹理 (Noise Texture)
:缩放 (Scale)
:5.000
细节 (Detail)
:12.000
粗糙度 (Roughness)
:0.677
- 调整第二个
噪波纹理 (Noise Texture)
:缩放 (Scale)
:5.000
细节 (Detail)
:2.000
粗糙度 (Roughness)
:0.500
- 将第一个
颜色渐变 (Color Ramp)
的输出连接到原理化BSDF (Principled BSDF)
的基础颜色 (Base Color)
。调整滑块以获得明暗对比适中的灰色纹理。 - 添加一个
凹凸 (Bump)
节点。将第二个颜色渐变 (Color Ramp)
的颜色 (Color)
输出连接到凹凸 (Bump)
节点的高度 (Height)
输入。将凹凸 (Bump)
节点的法向 (Normal)
输出连接到原理化BSDF (Principled BSDF)
的法向 (Normal)
输入。强度 (Strength)
:0.044
(较小值)距离 (Distance)
:0.100
- 添加一个
- 创建裂缝:
- 添加一个
沃罗诺伊纹理 (Voronoi Texture)
。按下Ctrl + T
添加纹理坐标 (Texture Coordinate)
和映射 (Mapping)
节点,使用物体 (Object)
坐标。 - 在
沃罗诺伊纹理 (Voronoi Texture)
设置中,将F1
改为距离到边 (Distance to Edge)
。 缩放 (Scale)
: 约1.710
(调整以获得期望的裂缝密度)- 添加一个
映射范围 (Map Range)
节点。将沃罗诺伊纹理 (Voronoi Texture)
的距离 (Distance)
输出连接到映射范围 (Map Range)
节点的值 (Value)
输入。发件人最小值 (From Min)
:0.000
发件人最大值 (From Max)
:0.010
(这个值控制裂缝的宽度,值越小裂缝越细)至最小值 (To Min)
:0.000
至最大值 (To Max)
:1.000
- 将
映射范围 (Map Range)
节点的结果 (Result)
输出同时连接到以下两个地方:- 一个新的
凹凸 (Bump)
节点(用于裂缝的凹陷效果)的高度 (Height)
输入。将此凹凸 (Bump)
节点的法向 (Normal)
输出连接到之前创建的第一个凹凸 (Bump)
节点的法向 (Normal)
输入(形成凹凸链)。将强度 (Strength)
设为0.3
左右。 - 一个
颜色渐变 (Color Ramp)
节点的系数 (Fac)
输入 (用于裂缝的发光颜色)。
- 一个新的
- 添加一个
- 裂缝发光:
- 在上一步创建的连接到
映射范围 (Map Range)
的颜色渐变 (Color Ramp)
中,将黑色滑块的颜色改为纯黑色,白色滑块的颜色改为鲜艳的红色。调整滑块位置,使红色部分非常窄,仅代表裂缝。 - 添加一个
混合颜色 (Mix Color)
节点 (在 Blender 4.x 中可能是Mix Node
并设置为 Color 类型)。将原理化BSDF (Principled BSDF)
的颜色 (Color)
输出连接到混合颜色 (Mix Color)
节点的A
输入。将上一步的红色颜色渐变 (Color Ramp)
的颜色 (Color)
输出连接到混合颜色 (Mix Color)
节点的B
输入。 - 将此
混合颜色 (Mix Color)
节点的结果 (Result)
连接到原理化BSDF (Principled BSDF)
的自发光颜色 (Emission Color)
输入。 - 将
映射范围 (Map Range)
的结果 (Result)
输出连接到混合颜色 (Mix Color)
节点的系数 (Factor)
输入。- 修正/优化: 为了更好地控制发光区域,通常是将
映射范围 (Map Range)
的输出(或其处理后的版本)作为自发光强度 (Emission Strength)
的控制,而不是直接混合颜色。或者,更常见的是,将处理后的裂缝图案直接送入自发光颜色
,并用一个较高的固定值或由裂缝图案驱动的自发光强度
。 - 视频中的做法是将
映射范围
的结果
直接接入混合颜色
的系数
,然后将颜色渐变
(红黑) 接入B
,原理化BSDF的颜色接入A
。然后将混合颜色
的结果
接入自发光颜色
,同时将映射范围
的结果
也接入自发光强度 (Emission Strength)
。这样,只有裂缝部分(由Map Range控制)才会发光,并且发光的颜色是红色。 - 实际操作:将
映射范围 (Map Range)
的结果 (Result)
连接到混合颜色 (Mix Color)
节点的系数 (Factor)
输入。将颜色渐变 (Color Ramp)
(红与黑) 的输出连接到混合颜色 (Mix Color)
节点的B
输入。将原理化BSDF (Principled BSDF)
的基础颜色 (Base Color)
输出连接到混合颜色 (Mix Color)
节点的A
输入。将此混合颜色 (Mix Color)
节点的结果 (Result)
连接到原理化BSDF (Principled BSDF)
的自发光颜色 (Emission Color)
输入。然后将映射范围 (Map Range)
的结果 (Result)
连接到原理化BSDF (Principled BSDF)
的自发光强度 (Emission Strength)
输入,并将此强度值乘以一个较大的数 (例如50
),可以通过添加一个数学 (Math)
节点设为乘 (Multiply)
来实现。
- 修正/优化: 为了更好地控制发光区域,通常是将
- 在上一步创建的连接到
- 选中
步骤四: 动画制作 (Animation)
我们将为场景中的多个元素添加循环动画,使其富有生命力。确保动画的默认插值类型为 线性 (Linear)
,可以在 编辑 (Edit)
-> 偏好设置 (Preferences)
-> 动画 (Animation)
-> 默认插值 (Default Interpolation)
中设置。本教程动画总长度为 500
帧。
- 动画 "broke light" 材质 (细环发光):
- 选中
spiral
对象,进入着色 (Shading)
工作区,选择broke light
材质。 - 找到
噪波纹理 (Noise Texture)
节点 (控制发光断裂感的那个)。 - 在第
0
帧 (或1
帧,取决于你的起始帧),将W
值设为0
,并对其右键点击插入关键帧 (Insert Keyframe)
(或鼠标悬停按I
)。 - 将时间滑块移动到第
500
帧。 - 将
W
值设为一个能产生良好循环效果的值,例如2
(或-2
以改变方向)。再次插入关键帧。 - 注意: 为了制作完美的循环噪波动画,一种常见技巧是在
混合 (Mix)
节点(类型为 Color)中使用两个噪波纹理。将第一个噪波的W值从0动画到X,第二个噪波的W值从-X动画到0。然后用一个从0到1再回到0的系数来混合这两个噪波纹理的结果。
- 选中
- 动画螺旋环的波动 (Wave Texture Phase Offset):
- 选中
spiral
对象,进入几何节点 (Geometry Nodes)
工作区。 - 找到驱动两组螺旋环Z轴位移的两个
波浪纹理 (Wave Texture)
节点。 - 对第一个 (较粗环)
波浪纹理 (Wave Texture)
的相位偏移 (Phase Offset)
:- 在第
0
帧,设为0
,插入关键帧。 - 在第
500
帧,设为2 * pi * N
(N为整数,例如2 * pi * 2
或6.283 * 2 = 12.566
以确保循环)。
- 在第
- 对第二个 (较细环)
波浪纹理 (Wave Texture)
的相位偏移 (Phase Offset)
做类似操作,但可以使用不同的倍数或方向 (负值) 以产生差异。视频中使用-6.283
。
- 选中
- 动画行星表面粒子:
- 选中
particles
对象,进入几何节点 (Geometry Nodes)
工作区。 - 找到驱动粒子位移的
噪波纹理 (Noise Texture)
。- 对其
W
值进行动画,从第0
帧的0
到第500
帧的2.000
(或使用表达式#frame / 20
来持续驱动,但循环需要关键帧)。视频中使用 (37:03)W
从0
到5
,然后第二个Noise Texture
的W
从0
到-5
,并用Mix Color
节点,其Factor
从0
到1
,以实现完美循环。
- 对其
- 找到驱动粒子旋转的
随机值 (Random Value)
节点。- 为了让粒子在旋转时也形成循环,可以对
最小值 (Min)
和最大值 (Max)
的其中一个轴向(例如Z轴)进行动画。比如,在第0
帧,Min Z为0.7
,Max Z为29.9
(插入关键帧)。在第250
帧 (中点),可以将这些值设为某个较大的中间值 (例如Min Z = 43
,Max Z = 50
),再插入关键帧。然后在第500
帧,将值设回与第0
帧相同的值,插入关键帧。这样就形成了一个“回旋镖”式的动画,它会平滑地循环。
- 为了让粒子在旋转时也形成循环,可以对
- 对象本身的旋转:在
物体属性 (Object Properties)
面板中,对particles
对象的Z轴旋转 (Rotation Z)
进行动画:- 第
0
帧:0
度,插入关键帧。 - 第
500
帧:360
度,插入关键帧。
- 第
- 选中
- 动画行星本身:
- 选中
planet
对象。 - 在
物体属性 (Object Properties)
面板中,对其Z轴旋转 (Rotation Z)
进行动画:- 第
0
帧:0
度,插入关键帧。 - 第
500
帧:360
度 (或一个较小的值如90
度,如果想让它转得慢一些),插入关键帧。
- 第
- 选中
步骤五: 灯光与合成 (Lighting and Compositing)
- 设置摄像机:
- 选择主摄像机。在
物体数据属性 (Object Data Properties)
(绿色相机图标) 中:焦距 (Focal Length)
:20 mm
(广角效果)。- 启用
景深 (Depth of Field)
。 聚焦于物体 (Focus on Object)
: 选择之前为景深创建的focus
空物体 (如果之前未创建,现在添加一个空物体 - 平面轴向 (Empty - Plain Axes)
,命名为focus
,并将其放置在希望清晰聚焦的行星环边缘区域)。光圈F值 (F-Stop)
:2.0
(或根据需要调整模糊程度,值越小越模糊)。视频中最终设为3.0
。
- 选择主摄像机。在
- 添加主光源:
- 按下
Shift + A
,在灯光 (Light)
中选择添加一个面光 (Area)
。 - 将其移动到场景的斜上方并指向行星。
- 在
物体数据属性 (Object Data Properties)
(灯泡图标) 中:功率 (Power)
:140 W
形状 (Shape)
:碟形 (Disk)
尺寸 (Size)
:1 m
光束形状 (Beam Shape)
->散布 (Spread)
:20
度 (控制光线的聚焦程度)。颜色 (Color)
: 略微偏蓝的白色。
- 按下
- 合成设置:
- 切换到
合成 (Compositing)
工作区。 - 勾选
使用节点 (Use Nodes)
。 - 在
渲染层 (Render Layers)
节点和合成 (Composite)
节点之间,按下Shift + A
搜索并添加一个辉光 (Glare)
节点。 辉光 (Glare)
节点设置:- 类型:
鬼影 (Streaks)
改为泛光 (Bloom)
。 阈值 (Threshold)
:1.000
大小 (Size)
:8
(控制辉光的扩散范围)。
- 类型:
- (可选,视频中演示但最终可能未使用)在
辉光 (Glare)
节点后可以再添加一个镜头畸变 (Lens Distortion)
节点,并微调色散 (Dispersion)
值 (例如0.01
) 来增加一点色差效果。
- 切换到
步骤六: 渲染动画
- 输出设置:
- 在
输出属性 (Output Properties)
面板中:- 设置
帧率 (Frame Rate)
为24 fps
(或你偏好的帧率)。 帧范围 (Frame Range)
:起始 (Start)
设为1
,结束 (End)
设为500
。输出 (Output)
: 选择一个文件夹用于保存渲染出来的图像序列。文件格式 (File Format)
: 选择PNG
。颜色 (Color)
:RGBA
(以包含透明通道,虽然本场景背景是黑的)。颜色深度 (Color Depth)
:8
或16
(16位色深保留更多颜色信息,但文件更大)。压缩 (Compression)
:15%
(PNG的默认压缩)。
- 设置
- 在
- 渲染设置:
- 在
渲染属性 (Render Properties)
面板中:采样 (Sampling)
->渲染 (Render)
->最大采样数 (Max Samples)
:300
(或根据你的硬件和时间预算调整,视频中最终渲染测试用的是300)。- 确保
降噪 (Denoise)
已勾选。
- 在
- 开始渲染:
- 点击
渲染 (Render)
菜单 ->渲染动画 (Render Animation)
。
- 点击
等待渲染完成后,你将得到一个图像序列,可以使用 Blender 的视频序列编辑器或其他视频编辑软件将其合成为最终的动画视频。
总结
恭喜你!通过本教程,你从零开始,在 Blender 中利用几何节点、着色器节点、动画系统、灯光和合成器,成功创建了一个复杂的科幻行星动画。你不仅学习了如何构建动态的螺旋环和粒子系统,还掌握了如何为它们赋予逼真的材质和动画效果,并通过灯光和后期处理提升了整体视觉表现。
你可以尝试调整教程中的各种参数,例如螺旋的圈数、粒子密度、材质颜色、动画速度等,来创造出属于你自己的独特科幻场景。祝你在 Blender 的创作之路上越走越远!