动画是赋予3D模型生命的艺术。本章将引导您进入Blender动画的世界,从最基础的关键帧概念开始,逐步掌握时间轴操作、曲线编辑以及经典的动画原则。与静态的CAD设计不同,动画需要您思考时间维度——物体如何随时间变化、运动如何产生情感、节奏如何影响观感。通过本章学习,您将建立扎实的动画基础,为后续的角色动画和复杂动作制作做好准备。
完成本章后,您将能够:
关键帧(Keyframe)是动画的基石,它记录了物体在特定时间点的状态。Blender会自动计算关键帧之间的过渡,这个过程称为插值(Interpolation)。
时间轴表示:
Frame 1 Frame 10 Frame 20 Frame 30
[A]--------[B]--------[C]--------[D]
位置1 位置2 位置3 位置4
[方块] = 关键帧
------ = 自动插值
在Blender中,几乎所有属性都可以设置关键帧:
Blender提供多种插值模式,每种都有其特定用途:
速度图:
|-------- (恒定速度)
+---------> 时间
速度图:
| ___
| / \
| / \
+-----------> 时间
值变化:
|----┐
| |
| └----
+---------> 时间
快捷键系统:
I - 插入关键帧菜单Alt+I - 删除关键帧Shift+D - 复制关键帧G - 在时间轴上移动关键帧关键帧类型:
自动关键帧: 启用自动关键帧功能后,任何变换操作都会自动创建关键帧。这在制作复杂动画时极大提高效率,但需要谨慎使用避免意外修改。
时间轴是动画制作的指挥中心,位于Blender界面底部:
时间轴布局:
┌─────────────────────────────────────────┐
│ ◀ ▶ ⏸ ⏺ | Frame: 24 | Start: 1 | End: 250 │
├─────────────────────────────────────────┤
│ 1 10 20 30 40 50 60 │
│ |═══○═════════════════════════════════| │
└─────────────────────────────────────────┘
○ = 当前帧指示器
═ = 时间范围
核心功能:
Dope Sheet提供动画的整体视图,显示所有关键帧的分布:
Dope Sheet视图:
Object Name |1 10 20 30 40
───────────────┼──────────────────────────
Cube |◆ ◆ ◆ ◆
├─ Location |◇ ◇ ◇
├─ Rotation | ◇ ◇
└─ Scale |◇ ◇ ◇
◆ = 汇总关键帧
◇ = 具体属性关键帧
主要用途:
Graph Editor是精确控制动画的核心工具,将动画表现为数学曲线:
F-Curve示例:
值 ↑
│ ╱╲
│ ╱ ╲
│ ╱ ╲___
│╱ ╲
└────────────────→ 时间
控制点和手柄:
○━━━●━━━○
左柄 关键帧 右柄
关键操作:
B框选,Alt+B圈选修改器系统: Graph Editor支持给曲线添加修改器:
NLA(Non-Linear Animation)编辑器允许您像编辑视频一样编辑动画:
NLA轨道结构:
Track 1 |[Walk Cycle][Walk Cycle][Walk Cycle]
Track 2 | [Jump] [Land]
Track 3 | [Idle Loop]
核心概念:
迪士尼动画师在1930年代总结的十二原则至今仍是动画制作的黄金法则。让我们看看如何在Blender中应用这些原则。
物体在运动中会产生形变,这赋予了动画生命力和弹性感。
弹球示例:
○ 正常
↓
___ 挤压(接触地面)
( )
↑
| 拉伸(快速运动)
○
Blender实现:
主要动作前的反向运动,帮助观众预期即将发生的事。
跳跃预备:
站立 → 下蹲(预备) → 跳起
| ↓ ↑
| ___ / \
| / \ / \
应用场景:
确保动画意图清晰,观众注意力集中在重要元素上。
Blender技巧:
两种动画制作方法:
Pose to Pose工作流:
关键姿势1 ---- 中间帧 ---- 关键姿势2
A (自动生成) B
不同部位以不同速率运动,创造自然的延迟效果。
手臂摆动时序:
肩膀先动 → 上臂跟随 → 前臂跟随 → 手掌最后
1 2 3 4
Blender实现:
运动在开始和结束时较慢,中间较快。
速度曲线:
速度 │ ╱─╲
│ ╱ ╲
│ ╱ ╲
│╱ ╲
└───────────────→ 时间
缓入 快速 缓出
Graph Editor调整:
自然运动通常沿弧线而非直线。
手臂摆动路径:
╱╲
╱ ╲ (弧线)
╱ ╲
●──────────● (不自然的直线)
Blender技巧:
支撑主要动作的附加动作,增加趣味性。
示例:
关键帧的间隔决定动作的速度和情绪。
相同距离,不同节奏:
快速(紧张): ●●●●●●●●●
均匀(平稳): ● ● ● ● ●
缓慢(轻松): ● ● ● ●
适度夸大动作,使其更有表现力。
夸张程度对比:
在3D中体现为正确的模型结构和权重。
Blender要点:
让角色和动画具有魅力,不一定是”可爱”,而是”有趣”。
提升吸引力:
理解物理运动规律是创建可信动画的关键。即使是夸张的卡通动画,也需要基于真实物理规律进行艺术化处理。
时间(Timing)决定动作持续多久,间距(Spacing)决定每帧之间的位置变化。
相同时间,不同间距:
匀速运动: ● ● ● ● ●
加速运动: ● ● ● ● ●●●
减速运动: ●●● ● ● ● ●
关键概念:
不同的缓动函数创造不同的运动感受:
常见缓动曲线:
Linear: ╱ (匀速)
Ease In: ╱ (加速)
╱
Ease Out: ╱ (减速)
╱
Ease InOut: ╱ (先加速后减速)
╱
Blender中的应用:
自然界中的运动很少是完美的直线,理解弧线运动对动画至关重要。
投掷物体的轨迹:
╱╲
╱ ╲
╱ ╲
╱ ╲
重力影响下的抛物线
创建弧线运动的方法:
不同重量的物体运动方式不同,这通过时间和间距来表现:
重物 vs 轻物:
重物起动:● ● ● ● ● (缓慢加速)
轻物起动:● ● ● ● (快速达到最大速度)
重物停止:● ● ● ● ● ● (缓慢减速)
轻物停止:● ● ● ● (快速停止)
表现技巧:
动画中的力不是瞬间传递的,而是有延迟和衰减:
链式反应:
冲击点 → 第一节 → 第二节 → 第三节
● ● ● ●
↓ 0.1s 0.2s 0.3s
立即 轻微延迟 中等延迟 明显延迟
Blender实现:
# 伪代码示例
for i, bone in enumerate(bone_chain):
bone.keyframe_insert(frame=base_frame + i*2)
摩擦力影响物体的运动方式:
不同表面的滑动:
冰面: ●━━━━━━━━━━━━━→ (几乎不减速)
光滑地面:●━━━━━━→ (缓慢减速)
粗糙地面:●━━→ (快速停止)
动画要点:
物体倾向于保持其运动状态:
急停时的惯性表现:
主体停止 → 附属部分继续运动 → 回弹 → 稳定
● ●→●←●
↓ 头发/衣物/配饰
停止 继续摆动
实践应用:
本章我们系统学习了Blender动画的基础知识:
关键帧系统:理解了关键帧的概念、插值类型和管理方法,这是所有动画的基础。
编辑器工具:掌握了Timeline、Dope Sheet、Graph Editor和NLA Editor的使用,每个工具都有其特定用途和优势。
动画十二原则:学习了经典的动画原则并了解如何在Blender中实现,这些原则是创造生动动画的理论基础。
物理运动规律:理解了时间、间距、重量、惯性等物理概念在动画中的应用,为创建可信的运动打下基础。
关键要点:
练习1:弹球动画 创建一个弹球从高处落下并弹跳的动画(5秒)。
练习2:摆锤运动 制作一个摆锤的往复运动动画。
练习3:简单走路循环 创建一个立方体的”走路”动画。
练习4:角色起跳动画 为一个简单角色(可用多个基础形状组合)制作起跳动画。
练习5:多物体连锁反应 创建5个多米诺骨牌的倒塌动画。
练习6:表情变化动画 使用形态键制作一个简单的表情变化。
练习7:机械手臂动画 创建一个三节机械手臂抓取物体的动画。
练习8:风中旗帜 不使用布料模拟,手动制作旗帜飘动动画。
问题:每一帧都设置关键帧,导致动画僵硬。 解决:只在关键姿势设置关键帧,让插值处理过渡。
问题:只在视窗中调整,不查看Graph Editor。 解决:养成在Graph Editor中检查和优化曲线的习惯。
问题:所有运动都是直线和匀速。 解决:添加弧线,使用缓入缓出,模仿真实物理。
问题:所有部件同时开始和结束运动。 解决:添加延迟和重叠,创造自然的连锁反应。
问题:完全依赖默认插值,不做调整。 解决:根据运动类型选择合适的插值模式。
问题:不理解帧率对动画速度的影响。 解决:始终确认项目帧率设置,按需调整。
问题:不区分不同类型关键帧的用途。 解决:使用击穿帧标记重要中间姿势,极值帧标记极限位置。
问题:循环动画首尾不衔接。 解决:确保最后一帧前的状态与第一帧匹配。