LESSON01

BLOCKBENCH 3D
你的第一个动态方块

万圣节
南瓜灯。

给方块一个表情,
再让它亮起来。

它不是画着笑脸的橙色盒子。眼睛能透光,里面有烛火,盖子还会掀开。我们把这件事拆成 8 小步,一步一步做出来。

  • 零基础
  • 建议 60–90 分钟
  • Blockbench 5.x
实时 3D 作品

正在加载实时模型…

拖动旋转 · 滚轮缩放
先玩一下你的目标作品。切换「开盖」看结构;切回「烛火」恢复合盖。网页光效不等于游戏光源。
本次目标做出有纹理、有镂空笑脸、会闪烁和开盖的南瓜灯。4 个检查点工程 ↓

BEFORE YOU BUILD

不用一次做对,随时可以接着做。

准备一台电脑、鼠标和 Blockbench ↗。本课使用 Generic Model(通用 / 自由模型),不需要先安装 Minecraft,也不需要写代码。第一次做可以分两次完成:先建模,再做动画。

下载本课练习包 · 24 KB ↓
  • 01-shell外壳完成 · 第 2 步后
  • 02-carved-face笑脸完成 · 第 3 步后
  • 03-textured-structure纹理 / 分组 / 枢轴就绪 · 第 6 步后
  • 04-finished-animated全部完成 · 含两段动画

包内是 4 个 .bbmodel 与 PNG 纹理,均可独立打开。下面 8 张“实机操作”图来自本机中文版 Blockbench:打开本课检查点,展示对应阶段的工具面板、模型和动画时间线。检查点已内嵌纹理,因此早期工程也带颜色;结构示意图另行标注。点击软件截图可查看原图,手机上也能放大看参数。

STEP1

打开你的工作台

先让一个方块出现在工作台上。

  1. 打开 Blockbench,新建 Generic Model。项目名填 pumpkin_lantern,纹理尺寸设为 64 × 64,使用逐面 UV(不要启用 Box UV)。界面语言不同,可以对照括号里的英文。
  2. 添加一个立方体(Add Cube)。选中它,找到 Position(位置)、Size(尺寸)、Rotation(旋转)三个字段。后面的表格都按 X / Y / Z 顺序填写。
  3. 用鼠标拖动视角、滚轮缩放。将工程保存为 my-pumpkin.bbmodel;之后每完成一小步,就保存一次。
X → 左右Y ↑ 高低Z ↔ 前后
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 的项目对话框:通用模型、pumpkin_lantern 文件名、逐面 UV、64×64 UV 尺寸
实机 01从新建项目开始,先设好画布
  • 格式选“通用模型”;截图里的文件名是 pumpkin_lantern。
  • 默认 UV 模式用“逐面 UV”,宽、高均为 64,确认后再添加立方体。
STEP2

先搭空心外壳

不是先造实心盒子,而是像搭积木一样围出空间。

把刚才的立方体改名为 left_wall,再添加 3 个立方体。分别填入下表,放进名为 Shell 的分组。我们先做左右两面墙、背板和底板;前面留给表情,顶部留给盖子。

本机 Blockbench · 中文界面查看原图 ↗
Blockbench 编辑模式中选中 left_wall,右侧位置为 0、0、1.5,尺寸为 1.5、14、14.5,大纲中有四个外壳部件
实机 02选中一面墙,对照右侧填尺寸
  • 右下“大纲”里选 left_wall;蓝色轮廓告诉你正在编辑哪一块。
  • 右上“位置”和“尺寸”与下表对应。中间只围出墙和底板,前面、顶部仍是空的。
三面南瓜墙与底板围成的空心结构,前面和顶部敞开
图 01 / 先围出空心结构。主体宽、深各 16,墙高 14;上面的 2 格留给盖子。
部件名称Position · X / Y / ZSize · X / Y / Z
left_wall0 / 0 / 1.51.5 / 14 / 14.5
right_wall14.5 / 0 / 1.51.5 / 14 / 14.5
back_wall1.5 / 0 / 14.513 / 14 / 1.5
base1.5 / 0 / 1.513 / 1.5 / 13
STEP3

拼出一张镂空笑脸

留下橙色的部分,眼睛和嘴巴自然就空出来了。

这一步不需要“布尔挖洞”。把前脸想成 16 列 × 14 行的方格纸:橙色是保留的方块,深绿色是空洞。每一行里连续的橙色格,合成一条长方体。

本机 Blockbench · 中文界面查看原图 ↗
Blockbench 中的镂空南瓜前脸,选中 carved_face_y3_x0 条块,位置 0、3、0,尺寸 4、1、1.5
实机 03用长条拼出笑脸,洞口真的留空
  • 右侧选中 carved_face_y3_x0:从 X=0、Y=3 开始,宽 4、高 1、厚 1.5。
  • 中央的眼睛与嘴巴是真正的空隙;下面的方格图用来规划每一条的位置。
笑脸坐标图,X 从 0 到 15,Y 从 0 到 13;橙色保留、深绿留空
图 02 / 从下向上数 Y,先找出这一行的实心区间。
外壳加上带空洞的前脸,眼睛和锯齿嘴并非画在表面
图 03 / 真正的洞口,斜着看也有厚度。
一起做一行:Y = 12

这一行在 X = 4 和 X = 11 留空,所以添加 3 条:
Position 0 / 12 / 0 → Size 4 / 1 / 1.5
Position 5 / 12 / 0 → Size 6 / 1 / 1.5
Position 12 / 12 / 0 → Size 4 / 1 / 1.5

每条的高度都是 1,厚度都是 1.5。完成后全部放进 Shell。这张笑脸一共使用 30 条长方体;不用数格猜尺寸,完整表格在下面。

展开完整前脸尺寸表 · 30 条
部件名称Position · X / Y / ZSize · X / Y / Z
carved_face_y0_x00 / 0 / 016 / 1 / 1.5
carved_face_y1_x00 / 1 / 016 / 1 / 1.5
carved_face_y2_x00 / 2 / 016 / 1 / 1.5
carved_face_y3_x00 / 3 / 04 / 1 / 1.5
carved_face_y3_x1212 / 3 / 04 / 1 / 1.5
carved_face_y4_x00 / 4 / 03 / 1 / 1.5
carved_face_y4_x77 / 4 / 02 / 1 / 1.5
carved_face_y4_x1313 / 4 / 03 / 1 / 1.5
carved_face_y5_x00 / 5 / 02 / 1 / 1.5
carved_face_y5_x55 / 5 / 01 / 1 / 1.5
carved_face_y5_x1010 / 5 / 01 / 1 / 1.5
carved_face_y5_x1414 / 5 / 02 / 1 / 1.5
carved_face_y6_x00 / 6 / 02 / 1 / 1.5
carved_face_y6_x44 / 6 / 08 / 1 / 1.5
carved_face_y6_x1414 / 6 / 02 / 1 / 1.5
carved_face_y7_x00 / 7 / 06 / 1 / 1.5
carved_face_y7_x1010 / 7 / 06 / 1 / 1.5
carved_face_y8_x00 / 8 / 07 / 1 / 1.5
carved_face_y8_x99 / 8 / 07 / 1 / 1.5
carved_face_y9_x00 / 9 / 016 / 1 / 1.5
carved_face_y10_x00 / 10 / 02 / 1 / 1.5
carved_face_y10_x55 / 10 / 06 / 1 / 1.5
carved_face_y10_x1414 / 10 / 02 / 1 / 1.5
carved_face_y11_x00 / 11 / 03 / 1 / 1.5
carved_face_y11_x55 / 11 / 06 / 1 / 1.5
carved_face_y11_x1313 / 11 / 03 / 1 / 1.5
carved_face_y12_x00 / 12 / 04 / 1 / 1.5
carved_face_y12_x55 / 12 / 06 / 1 / 1.5
carved_face_y12_x1212 / 12 / 04 / 1 / 1.5
carved_face_y13_x00 / 13 / 016 / 1 / 1.5
STEP4

加上盖子与烛火

把一只空盒子,变成一盏有内部结构的灯。

添加一个 square_lid,位置 0 / 14 / 0,尺寸 16 / 2 / 16,放进 Lid 分组。瓜梗和小叶片放进 Stem;烛台、蜡烛和灯芯放进 Candle;3 小块火焰放进 Flame。

本机 Blockbench · 中文界面查看原图 ↗
Blockbench 暂时隐藏 Shell 和 Face_Glow,露出盖子和内部烛火,选中 wax_body 显示蜡身的位置与尺寸
实机 04藏起外壳,看看灯里面有什么
  • 演示时点击大纲右侧的眼睛,暂时隐藏 Shell 和 Face_Glow;上方浮着的是仍然可见的盖子,不是零件错位。
  • 选中 wax_body 可检查蜡身参数;右侧还能看到烛台、蜡滴、灯芯和 Flame 分组。看完后恢复可见。
蜡烛的托盘、蜡身、蜡滴、灯芯,以及三层方块火焰
图 04 / 烛台 → 蜡身 → 灯芯 → 三小块火焰。
成品的盖子打开,显示南瓜的空心内部
图 05 / 打开后的结构;开盖动作会在第 8 步制作。

暂时隐藏盖子,方便操作内部。最后加入 Face_Glow 分组和 warm_light_behind_cutouts 薄片,放在洞口后方。它让笑脸有暖色底,但不是游戏里的灯光代码。

展开盖子、瓜梗、烛火与暖光板的完整尺寸
部件名称Position · X / Y / ZSize · X / Y / Z
square_lid0 / 14 / 016 / 2 / 16
stem_base6.5 / 16 / 6.53 / 1 / 3
stem_tip7 / 17 / 72 / 1.5 / 2
leaf_base9 / 16.05 / 72 / 0.4 / 2
leaf_tip11 / 16.05 / 7.51.5 / 0.3 / 1
candle_tray5 / 1.5 / 56 / 0.5 / 6
wax_body6.25 / 2 / 6.253.5 / 5.5 / 3.5
wax_drip5.95 / 5.2 / 7.50.5 / 2.2 / 1
wick7.7 / 7.5 / 7.70.6 / 0.6 / 0.6
flame_base7.1 / 8 / 7.11.8 / 1.5 / 1.8
flame_middle7.4 / 9.5 / 7.41.2 / 1.4 / 1.2
flame_tip7.6 / 10.9 / 7.60.6 / 0.8 / 0.6
warm_light_behind_cutouts1.5 / 2 / 2.613 / 11 / 0.15
STEP5

用像素给它上色

模型决定形状,纹理负责让它像一颗南瓜。

  1. 在纹理(Textures)面板导入练习包里的 halloween-pumpkin-skin.png,尺寸是 64 × 64。切到 Paint,选 1 像素画笔,在橙色区域画深浅竖纹;先改一小片,观察模型上的变化。
  2. 切回 Edit,选中一个立方体,再在 UV 面板选中要贴图的面。为它指定表皮纹理,然后把 UV 框移动到对应色块。UV 就是“这张面到图片的哪里取颜色”。
  3. 火焰和暖光板使用第二张暖光纹理。手工制作时可先用包里的 halloween-pumpkin-glow-static.png,把 UV 铺满 16 × 16;无需先做贴图动画,也能继续做第 7 步的形变动画。
64×64 像素表皮:上排橙色竖纹,中排顶盖,下排深橙切边、绿梗、蜡身、深色灯芯
一张小图,分工明确。
  1. Y 0–15:南瓜外壁的竖向纹理
  2. Y 16–31:顶盖的方形纹路
  3. Y 32–47:切边 / 瓜梗 / 蜡身 / 灯芯
放大后保留像素边缘,不要用模糊笔刷。
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 绘画模式,左侧 64×64 纹理画布与纹理列表,中央像素网格模型,右侧颜色选择器
实机 05左边看像素,中央看贴到模型上的效果
  • 右上切换“绘画模式”,左上显示 64×64 纹理画布,下面是两张纹理的列表。
  • 顶栏可设置画笔大小,右侧选颜色。先另存自己的工程,再试画一小笔,对照中央模型检查位置。
展开 UV 对照:每个色块怎么对应到模型?

下表的坐标是纹理像素,不是模型位置。逐面 UV 使用左上角 (U, V) 与宽高。

用途左上角 U / V宽 / 高
左右墙 / 背墙16 / 0 或 32 / 016 / 16
顶盖所有面0 / 1616 / 16
底板 / 前脸切边0 / 3216 / 16
瓜梗与叶片16 / 3216 / 16
蜡身与蜡滴32 / 3216 / 16
烛台与灯芯48 / 3216 / 16

前脸朝向 North 的面要连续取样:起点为 U = Position X、V = 15 − Position Y,宽等于长条的 X 尺寸,高为 1。例如 Y = 12 的第一条,用 U = 0、V = 3、宽 4、高 1。其侧边、顶面和底面取深橙切边色块;背面可取橙色。

STEP6

让盖子找到转轴

要像箱盖一样掀开,就先找到它的“合页”。

在大纲(Outliner)里按下面的层级整理分组。把子分组拖进父分组:Stem 必须在 Lid 里面,这样盖子动,瓜梗才会跟着动。火焰可以跟着蜡烛移动,但动画只操作 Flame。

侧面枢轴示意:旋转轴在盖子后缘,顶盖从水平闭合转到 105 度;枢轴坐标为 8、14、15
枢轴示意 / 橙色圆点不移动,盖子的前缘绕着它走弧线。X 轴垂直于这张侧视图。
Pumpkin
├─ Shell       外壳与笑脸
├─ Lid         顶盖
│  └─ Stem     瓜梗与叶片
├─ Candle      蜡烛与烛台
│  └─ Flame    火焰
└─ Face_Glow   暖光板
  1. 选中 Lid 分组(不是里面的立方体),在 Pivot Point 中输入 8 / 14 / 15。使用枢轴工具也可以移动这个点。
  2. Flame 枢轴设为 8 / 8 / 8,缩放时火焰会围绕底部附近变化。其他组的参考枢轴:Pumpkin 和 Shell、Face_Glow 用 8 / 8 / 8;Stem 用 8 / 16 / 8;Candle 用 8 / 1 / 8。
  3. 在 Edit 临时把 Lid 的 X 旋转改成 30°,检查它是否沿后缘掀开,瓜梗是否一起移动。看完后,把旋转恢复为 0 / 0 / 0,再开始动画。
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 编辑模式选中 Lid 分组及其子部件,右上枢轴点显示 8、14、15,Stem 嵌套在 Lid 内
实机 06选的是 Lid 分组,不是单个方块
  • 右侧 Lid 高亮,Stem 缩进在它里面;盖子和瓜梗会作为整体运动。
  • 右上看“枢轴点”这一行:8 / 14 / 15。截图仍隐藏外壳和暖光板,以便看清内部关系。
STEP7

让火焰轻轻呼吸

不用让每块火焰单独动,改变整个 Flame 分组就够了。

  1. 进入 Animate,新建动画 pumpkin.flame_flicker,长度 2 秒,循环方式选 Loop(循环)。
  2. 选中 Flame 分组,把时间线移到 0 秒,在 Scale(缩放)轨道添加关键帧。按下表移动时间、添加帧并输入 X / Y / Z 缩放值。插值选择 Linear(线性)。
时间 / 秒Scale XScale YScale Z
0111
0.250.881.180.94
0.51.080.81.05
0.850.931.11
1.251.120.881.04
1.650.941.140.94
2111

再给 Flame 的 Rotation 轨道加 3 帧:0 秒 → 0 / 0 / −6°,1 秒 → 0 / 0 / 6°,2 秒 → 0 / 0 / −6°。它会轻轻左右摆动。最后,给 Lid 的 Rotation 在 0 秒和 2 秒各设一帧 0 / 0 / 0,让切回烛火动画时盖子回到合上的位置。

0 s
起点
中间帧
高矮 / 摆动
2 s
回到起点
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 动画模式选中 flame_flicker 与 Flame 分组,底部有七个缩放关键帧,左侧选中 0.25 秒的 0.88、1.18、0.94 数值
实机 07七颗缩放关键帧,让火焰有了呼吸
  • 左上选 flame_flicker,右侧选 Flame;底部“缩放”一行有 7 颗菱形关键帧。
  • 蓝色菱形是正在编辑的 0.25 秒关键帧,左侧数值为 0.88 / 1.18 / 0.94;蓝色播放头仍在 0 秒。
  • 为了看见烛火,演示时暂时隐藏 Shell、Lid 与 Face_Glow。拖动播放头预览,选中关键帧则编辑该帧数值。
STEP8

掀开盖子,完成作品

最后一次小惊喜:让盖子自己打开。

  1. 新建第二段动画 pumpkin.open_lid,长度 1.2 秒,循环方式设为 Hold(保持最后一帧)。
  2. 选中 Lid 分组,在 Rotation 轨道添加下面 3 帧。只有 X 值变化,Y、Z 始终为 0。插值使用 Linear。
  3. 为了从烛火动画平稳切换,在这段动画中给 Flame 的 Scale 在 0 秒和 1.2 秒各加一帧 1 / 1 / 1。保存工程,再分别播放两段动画。
时间 / 秒Lid Rotation X / Y / Z你会看到
00° / 0° / 0°完全合上
0.2512° / 0° / 0°先开一条缝
1.2105° / 0° / 0°掀开并停留
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 的 open_lid 动画,播放头位于 1.2 秒,Lid 的 X 旋转关键帧为 105 度,模型盖子已打开
实机 08拖到 1.2 秒,亲眼检查开盖结果
  • 先恢复所有分组可见,再选 open_lid 和 Lid;底部“旋转”轨道有 3 个关键帧。
  • 把蓝色播放头拖到 1.2 秒,左侧末帧 X=105、Y=0、Z=0。中央盖子沿后缘打开,瓜梗一起转动。
盖子绕后缘枢轴开启至 105 度,瓜梗和叶片一起转动
图 06 / 盖子、瓜梗是一家人:父分组动,子分组一起动。
GOAL!

YOU MADE IT

一盏灯,已经有了你的想法。

你做的不只是南瓜灯,而是走完了一次完整的 3D 创作:形状 → 纹理 → 分组 → 动画。先保存这个版本,再选一个小变化,把它变成你的作品。

  • 换表情:把锯齿笑脸改成惊讶的圆嘴,保留真实空洞。
  • 换气氛:试试紫色外皮与青色烛火,看看情绪怎么变。
  • 换节奏:把开盖时间延长到 2 秒,做一盏慢慢苏醒的灯。

QUICK RESCUE

出了一点小问题?

盖子转起来像风车,不像掀盖子。

先停止动画,检查 Lid 分组的 Pivot Point 是否为 8 / 14 / 15,再检查关键帧是否在 X 旋转轨道。确认选中的是分组,而不是 square_lid 立方体。

瓜梗没跟着盖子移动。

Stem 应嵌套在 Lid 内,而不是与 Lid 并排。拖入后检查瓜梗、叶片都在 Stem 内。

模型变白、贴图错位或找不到纹理。

打开练习包内的检查点工程对照;它已经内嵌纹理。自己制作时,检查对应面是否分配了纹理、UV 是否落在正确色块,以及是否误开了 Box UV。表皮是 64 × 64,静态暖光是 16 × 16,不要混用。

为什么下载后不能直接放进 Minecraft?

.bbmodel 是可编辑工程,不是 MOD 安装包。Java 方块模型 JSON 不会自动播放这里的骨骼动画;进入游戏还需要为目标版本注册方块并接入合适的渲染与动画方案。下一阶段可到 MOD 开发栏目继续学习。

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

可以。全部步骤、结构图、尺寸表和练习工程不依赖 3D 预览。实时查看器需要 WebGL 与联网加载 Three.js;也可以下载 .bbmodel,在 Blockbench 本地打开查看。

工具说明与延伸阅读

本课参数来自配套南瓜灯工程;软件工具名称可对照 Blockbench 官方文档。不同界面语言或版本的按钮位置可能略有差异。

界面、分组与枢轴 ↗工程与导出格式 ↗返回课程目录 →