LESSON02

BLOCKBENCH 3D
让关节讲一个动作的故事

展开双翼,
飞龙起飞。

先让它飞,
再让它吐出第一团火。

翅膀不是两块会转的板,喷火也不是把橙色方块放在嘴边。我们先找到关节,再安排节奏:振翅、抬头、张嘴、吐火。一只方块龙,就这样有了性格。

  • 进阶入门
  • 建议 2–3 小时
  • Blockbench 5.x
  • 2 段循环动画
实时 3D 作品

正在加载实时模型…

拖动旋转 · 滚轮缩放
先看它怎样飞,再看火从哪里来。切换「振翅飞行 / 张嘴喷火」。这是模型动画演示,不含游戏飞行 AI、攻击或伤害逻辑。
本次目标106 个部件,19 个分组。做出会振翅、会张嘴喷火的像素飞龙。练习包与检查点 ↓

BEFORE YOU BUILD

这次不赶路。给飞龙三个下午也可以。

建议先完成第 01 课:万圣节南瓜灯,会添加方块、设置尺寸和使用时间线后再来。你可以分三次做:形状与关节 → 纹理 → 两段动画。本课使用本机 Blockbench 的 Generic Model(通用模型),不需要先运行 Minecraft。

下载本课练习包 · 64 KB ↓
  • 01-body.bbmodel13 部件 · 3 分组 · 0 段动画
  • 02-head-legs.bbmodel59 部件 · 10 分组 · 0 段动画
  • 03-wings-tail-rig.bbmodel98 部件 · 17 分组 · 0 段动画
  • 04-flight.bbmodel106 部件 · 19 分组 · 1 段动画
  • 05-finished-animated.bbmodel106 部件 · 19 分组 · 2 段动画

5 个 .bbmodel 均可独立打开,已内嵌纹理并设置关节,方便对照和接续练习。下面的 8 张软件截图是在本机中文版 Blockbench 中打开对应检查点拍摄的,并非从空白工程逐次录屏;结构示意图单独标注。点击截图可看原图。请另存自己的练习,不覆盖参考工程。

STEP1

先搭一副结实的身体

先做胸腔、腹甲和脖子,暂时不管翅膀。

  1. 新建 通用模型,项目名 my_wyvern,纹理尺寸 64 × 64,使用逐面 UV。保存为 my-wyvern.bbmodel。
  2. 建立 Wyvern → Body → Neck 分组。添加 chest 立方体放入 Body:位置 −4.2 / 10 / −5.5,尺寸 8.4 / 8 / 11。这是胸腔,不是整个生物的包围盒。
  3. 按表加入后躯、腹甲、肩甲和背刺;脖子放入 Neck。先完成主要体块,再加装饰。完成后对照 01-body.bbmodel。
X ↔ 左右Y ↑ 向上头朝 −Z · 尾朝 +Z
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 编辑模式选中 chest,位置为 −4.2、10、−5.5,尺寸为 8.4、8、11
实机 01选中胸腔,把位置与尺寸分开看
  • 右下大纲选中 chest;右上第一行是位置,第二行是尺寸。
  • 现在只有 13 个部件。背刺、肩甲和脖子已经出现,还没有头、腿、翅膀与尾巴。
飞龙胸腔、腹甲、肩甲、背刺与前倾的脖子
结构图 01 / 先让大体块站得住,再添细节。
展开身体与脖子的全部 13 个部件
部件 / 分组PositionSizeRotation °Pivot纹理 / UV
chest
Body
-4.2 / 10 / -5.58.4 / 8 / 110 / 0 / 00 / 14 / 0鳞片
0 / 0 / 16 / 16
rump
Body
-3.6 / 11 / 5.27.2 / 6 / 4.80 / 0 / 00 / 14 / 7.6鳞片
16 / 0 / 32 / 16
belly_scutes
Body
-3.5 / 9.7 / -4.77 / 1.3 / 12.70 / 0 / 00 / 10.35 / 1.65鳞片
32 / 0 / 48 / 16
shoulder_scale_L
Body
3.5 / 15 / -31.5 / 3.7 / 60 / 0 / 04.25 / 16.85 / 0鳞片
0 / 48 / 16 / 64
shoulder_scale_R
Body
-5 / 15 / -31.5 / 3.7 / 60 / 0 / 0-4.25 / 16.85 / 0鳞片
0 / 48 / 16 / 64
dorsal_spine_0
Body
-0.6 / 17.6 / -31.2 / 2.9 / 1.415 / 0 / 00 / 19.05 / -2.3鳞片
48 / 32 / 64 / 48
dorsal_spine_1
Body
-0.6 / 17.6 / 01.2 / 2.9 / 1.415 / 0 / 00 / 19.05 / 0.7鳞片
48 / 32 / 64 / 48
dorsal_spine_2
Body
-0.6 / 17.6 / 31.2 / 2.9 / 1.415 / 0 / 00 / 19.05 / 3.7鳞片
48 / 32 / 64 / 48
dorsal_spine_3
Body
-0.6 / 16.6 / 61.2 / 2.4 / 1.415 / 0 / 00 / 17.8 / 6.7鳞片
48 / 32 / 64 / 48
dorsal_spine_4
Body
-0.6 / 16.6 / 91.2 / 2.4 / 1.415 / 0 / 00 / 17.8 / 9.7鳞片
48 / 32 / 64 / 48
lower_neck
Neck
-2.7 / 16 / -105.4 / 5 / 5.2-20 / 0 / 00 / 18.5 / -7.4鳞片
16 / 0 / 32 / 16
neck_front_scutes
Neck
-2.2 / 16.3 / -10.354.4 / 4.2 / 0.55-20 / 0 / 00 / 18.4 / -10.075鳞片
32 / 0 / 48 / 16
neck_spine
Neck
-0.5 / 20.2 / -71 / 3 / 1.2-20 / 0 / 00 / 21.7 / -6.4鳞片
48 / 32 / 64 / 48
STEP2

让脑袋有表情,让下颌能动

嘴巴必须能单独打开,牙齿也得跟对主人。

在 Neck 下建立 Head,在 Head 下建立 Jaw 与 Horns。头骨、上吻、眼睛放进 Head;下颌、舌头、下排牙齿放进 Jaw;两根角放进 Horns。下颌不是头部贴图的一部分,而是一组能动的零件。

先做这三块,就能看出表情。

skull:位置 −3.1 / 19.3 / −15,尺寸 6.2 / 4.7 / 4.6。
upper_muzzle:位置 −2.8 / 19.5 / −18.8,尺寸 5.6 / 2.3 / 4.8。
lower_jaw:位置 −2.6 / 17.9 / −18.7,尺寸 5.2 / 1.1 / 7.8。

本机 Blockbench · 中文界面查看原图 ↗
Blockbench 大纲展开 Head 和 Jaw,选中 Jaw 分组,枢轴坐标为 0、19、−11
实机 02下颌、舌头、下排牙齿,一起归 Jaw 管
  • 右侧 Jaw 位于 Head 内,下颌与下排牙齿一起高亮。
  • 看“枢轴点”:0 / 19 / −11,在下颌后部附近。动画时绕这里张嘴。

再在 Body 下建立两条后腿 Leg_L / Leg_R,各自包含 Foot_L / Foot_R。腿弯曲时脚会跟着走,脚爪又能单独收拢。本课是双足飞龙,没有另外两条前腿;双翼就是它最醒目的前肢。

已加入头、下颌、角和两条后腿,但尚未添加双翼和尾巴的飞龙
结构图 02 / 完成到这里,共 59 个部件。
展开头部、下颌、角和双腿的参数
部件 / 分组PositionSizeRotation °Pivot纹理 / UV
skull
Head
-3.1 / 19.3 / -156.2 / 4.7 / 4.60 / 0 / 00 / 21.65 / -12.7鳞片
16 / 0 / 32 / 16
upper_muzzle
Head
-2.8 / 19.5 / -18.85.6 / 2.3 / 4.80 / 0 / 00 / 20.65 / -16.4鳞片
0 / 0 / 16 / 16
nose_ridge
Head
-1.2 / 21.8 / -17.72.4 / 0.6 / 3.70 / 0 / 00 / 22.1 / -15.85鳞片
0 / 48 / 16 / 64
mouth_dark_interior
Head
-2.3 / 19.05 / -17.84.6 / 0.45 / 6.30 / 0 / 00 / 19.275 / -14.65鳞片
32 / 16 / 48 / 32
eye_socket_L
Head
3.05 / 21.1 / -14.50.18 / 2.2 / 2.50 / 0 / 03.14 / 22.2 / -13.25鳞片
32 / 16 / 48 / 32
amber_eye_L
Head
3.23 / 21.45 / -14.20.11 / 1.5 / 1.950 / 0 / 03.285 / 22.2 / -13.225鳞片
48 / 16 / 64 / 32
vertical_pupil_L
Head
3.34 / 21.4 / -13.350.09 / 1.55 / 0.40 / 0 / 03.385 / 22.175 / -13.15鳞片
32 / 16 / 48 / 32
eye_glint_L
Head
3.43 / 22.5 / -13.950.07 / 0.32 / 0.350 / 0 / 03.465 / 22.66 / -13.775鳞片
16 / 16 / 32 / 32
brow_L
Head
2.65 / 23.15 / -14.60.95 / 0.85 / 2.80 / 0 / 03.125 / 23.575 / -13.2鳞片
0 / 48 / 16 / 64
nostril_L
Head
1.2 / 20.7 / -18.930.8 / 0.6 / 0.120 / 0 / 01.6 / 21 / -18.87鳞片
32 / 16 / 48 / 32
cheek_L
Head
2.7 / 19.8 / -12.71.1 / 2 / 2.20 / 0 / 03.25 / 20.8 / -11.6鳞片
0 / 48 / 16 / 64
horn_base_L
Horns
2.325 / 22.7063 / -10.4251.25 / 4.3875 / 1.2539.0939 / 0 / -19.99162.95 / 24.9 / -9.8鳞片
16 / 16 / 32 / 32
horn_tip_L
Horns
3.6 / 26.0072 / -80.7 / 2.0857 / 0.757.0948 / 0 / -13.87073.95 / 27.05 / -7.65鳞片
48 / 32 / 64 / 48
upper_fang_L_-17.7
Head
1.85 / 18.65 / -17.70.5 / 0.95 / 0.550 / 0 / 02.1 / 19.125 / -17.425鳞片
16 / 16 / 32 / 32
upper_fang_L_-15.9
Head
1.85 / 18.65 / -15.90.5 / 0.95 / 0.550 / 0 / 02.1 / 19.125 / -15.625鳞片
16 / 16 / 32 / 32
upper_fang_L_-14.1
Head
1.85 / 18.65 / -14.10.5 / 0.95 / 0.550 / 0 / 02.1 / 19.125 / -13.825鳞片
16 / 16 / 32 / 32
eye_socket_R
Head
-3.23 / 21.1 / -14.50.18 / 2.2 / 2.50 / 0 / 0-3.14 / 22.2 / -13.25鳞片
32 / 16 / 48 / 32
amber_eye_R
Head
-3.34 / 21.45 / -14.20.11 / 1.5 / 1.950 / 0 / 0-3.285 / 22.2 / -13.225鳞片
48 / 16 / 64 / 32
vertical_pupil_R
Head
-3.43 / 21.4 / -13.350.09 / 1.55 / 0.40 / 0 / 0-3.385 / 22.175 / -13.15鳞片
32 / 16 / 48 / 32
eye_glint_R
Head
-3.5 / 22.5 / -13.950.07 / 0.32 / 0.350 / 0 / 0-3.465 / 22.66 / -13.775鳞片
16 / 16 / 32 / 32
brow_R
Head
-3.6 / 23.15 / -14.60.95 / 0.85 / 2.80 / 0 / 0-3.125 / 23.575 / -13.2鳞片
0 / 48 / 16 / 64
nostril_R
Head
-2 / 20.7 / -18.930.8 / 0.6 / 0.120 / 0 / 0-1.6 / 21 / -18.87鳞片
32 / 16 / 48 / 32
cheek_R
Head
-3.8 / 19.8 / -12.71.1 / 2 / 2.20 / 0 / 0-3.25 / 20.8 / -11.6鳞片
0 / 48 / 16 / 64
horn_base_R
Horns
-3.575 / 22.7063 / -10.4251.25 / 4.3875 / 1.2539.0939 / 0 / 19.9916-2.95 / 24.9 / -9.8鳞片
16 / 16 / 32 / 32
horn_tip_R
Horns
-4.3 / 26.0072 / -80.7 / 2.0857 / 0.757.0948 / 0 / 13.8707-3.95 / 27.05 / -7.65鳞片
48 / 32 / 64 / 48
upper_fang_R_-17.7
Head
-2.35 / 18.65 / -17.70.5 / 0.95 / 0.550 / 0 / 0-2.1 / 19.125 / -17.425鳞片
16 / 16 / 32 / 32
upper_fang_R_-15.9
Head
-2.35 / 18.65 / -15.90.5 / 0.95 / 0.550 / 0 / 0-2.1 / 19.125 / -15.625鳞片
16 / 16 / 32 / 32
upper_fang_R_-14.1
Head
-2.35 / 18.65 / -14.10.5 / 0.95 / 0.550 / 0 / 0-2.1 / 19.125 / -13.825鳞片
16 / 16 / 32 / 32
lower_jaw
Jaw
-2.6 / 17.9 / -18.75.2 / 1.1 / 7.80 / 0 / 00 / 18.45 / -14.8鳞片
32 / 0 / 48 / 16
tongue
Jaw
-1.2 / 19 / -17.22.4 / 0.2 / 5.20 / 0 / 00 / 19.1 / -14.6鳞片
32 / 32 / 48 / 48
lower_fang_-1_-17
Jaw
-2.27 / 19 / -170.44 / 0.55 / 0.450 / 0 / 0-2.05 / 19.275 / -16.775鳞片
16 / 16 / 32 / 32
lower_fang_-1_-15.1
Jaw
-2.27 / 19 / -15.10.44 / 0.55 / 0.450 / 0 / 0-2.05 / 19.275 / -14.875鳞片
16 / 16 / 32 / 32
lower_fang_1_-17
Jaw
1.83 / 19 / -170.44 / 0.55 / 0.450 / 0 / 02.05 / 19.275 / -16.775鳞片
16 / 16 / 32 / 32
lower_fang_1_-15.1
Jaw
1.83 / 19 / -15.10.44 / 0.55 / 0.450 / 0 / 02.05 / 19.275 / -14.875鳞片
16 / 16 / 32 / 32
thigh_L
Leg_L
2.3 / 6.5625 / 5.22.6 / 4.5749 / 2.6166.9081 / 0 / -15.20653.6 / 8.85 / 6.5鳞片
0 / 0 / 16 / 16
shin_L
Leg_L
3.2 / 2.9306 / 4.41.8 / 4.5387 / 1.8-131.4237 / 0 / 2.52564.1 / 5.2 / 5.3鳞片
16 / 0 / 32 / 16
foot_L
Foot_L
2.3 / 2.4 / 0.63.4 / 1.6 / 4.80 / 0 / 04 / 3.2 / 3鳞片
0 / 0 / 16 / 16
claw_L_-1
Foot_L
2.55 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 02.85 / 2.925 / 0.55鳞片
16 / 16 / 32 / 32
claw_L_0
Foot_L
3.7 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 04 / 2.925 / 0.55鳞片
16 / 16 / 32 / 32
claw_L_1
Foot_L
4.85 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 05.15 / 2.925 / 0.55鳞片
16 / 16 / 32 / 32
thigh_R
Leg_R
-4.9 / 6.5625 / 5.22.6 / 4.5749 / 2.6166.9081 / 0 / 15.2065-3.6 / 8.85 / 6.5鳞片
0 / 0 / 16 / 16
shin_R
Leg_R
-5 / 2.9306 / 4.41.8 / 4.5387 / 1.8-131.4237 / 0 / -2.5256-4.1 / 5.2 / 5.3鳞片
16 / 0 / 32 / 16
foot_R
Foot_R
-5.7 / 2.4 / 0.63.4 / 1.6 / 4.80 / 0 / 0-4 / 3.2 / 3鳞片
0 / 0 / 16 / 16
claw_R_-1
Foot_R
-5.45 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 0-5.15 / 2.925 / 0.55鳞片
16 / 16 / 32 / 32
claw_R_0
Foot_R
-4.3 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 0-4 / 2.925 / 0.55鳞片
16 / 16 / 32 / 32
claw_R_1
Foot_R
-3.15 / 2.6 / -0.40.6 / 0.65 / 1.9-8 / 0 / 0-2.85 / 2.925 / 0.55鳞片
16 / 16 / 32 / 32
STEP3

展开双翼,留出第二个关节

一只翅膀,两处关节。翼尖不要焊死在肩膀上。

  1. 在 Body 下建立 Wing_L,里面再建 Wing_Tip_L。另一边同样建立 Wing_R 与 Wing_Tip_R。L / R 是工程里的命名,不等于你屏幕上的左右。
  2. 先放深绿色翼骨,再铺铜橙色翼膜。每侧翼膜由 9 条薄长方体组成,厚度为 0.38;靠身体的前 4 条属于 Wing,其余属于 Wing_Tip。
  3. 左右位置关于 X=0 对称:一条方块的 X 区间 [a, b],镜像后变成 [−b, −a]。已经倾斜的翼骨请按参数表的旋转与枢轴设置,不要只给 X 加负号。
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 中飞龙的双翼与完整身体结构,展示翼部分组
实机 03双翼与翼尖,分别占据大纲的一层
  • 展开 Wing_L 后,Wing_Tip_L 是它的子分组。先看层级,再设置旋转。
  • 肩关节负责大幅扇动,外侧翼尖负责跟随;它们不是一张不可分的平板。
从上方查看对称的铜橙色阶梯翼膜与绿色翼骨
结构图 03 / 单独显示双翼。阶梯边缘来自不同长度的薄方块。
展开双翼、翼骨与翼膜参数
部件 / 分组PositionSizeRotation °Pivot纹理 / UV
wing_arm_L
Wing_L
7.825 / 13.1523 / -2.1751.35 / 9.6954 / 1.35-56.3099 / 0 / -68.16818.5 / 18 / -1.5鳞片
0 / 48 / 16 / 64
wing_leading_edge_L
Wing_Tip_L
17.55 / 14.4739 / -4.80.9 / 10.4523 / 0.9-62.5924 / 0 / -73.083518 / 19.7 / -4.35鳞片
0 / 0 / 16 / 16
wing_finger_inner_L
Wing_L
5.925 / 12.0475 / 4.9250.65 / 10.8051 / 0.6587.2737 / 0 / -13.37796.25 / 17.45 / 5.25鳞片
0 / 0 / 16 / 16
wing_finger_mid_L
Wing_Tip_L
14.21 / 14.4524 / 1.210.58 / 9.4953 / 0.5887.4552 / 0 / -18.41814.5 / 19.2 / 1.5鳞片
0 / 0 / 16 / 16
wing_finger_outer_L
Wing_Tip_L
18.25 / 16.9509 / -1.90.5 / 5.5982 / 0.583.9275 / 0 / -32.40418.5 / 19.75 / -1.65鳞片
0 / 0 / 16 / 16
wing_thumb_claw_L
Wing_Tip_L
13.1 / 19.15 / -4.150.6 / 2.1 / 0.6-34.5085 / 0 / -22.392713.4 / 20.2 / -3.85鳞片
16 / 16 / 32 / 32
wing_membrane_L_0
Wing_L
5 / 17.6 / -0.572.1 / 0.38 / 11.570 / 0 / 06.05 / 17.79 / 5.215鳞片
16 / 48 / 32 / 64
wing_membrane_L_1
Wing_L
7 / 17.9 / -1.112.1 / 0.38 / 12.610 / 0 / 08.05 / 18.09 / 5.195鳞片
0 / 16 / 16 / 32
wing_membrane_L_2
Wing_L
9 / 18.2 / -1.652.1 / 0.38 / 10.850 / 0 / 010.05 / 18.39 / 3.775鳞片
0 / 16 / 16 / 32
wing_membrane_L_3
Wing_L
11 / 18.5 / -2.192.1 / 0.38 / 9.490 / 0 / 012.05 / 18.69 / 2.555鳞片
16 / 48 / 32 / 64
wing_membrane_L_4
Wing_Tip_L
13 / 18.8 / -2.732.1 / 0.38 / 9.930 / 0 / 014.05 / 18.99 / 2.235鳞片
0 / 16 / 16 / 32
wing_membrane_L_5
Wing_Tip_L
15 / 19.1 / -3.272.1 / 0.38 / 8.270 / 0 / 016.05 / 19.29 / 0.865鳞片
0 / 16 / 16 / 32
wing_membrane_L_6
Wing_Tip_L
17 / 19.4 / -3.812.1 / 0.38 / 7.410 / 0 / 018.05 / 19.59 / -0.105鳞片
16 / 48 / 32 / 64
wing_membrane_L_7
Wing_Tip_L
19 / 19.7 / -4.352.1 / 0.38 / 6.650 / 0 / 020.05 / 19.89 / -1.025鳞片
0 / 16 / 16 / 32
wing_membrane_L_8
Wing_Tip_L
21 / 20 / -4.892.1 / 0.38 / 5.090 / 0 / 022.05 / 20.19 / -2.345鳞片
0 / 16 / 16 / 32
wing_arm_R
Wing_R
-9.175 / 13.1523 / -2.1751.35 / 9.6954 / 1.35-56.3099 / 0 / 68.1681-8.5 / 18 / -1.5鳞片
0 / 48 / 16 / 64
wing_leading_edge_R
Wing_Tip_R
-18.45 / 14.4739 / -4.80.9 / 10.4523 / 0.9-62.5924 / 0 / 73.0835-18 / 19.7 / -4.35鳞片
0 / 0 / 16 / 16
wing_finger_inner_R
Wing_R
-6.575 / 12.0475 / 4.9250.65 / 10.8051 / 0.6587.2737 / 0 / 13.3779-6.25 / 17.45 / 5.25鳞片
0 / 0 / 16 / 16
wing_finger_mid_R
Wing_Tip_R
-14.79 / 14.4524 / 1.210.58 / 9.4953 / 0.5887.4552 / 0 / 18.418-14.5 / 19.2 / 1.5鳞片
0 / 0 / 16 / 16
wing_finger_outer_R
Wing_Tip_R
-18.75 / 16.9509 / -1.90.5 / 5.5982 / 0.583.9275 / 0 / 32.404-18.5 / 19.75 / -1.65鳞片
0 / 0 / 16 / 16
wing_thumb_claw_R
Wing_Tip_R
-13.7 / 19.15 / -4.150.6 / 2.1 / 0.6-34.5085 / 0 / 22.3927-13.4 / 20.2 / -3.85鳞片
16 / 16 / 32 / 32
wing_membrane_R_0
Wing_R
-7.1 / 17.6 / -0.572.1 / 0.38 / 11.570 / 0 / 0-6.05 / 17.79 / 5.215鳞片
16 / 48 / 32 / 64
wing_membrane_R_1
Wing_R
-9.1 / 17.9 / -1.112.1 / 0.38 / 12.610 / 0 / 0-8.05 / 18.09 / 5.195鳞片
0 / 16 / 16 / 32
wing_membrane_R_2
Wing_R
-11.1 / 18.2 / -1.652.1 / 0.38 / 10.850 / 0 / 0-10.05 / 18.39 / 3.775鳞片
0 / 16 / 16 / 32
wing_membrane_R_3
Wing_R
-13.1 / 18.5 / -2.192.1 / 0.38 / 9.490 / 0 / 0-12.05 / 18.69 / 2.555鳞片
16 / 48 / 32 / 64
wing_membrane_R_4
Wing_Tip_R
-15.1 / 18.8 / -2.732.1 / 0.38 / 9.930 / 0 / 0-14.05 / 18.99 / 2.235鳞片
0 / 16 / 16 / 32
wing_membrane_R_5
Wing_Tip_R
-17.1 / 19.1 / -3.272.1 / 0.38 / 8.270 / 0 / 0-16.05 / 19.29 / 0.865鳞片
0 / 16 / 16 / 32
wing_membrane_R_6
Wing_Tip_R
-19.1 / 19.4 / -3.812.1 / 0.38 / 7.410 / 0 / 0-18.05 / 19.59 / -0.105鳞片
16 / 48 / 32 / 64
wing_membrane_R_7
Wing_Tip_R
-21.1 / 19.7 / -4.352.1 / 0.38 / 6.650 / 0 / 0-20.05 / 19.89 / -1.025鳞片
0 / 16 / 16 / 32
wing_membrane_R_8
Wing_Tip_R
-23.1 / 20 / -4.892.1 / 0.38 / 5.090 / 0 / 0-22.05 / 20.19 / -2.345鳞片
0 / 16 / 16 / 32
STEP4

把尾巴接成一条运动链

父关节动,后面的关节跟着走。

建立 Tail_Base → Tail_Mid → Tail_Tip,依次放入尾根、中段、尾尖和各自背刺。不要把三段尾巴并排放在 Body 里:尾根转动时,后两段也应该随它移动。

Wyvern
└─ Body
   ├─ Neck → Head
   │          ├─ Jaw
   │          ├─ Horns
   │          └─ Fire → Embers(第 7 步加入)
   ├─ Wing_L → Wing_Tip_L
   ├─ Wing_R → Wing_Tip_R
   ├─ Leg_L → Foot_L
   ├─ Leg_R → Foot_R
   └─ Tail_Base → Tail_Mid → Tail_Tip
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 选中 Tail_Base,其下嵌套 Tail_Mid 与 Tail_Tip,右上枢轴显示 0、13、9
实机 04尾根带着尾中,尾中带着尾尖
  • Tail_Base 高亮;Tail_Mid 和 Tail_Tip 逐级缩进,尾部所有零件一起选中。
  • 右上“枢轴点”为 0 / 13 / 9。下面给出全部 19 个分组的枢轴;Fire 和 Embers 在第 7 步才加入。
展开全部分组的 Pivot Point · X / Y / Z
分组Pivot Point
Wyvern0 / 14 / 0
Body0 / 14 / 1
Neck0 / 17 / -5
Head0 / 21 / -12
Jaw0 / 19 / -11
Horns0 / 23 / -10
Wing_L4 / 17 / 0
Wing_Tip_L13 / 19 / -3
Wing_R-4 / 17 / 0
Wing_Tip_R-13 / 19 / -3
Leg_L3 / 11 / 6
Foot_L4 / 5 / 4
Leg_R-3 / 11 / 6
Foot_R-4 / 5 / 4
Tail_Base0 / 13 / 9
Tail_Mid0 / 14 / 17
Tail_Tip0 / 17 / 24
Fire0 / 19.1 / -18.6
Embers0 / 19.1 / -18.6
带背刺的三段尾巴与橙色箭形尾尖
结构图 04 / 三段不是三根独立棍子,而是一条传递运动的链。
展开尾巴各部件参数
部件 / 分组PositionSizeRotation °Pivot纹理 / UV
tail_thick
Tail_Base
-1.6 / 9.3762 / 11.653.2 / 8.5475 / 3.283.9559 / 0 / -00 / 13.65 / 13.25鳞片
0 / 0 / 16 / 16
tail_middle
Tail_Mid
-1.05 / 11.576 / 19.652.1 / 7.948 / 2.168.6002 / 0 / -00 / 15.55 / 20.7鳞片
16 / 0 / 32 / 16
tail_tip
Tail_Tip
-0.55 / 15.2518 / 26.451.1 / 6.8964 / 1.160.4612 / 0 / -00 / 18.7 / 27鳞片
0 / 0 / 16 / 16
Tail_Base_spike
Tail_Base
-0.45 / 15.7 / 130.9 / 2 / 1.220 / 0 / 00 / 16.7 / 13.6鳞片
48 / 32 / 64 / 48
Tail_Mid_spike
Tail_Mid
-0.45 / 17.2 / 200.9 / 2 / 1.220 / 0 / 00 / 18.2 / 20.6鳞片
48 / 32 / 64 / 48
Tail_Tip_spike
Tail_Tip
-0.45 / 20 / 260.9 / 2 / 1.220 / 0 / 00 / 21 / 26.6鳞片
48 / 32 / 64 / 48
tail_arrow_center
Tail_Tip
-0.9 / 20 / 28.91.8 / 0.6 / 3.1-20 / 0 / 00 / 20.3 / 30.45鳞片
48 / 0 / 64 / 16
tail_arrow_lobe_-1
Tail_Tip
-1.85 / 20 / 28.81.3 / 0.5 / 20 / 25 / 0-1.2 / 20.25 / 29.8鳞片
48 / 0 / 64 / 16
tail_arrow_lobe_1
Tail_Tip
0.55 / 20 / 28.81.3 / 0.5 / 20 / -25 / 01.2 / 20.25 / 29.8鳞片
48 / 0 / 64 / 16
STEP5

给鳞片与翼膜分配颜色

用少量颜色,把身体、翼膜、角和腹甲区分开。

  1. 导入练习包 textures/wyvern-scales.png,这是一张 64 × 64 的像素图集,分成 16 个 16 × 16 色块。切到绘画模式,用 1 像素画笔改一小块,观察它出现在哪里。
  2. 回到编辑模式,选中一个方块的面,在 UV 面板给它分配纹理和取样区。每个部件在本模型中六面使用同一色块;参数表的 UV 是 U1 / V1 / U2 / V2,不是宽高。可先选全部六个面统一设置。
  3. 鳞片用深浅绿,腹甲用金色,翼膜用铜橙色,角与牙用米白色。给同类部位相近的颜色,读者一眼就能认出身体结构。
飞龙 64×64 像素图集,深绿鳞片、金色腹甲、铜橙翼膜、米白角与深色口腔
颜色也在讲结构。

例如 chest 的 UV 为 0 / 0 / 16 / 16。腹甲取 32 / 0 / 48 / 16;米白角取 16 / 16 / 32 / 32。

每个部件的精确取样区在尺寸表最右列。放大时保留像素边缘,不要模糊。
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 绘画模式中的飞龙和像素纹理图集
实机 05看左边的纹理,也看中央的模型
  • 绘画模式把像素图、3D 模型和颜色工具放在一起,方便检查颜色落在哪个面。
  • 检查点已经有纹理;请先另存自己的工程,再尝试改色,避免覆盖参考图。
STEP6

第一口气:振翅飞起来

先把主翼做对,再加翼尖、身体和尾巴的跟随。

  1. 切换到 动画模式(Animate),新建 wyvern.fly,长度 1.2 秒,循环方式 Loop。选择 Wing_L 分组,在 Rotation 轨道添加下面 5 帧,插值选 Linear。
  2. Wing_L 只改 Z;Wing_R 用相反的 Z 值。先播放,确认两边一起上抬、一起下压,不是像跷跷板一样一上一下。
秒Wing_L · Z°Wing_R · Z°Wyvern · Position Y
08-80.6
0.3-32321.6
0.68-80.6
0.930-300
1.28-80.6

再给 Wyvern 的 Position 轨道填表中的 Y,X、Z 保持 0。这是相对原位置的动画位移,不是把身体建模坐标改成 Y=0.6。每次只加一种变化,确认没错再继续。

本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 飞行动画,Wing_L 的 0.3 秒关键帧为 0、0、−32 度,播放头停在同一时刻
实机 060.3 秒,主翼向下压
  • 左上选择 fly · wyvern.fly,右侧选 Wing_L;左下数值为 X=0、Y=0、Z=−32。
  • 这张图的播放头和选中帧都在 0.3 秒。拖动播放头看姿势;单击菱形关键帧是编辑数值,两者不是同一件事。

翼尖也参与动作:Wing_Tip_L 在 0 / 0.3 / 0.6 / 0.9 / 1.2 秒的 Y、Z 分别为 (0,4)、(−6,−10)、(0,4)、(8,13)、(0,4);右翼尖 Y、Z 都取相反数,X 始终 0。最后添头部轻摆、三段尾巴摆动与收腿。完整参数在下面,不必靠截图猜数值。

展开 wyvern.fly 的全部关键帧

Rotation 单位是度,Position 是模型单位,Scale 是倍率;所有帧使用 Linear。Fire 的缩放为 0,用来在飞行时隐藏火焰,等第 7 步建立 Fire 后补上。

分组轨道秒X / Y / Z
Wyvernposition00 / 0.6 / 0
Wyvernposition0.30 / 1.6 / 0
Wyvernposition0.60 / 0.6 / 0
Wyvernposition0.90 / 0 / 0
Wyvernposition1.20 / 0.6 / 0
Headrotation03 / 0 / 0
Headrotation0.6-3 / 0 / 0
Headrotation1.23 / 0 / 0
Tail_Baserotation00 / -7 / 0
Tail_Baserotation0.60 / 7 / 0
Tail_Baserotation1.20 / -7 / 0
Tail_Midrotation00 / 9 / 0
Tail_Midrotation0.60 / -9 / 0
Tail_Midrotation1.20 / 9 / 0
Tail_Tiprotation00 / -12 / 0
Tail_Tiprotation0.60 / 12 / 0
Tail_Tiprotation1.20 / -12 / 0
Jawrotation00 / 0 / 0
Jawrotation1.20 / 0 / 0
Firescale00 / 0 / 0
Firescale1.20 / 0 / 0
Wing_Lrotation00 / 0 / 8
Wing_Lrotation0.30 / 0 / -32
Wing_Lrotation0.60 / 0 / 8
Wing_Lrotation0.90 / 0 / 30
Wing_Lrotation1.20 / 0 / 8
Wing_Tip_Lrotation00 / 0 / 4
Wing_Tip_Lrotation0.30 / -6 / -10
Wing_Tip_Lrotation0.60 / 0 / 4
Wing_Tip_Lrotation0.90 / 8 / 13
Wing_Tip_Lrotation1.20 / 0 / 4
Leg_Lrotation025 / 0 / 0
Leg_Lrotation0.632 / 0 / 0
Leg_Lrotation1.225 / 0 / 0
Foot_Lrotation0-18 / 0 / 0
Foot_Lrotation1.2-18 / 0 / 0
Wing_Rrotation00 / 0 / -8
Wing_Rrotation0.30 / 0 / 32
Wing_Rrotation0.60 / 0 / -8
Wing_Rrotation0.90 / 0 / -30
Wing_Rrotation1.20 / 0 / -8
Wing_Tip_Rrotation00 / 0 / -4
Wing_Tip_Rrotation0.30 / 6 / 10
Wing_Tip_Rrotation0.60 / 0 / -4
Wing_Tip_Rrotation0.90 / -8 / -13
Wing_Tip_Rrotation1.20 / 0 / -4
Leg_Rrotation025 / 0 / 0
Leg_Rrotation0.632 / 0 / 0
Leg_Rrotation1.225 / 0 / 0
Foot_Rrotation0-18 / 0 / 0
Foot_Rrotation1.2-18 / 0 / 0
STEP7

第二口气:张嘴,再喷火

先张嘴,再出火;先收火,再闭嘴。

在 Head 下建立 Fire,里面建立 Embers。两组枢轴都设为 0 / 19.1 / −18.6,靠近嘴口。按尺寸表加入 8 个火焰与火星部件,使用火焰纹理、UV 0 / 0 / 16 / 16。Fire 属于 Head,不属于 Jaw;否则下颌一张,火就往下喷。

展开火焰与火星的 8 个部件
部件 / 分组PositionSizeRotation °Pivot纹理 / UV
flame_jet_0
Fire
-0.325 / 18.775 / -19.50.65 / 0.65 / 0.80 / 0 / 00 / 19.1 / -19.1火焰
0 / 0 / 16 / 16
flame_jet_1
Fire
-0.575 / 18.525 / -20.151.15 / 1.15 / 0.80 / 0 / 00 / 19.1 / -19.75火焰
0 / 0 / 16 / 16
flame_jet_2
Fire
-0.85 / 18.25 / -20.81.7 / 1.7 / 0.80 / 0 / 00 / 19.1 / -20.4火焰
0 / 0 / 16 / 16
flame_jet_3
Fire
-0.475 / 18.625 / -21.450.95 / 0.95 / 0.80 / 0 / 00 / 19.1 / -21.05火焰
0 / 0 / 16 / 16
ember_0
Embers
-1.45 / 19.75 / -21.70.3 / 0.3 / 0.40 / 0 / 0-1.3 / 19.9 / -21.5火焰
0 / 0 / 16 / 16
ember_1
Embers
1.25 / 18.25 / -21.20.3 / 0.3 / 0.40 / 0 / 01.4 / 18.4 / -21火焰
0 / 0 / 16 / 16
ember_2
Embers
0.45 / 20.15 / -22.30.3 / 0.3 / 0.40 / 0 / 00.6 / 20.3 / -22.1火焰
0 / 0 / 16 / 16
ember_3
Embers
-0.95 / 17.95 / -22.10.3 / 0.3 / 0.40 / 0 / 0-0.8 / 18.1 / -21.9火焰
0 / 0 / 16 / 16

在飞行动画里给 Fire 的 Scale 在 0 秒和 1.2 秒各加 0 / 0 / 0,隐藏火焰及其子分组。到这里可以对照 04-flight.bbmodel,它已包含火焰结构,但飞行时看不见。

  1. 新建 wyvern.fire_breath,长度 3.2 秒,Loop。先选 Jaw,Rotation X 在 0 / 0.45 / 0.85 / 2.35 / 2.8 / 3.2 秒分别设为 0 / −27 / −30 / −30 / 0 / 0 度,Y、Z 保持 0。
  2. 选 Fire,按下面表格给 Scale 添加关键帧。Z 比 X、Y 大,是为了把火向嘴前方拉长,而不是吹成一个球。
分组轨道秒X / Y / Z
Firescale00 / 0 / 0
Firescale0.60 / 0 / 0
Firescale0.750.6 / 0.6 / 1.5
Firescale11.7 / 1.7 / 4.8
Firescale1.31.4 / 1.4 / 5.4
Firescale1.61.9 / 1.9 / 4.8
Firescale1.91.5 / 1.5 / 5.6
Firescale2.21.7 / 1.7 / 5
Firescale2.50 / 0 / 0
Firescale3.20 / 0 / 0
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 喷火动画选中 Fire,播放头在 1 秒,左侧 Scale 为 1.7、1.7、4.8
实机 071 秒:火焰从嘴口伸出来
  • 右侧 Fire 的枢轴是 0 / 19.1 / −18.6;左侧 1 秒关键帧缩放为 1.7 / 1.7 / 4.8。
  • 底部 10 颗关键帧安排出火与收火。Embers 在 Fire 里面,会继承它的缩放。
飞龙张开下颌,前方延伸出橙黄色像素火焰
动作结构图 / 接近 1 秒时的张嘴与火焰拉伸示意;完整时序以上方实时动画为准。

这段动作仍要振翅:把飞行主翼与身体的五个时间点改为 0 / 0.8 / 1.6 / 2.4 / 3.2 秒,姿势值不变,得到较慢的悬停。再按完整表补头、腿、尾与火星旋转。两段是切换播放的完整片段,不是叠在一起播放。

展开 wyvern.fire_breath 全部关键帧(含头、下颌与飞行姿态)
分组轨道秒X / Y / Z
Wyvernposition00 / 0.6 / 0
Wyvernposition0.80 / 1.6 / 0
Wyvernposition1.60 / 0.6 / 0
Wyvernposition2.40 / 0 / 0
Wyvernposition3.20 / 0.6 / 0
Headrotation00 / 0 / 0
Headrotation0.5-8 / 0 / 0
Headrotation1.10 / 0 / 0
Headrotation2.30 / 0 / 0
Headrotation2.7-3 / 0 / 0
Headrotation3.20 / 0 / 0
Tail_Baserotation00 / -7 / 0
Tail_Baserotation1.60 / 7 / 0
Tail_Baserotation3.20 / -7 / 0
Tail_Midrotation00 / 9 / 0
Tail_Midrotation1.60 / -9 / 0
Tail_Midrotation3.20 / 9 / 0
Tail_Tiprotation00 / -12 / 0
Tail_Tiprotation1.60 / 12 / 0
Tail_Tiprotation3.20 / -12 / 0
Jawrotation00 / 0 / 0
Jawrotation0.45-27 / 0 / 0
Jawrotation0.85-30 / 0 / 0
Jawrotation2.35-30 / 0 / 0
Jawrotation2.80 / 0 / 0
Jawrotation3.20 / 0 / 0
Firescale00 / 0 / 0
Firescale0.60 / 0 / 0
Firescale0.750.6 / 0.6 / 1.5
Firescale11.7 / 1.7 / 4.8
Firescale1.31.4 / 1.4 / 5.4
Firescale1.61.9 / 1.9 / 4.8
Firescale1.91.5 / 1.5 / 5.6
Firescale2.21.7 / 1.7 / 5
Firescale2.50 / 0 / 0
Firescale3.20 / 0 / 0
Wing_Lrotation00 / 0 / 8
Wing_Lrotation0.80 / 0 / -32
Wing_Lrotation1.60 / 0 / 8
Wing_Lrotation2.40 / 0 / 30
Wing_Lrotation3.20 / 0 / 8
Wing_Tip_Lrotation00 / 0 / 4
Wing_Tip_Lrotation0.80 / -6 / -10
Wing_Tip_Lrotation1.60 / 0 / 4
Wing_Tip_Lrotation2.40 / 8 / 13
Wing_Tip_Lrotation3.20 / 0 / 4
Leg_Lrotation025 / 0 / 0
Leg_Lrotation1.632 / 0 / 0
Leg_Lrotation3.225 / 0 / 0
Foot_Lrotation0-18 / 0 / 0
Foot_Lrotation3.2-18 / 0 / 0
Wing_Rrotation00 / 0 / -8
Wing_Rrotation0.80 / 0 / 32
Wing_Rrotation1.60 / 0 / -8
Wing_Rrotation2.40 / 0 / -30
Wing_Rrotation3.20 / 0 / -8
Wing_Tip_Rrotation00 / 0 / -4
Wing_Tip_Rrotation0.80 / 6 / 10
Wing_Tip_Rrotation1.60 / 0 / -4
Wing_Tip_Rrotation2.40 / -8 / -13
Wing_Tip_Rrotation3.20 / 0 / -4
Leg_Rrotation025 / 0 / 0
Leg_Rrotation1.632 / 0 / 0
Leg_Rrotation3.225 / 0 / 0
Foot_Rrotation0-18 / 0 / 0
Foot_Rrotation3.2-18 / 0 / 0
Embersrotation00 / 0 / 0
Embersrotation1.60 / 0 / 25
Embersrotation3.20 / 0 / 0
STEP8

切换、检查,保存你的飞龙

最后不是多加一个装饰,而是把动作检查完整。

  1. 打开 05-finished-animated.bbmodel 对照:106 个部件、19 个分组、2 张纹理、2 段动画。拖动播放头,分别看 0 秒、张嘴、喷火最盛、收火和循环交界。
  2. 播放 fly → fire_breath → fly。回到飞行时嘴应闭合,Fire 缩放归零,双翼继续循环。换到侧面与正面再看一次,检查嘴、翼根和尾根有没有散架。
  3. 另存为自己的 my-wyvern.bbmodel。重新打开一遍,确认纹理与两段动画都在;再做一个属于自己的变化。
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 成品喷火动画,播放头在 1 秒,选中的下颌关键帧在 0.85 秒,X 旋转为 −30 度
实机 08下颌和火焰,两条轨道合成一个动作
  • 底部同时显示 Jaw 旋转和 Fire 缩放;播放头在 1 秒,选中的 Jaw 帧在 0.85 秒,X=−30°。
  • 此时嘴张开、火焰向前伸出。再切回 fly,确认嘴闭合、火焰隐藏;不要把预览姿态改成建模默认姿势。
GOAL!

YOUR DRAGON, YOUR STORY

现在,轮到你决定它的性格。

你已经让一组方块有了关节、重心与节奏。先保留完成版,再只改一个变量,看看这只龙会变成谁。

  • 轻盈一点:减小身体起伏和主翼角度,比较它像滑翔还是悬停。
  • 犹豫一下:让张嘴后多等 0.2 秒再出火,同时调整收尾,保住完整循环。
  • 换一种气氛:另存蓝绿色纹理做冰龙;视觉变了,游戏伤害类型不会自动改变。

QUICK RESCUE

飞龙哪里不听话?

翅膀一上一下,像跷跷板。

左右主翼的 Z 旋转应符号相反。再看枢轴:Wing_L 是 4 / 17 / 0,Wing_R 是 −4 / 17 / 0。不要仅凭屏幕左右判断组名。

翼尖或尾尖留在原地,没有跟着动。

检查大纲的缩进:Wing_Tip 必须在同侧 Wing 下;Tail_Tip 在 Tail_Mid 下,Tail_Mid 在 Tail_Base 下。分组并排不等于父子关系。

火焰往下喷,或者飞行时一直挂在嘴边。

Fire 应直接放在 Head 内而非 Jaw 内;枢轴为 0 / 19.1 / −18.6。飞行动画的 Fire Scale 要在首尾都设 0 / 0 / 0。喷火片段 2.5 秒以后也应归零。

斜翼骨、腿或龙角的位置不对。

先核对部件 Position 和 Size,再核对部件自己的 Pivot 和 Rotation。不要用分组旋转替代单个部件旋转。可用阶段 03 与自己的工程对照。

模型没有纹理,或者火焰显示成四格长条。

优先打开内嵌贴图的检查点。鳞片图是 64×64;火焰图片是 16×64,但每帧 UV 为 16×16,不要把整个条带铺到一个面上。初学可用静态单帧版本。

网页 3D 加载失败,还能学习吗?

可以。截图、参数与下载工程独立可用。实时模型需要 WebGL 与联网加载 Three.js;也可以在本机 Blockbench 打开完整 .bbmodel 查看。

工具说明与延伸阅读

部件和关键帧参数直接来自本课飞龙工程;截图为本机软件实拍。界面工具与导出概念可对照 Blockbench 官方说明。

官方:界面、分组与动画工具 ↗官方:导出格式 ↗返回课程目录 →