LESSON04

BLOCKBENCH 3D
把重复变成视觉节奏

一抹沙色,
一件立体作品。

M110 风格,
从轮廓到展示动画。

大块沙色先站稳,小块深灰再排齐。沿着一条长轮廓,练习阶梯、重复和冷暖对比;最后让整件作品轻轻转动,看看每一笔像素是不是放对了地方。

  • 入门进阶
  • 建议 90–120 分钟
  • 59 个方块
  • 2 段展示动画
实时 3D 作品

正在加载带纹理模型…

拖动旋转 · 滚轮缩放
先看成品,再把制作过程拆开。切换「道具轻摆 / 左右展示」。这是外观艺术模型,不含内部机构、射击或装填动作。
本次目标59 个方块、7 个分组、一张像素图集。用大色块、重复节奏和冷色点缀读懂造型。练习包与准备 ↓

BEFORE YOU BUILD

今天练的是造型,不是机械。

本课是 Minecraft 风格游戏美术练习。M110 原型为半自动型号,名称可参考美国陆军官方装备介绍。这里用夸张比例概括它的外观,全部参数都是虚拟建模单位,不是现实尺寸或制造图纸。

准备 Blockbench 5.x,使用 Generic Model(通用模型),不需要运行 Minecraft。第一次使用可以先做南瓜灯入门课。

下载 5 个阶段工程 · 33 KB ↓
  • 01-sand-silhouette.bbmodel11 部件 · 3 分组 · 0 动画
  • 02-forearm-pattern.bbmodel35 部件 · 4 分组 · 0 动画
  • 03-scope-details.bbmodel59 部件 · 7 分组 · 0 动画
  • 04-idle-animation.bbmodel59 部件 · 7 分组 · 1 动画
  • 05-finished-animated.bbmodel59 部件 · 7 分组 · 2 动画

阶段工程预先内嵌了纹理,便于观察。软件截图是在本机中文版 Blockbench 打开相应阶段拍摄的,不是从空白工程连续录屏;结构示意图另行标注。请先另存自己的练习。

STEP1

新建工程,先看大轮廓

先有一张清楚的地图,再开始搭方块。

  1. 新建 Generic Model / 通用模型,命名 my_m110_prop,纹理设为 64 × 64,使用逐面 UV。
  2. 先保存 my-m110-prop.bbmodel。建立最外层分组 Display,Pivot 设为 0 / 8 / 0。
  3. 在 Display 下建立 Stock 与 Body,分别装后部和中央轮廓。想先看效果,可以打开阶段 01,再另存自己的副本。
X ↔ 长度Y ↑ 高度Z ↔ 厚度 · 前端朝 +X
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 打开的 M110 沙色轮廓阶段
实机 01先看大轮廓,不急着加细节
  • 参考工程里有 11 个方块、3 个分组。
  • 左侧是纹理,右侧是大纲;中央预览可以拖动观察。
STEP2

搭出沙色主体与阶梯外形

大块决定识别度,小块只负责补一句。

  1. 选 Stock,添加 stock_main:Position −26 / 6 / −1.7,Size 10 / 5 / 3.4。Position 是方块起点,不是中心。
  2. 用 stock_lower 做下方阶梯,再添加 stock_slope。斜块的 Z 旋转为 20°,Pivot 为 −16.6 / 6.25 / 0。
  3. 在 Body 中加入中央外壳、倾斜握把轮廓与下方盒形剪影。按表完成共 11 个部件,对照 01-sand-silhouette.bbmodel。
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 选中 M110 stock_main 的位置与尺寸
实机 02选中一块,读懂四组数值
  • 右侧参数只对应当前选中的方块。
  • 斜块要同时核对 Rotation 和 Pivot,不要只输入尺寸。
11 个方块构成的 M110 沙色主体轮廓
结构图 01 / 先搭主体,让深浅沙色分出前后层次。
11 个主体部件的虚拟建模参数
方块 / 分组PositionSizeRotation °PivotUV
stock_main
Stock
-26 / 6 / -1.710 / 5 / 3.40 / 0 / 0-21 / 8.5 / 00 / 0 / 16 / 16
stock_lower
Stock
-25 / 3.5 / -1.56.5 / 2.5 / 30 / 0 / 0-21.75 / 4.75 / 032 / 0 / 48 / 16
stock_slope
Stock
-19.5 / 5.1 / -1.55.8 / 2.3 / 30 / 0 / 20-16.6 / 6.25 / 00 / 0 / 16 / 16
stock_top
Stock
-25.4 / 11 / -1.559.3 / 0.65 / 3.10 / 0 / 0-20.75 / 11.325 / 016 / 0 / 32 / 16
rubber_pad
Stock
-26.6 / 3.2 / -1.850.7 / 8.5 / 3.70 / 0 / 0-26.25 / 7.45 / 032 / 16 / 48 / 32
body_upper
Body
-15 / 8.3 / -1.813 / 3.5 / 3.60 / 0 / 0-8.5 / 10.05 / 00 / 0 / 16 / 16
body_lower
Body
-13 / 5.8 / -1.6510.3 / 2.5 / 3.30 / 0 / 0-7.85 / 7.05 / 016 / 0 / 32 / 16
stock_bridge
Body
-16.5 / 9 / -1.352.5 / 2.4 / 2.70 / 0 / 0-15.25 / 10.2 / 00 / 16 / 16 / 32
grip_shell
Body
-12 / 1.7 / -1.12.5 / 4.8 / 2.20 / 0 / -18-10.75 / 4.1 / 032 / 0 / 48 / 16
box_silhouette
Body
-6.2 / 1.8 / -1.44.5 / 4.8 / 2.80 / 0 / 0-3.95 / 4.2 / 032 / 0 / 48 / 16
box_base
Body
-6.4 / 1.4 / -1.554.9 / 0.7 / 3.10 / 0 / 0-3.95 / 1.75 / 00 / 16 / 16 / 32
STEP3

让重复方块排出节奏

同一个小方块,排整齐就有了节奏。

  1. Display 下建立 Handguard。添加 forearm_shell:Position −2 / 8.2 / −1.75,Size 15 / 3.7 / 3.5,再加顶部与细长前端外形。
  2. 侧面深色小块是贴在外表面的装饰像素。先做 vent_near_1,复制为 6 个,每个 X 增加 2.15;另一侧按表使用不同的 Z。
  3. 顶部小棱块做 8 个,沿 X 每次增加 1.8。先统一间距,再看第一块与最后一块有没有越界。完成后共 35 个部件。
复制的是形状,变化的是位置。

vent_near_1 → Position −0.8 / 9.4 / 1.76;Size 1.3 / 0.8 / 0.16。第二块只改 X 为 1.35。小色块贴在外表面,不是真正挖出的孔洞。

本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 中加入前部外形和重复装饰的 M110
实机 03让小块沿着一条线排列
  • 阶段 02 有 35 个部件,仍不包含上方瞄镜轮廓。
  • 检查深色小块没有埋进主体或悬在外面。
带重复棱块与侧面装饰的 M110 前部结构
结构图 02 / 通过复制与间距,把重复变成秩序。
24 个前部与重复装饰部件参数
方块 / 分组PositionSizeRotation °PivotUV
forearm_shell
Handguard
-2 / 8.2 / -1.7515 / 3.7 / 3.50 / 0 / 05.5 / 10.05 / 00 / 0 / 16 / 16
forearm_top
Handguard
-1.6 / 11.9 / -1.514.3 / 0.65 / 30 / 0 / 05.55 / 12.225 / 016 / 0 / 32 / 16
front_slim_shell
Handguard
13 / 9.3 / -0.6511 / 1.3 / 1.30 / 0 / 018.5 / 9.95 / 00 / 16 / 16 / 32
front_tip
Handguard
24 / 9.1 / -0.852.3 / 1.7 / 1.70 / 0 / 025.15 / 9.95 / 032 / 16 / 48 / 32
vent_near_1
Handguard
-0.8 / 9.4 / 1.761.3 / 0.8 / 0.160 / 0 / 0-0.15 / 9.8 / 1.8432 / 16 / 48 / 32
vent_near_2
Handguard
1.35 / 9.4 / 1.761.3 / 0.8 / 0.160 / 0 / 02 / 9.8 / 1.8432 / 16 / 48 / 32
vent_near_3
Handguard
3.5 / 9.4 / 1.761.3 / 0.8 / 0.160 / 0 / 04.15 / 9.8 / 1.8432 / 16 / 48 / 32
vent_near_4
Handguard
5.65 / 9.4 / 1.761.3 / 0.8 / 0.160 / 0 / 06.3 / 9.8 / 1.8432 / 16 / 48 / 32
vent_near_5
Handguard
7.8 / 9.4 / 1.761.3 / 0.8 / 0.160 / 0 / 08.45 / 9.8 / 1.8432 / 16 / 48 / 32
vent_near_6
Handguard
9.95 / 9.4 / 1.761.3 / 0.8 / 0.160 / 0 / 010.6 / 9.8 / 1.8432 / 16 / 48 / 32
vent_far_1
Handguard
-0.8 / 9.4 / -1.921.3 / 0.8 / 0.160 / 0 / 0-0.15 / 9.8 / -1.8432 / 16 / 48 / 32
vent_far_2
Handguard
1.35 / 9.4 / -1.921.3 / 0.8 / 0.160 / 0 / 02 / 9.8 / -1.8432 / 16 / 48 / 32
vent_far_3
Handguard
3.5 / 9.4 / -1.921.3 / 0.8 / 0.160 / 0 / 04.15 / 9.8 / -1.8432 / 16 / 48 / 32
vent_far_4
Handguard
5.65 / 9.4 / -1.921.3 / 0.8 / 0.160 / 0 / 06.3 / 9.8 / -1.8432 / 16 / 48 / 32
vent_far_5
Handguard
7.8 / 9.4 / -1.921.3 / 0.8 / 0.160 / 0 / 08.45 / 9.8 / -1.8432 / 16 / 48 / 32
vent_far_6
Handguard
9.95 / 9.4 / -1.921.3 / 0.8 / 0.160 / 0 / 010.6 / 9.8 / -1.8432 / 16 / 48 / 32
top_ridge_1
Handguard
-1.2 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 0-0.75 / 12.7 / 00 / 16 / 16 / 32
top_ridge_2
Handguard
0.6 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 01.05 / 12.7 / 00 / 16 / 16 / 32
top_ridge_3
Handguard
2.4 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 02.85 / 12.7 / 00 / 16 / 16 / 32
top_ridge_4
Handguard
4.2 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 04.65 / 12.7 / 00 / 16 / 16 / 32
top_ridge_5
Handguard
6 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 06.45 / 12.7 / 00 / 16 / 16 / 32
top_ridge_6
Handguard
7.8 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 08.25 / 12.7 / 00 / 16 / 16 / 32
top_ridge_7
Handguard
9.6 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 010.05 / 12.7 / 00 / 16 / 16 / 32
top_ridge_8
Handguard
11.4 / 12.5 / -1.150.9 / 0.4 / 2.30 / 0 / 011.85 / 12.7 / 00 / 16 / 16 / 32
STEP4

加入瞄镜轮廓,整理分组

用高低与疏密,让剪影多一层。

新建 Scope,用长方体和阶梯块概括瞄镜轮廓;两块立柱把它与主体连起来。glass_front 是蓝绿色的不透明像素面,只表现外观。再加入 Details 与 Bipod 中的装饰,完成 59 个部件、7 个分组。

Display(整件作品的展示动画)
├─ Stock      后部轮廓
├─ Body       中央外形
├─ Handguard  前部与重复像素
├─ Scope      瞄镜剪影与色片
├─ Details    小型装饰
└─ Bipod      下方支架造型
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 中的 M110 完整模型及分组
实机 04每类部件都放进自己的分组
  • 六个子分组全部属于 Display。
  • 只在 Display 上做展示动画,整件作品就会一起动。
瞄镜剪影、装饰与支架的 24 个部件参数
方块 / 分组PositionSizeRotation °PivotUV
scope_tube
Scope
-13 / 15 / -0.813.5 / 1.6 / 1.60 / 0 / 0-6.25 / 15.8 / 00 / 16 / 16 / 32
scope_rear
Scope
-14.5 / 14.55 / -1.253 / 2.5 / 2.50 / 0 / 0-13 / 15.8 / 032 / 16 / 48 / 32
scope_front
Scope
0.1 / 14.15 / -1.654 / 3.3 / 3.30 / 0 / 02.1 / 15.8 / 00 / 16 / 16 / 32
scope_front_rim
Scope
4 / 14 / -1.80.8 / 3.6 / 3.60 / 0 / 04.4 / 15.8 / 032 / 16 / 48 / 32
glass_front
Scope
4.81 / 14.4 / -1.40.08 / 2.8 / 2.80 / 0 / 04.85 / 15.8 / 016 / 32 / 32 / 48
glass_rear
Scope
-14.6 / 14.85 / -0.950.08 / 1.9 / 1.90 / 0 / 0-14.56 / 15.8 / 00 / 32 / 16 / 48
scope_dial_top
Scope
-6 / 16.5 / -0.91.9 / 1.3 / 1.80 / 0 / 0-5.05 / 17.15 / 016 / 16 / 32 / 32
scope_dial_side
Scope
-6 / 15 / 0.81.9 / 1.4 / 0.80 / 0 / 0-5.05 / 15.7 / 1.216 / 16 / 32 / 32
scope_ring
Scope
-11 / 14.7 / -1.051 / 2.2 / 2.10 / 0 / 0-10.5 / 15.8 / 016 / 16 / 32 / 32
scope_stand_1
Scope
-10.5 / 11.8 / -11.2 / 3.2 / 20 / 0 / 0-9.9 / 13.4 / 00 / 16 / 16 / 32
scope_stand_2
Scope
-2.5 / 11.8 / -11.2 / 3.2 / 20 / 0 / 0-1.9 / 13.4 / 00 / 16 / 16 / 32
lower_trim_front
Details
-8.1 / 4.4 / -0.60.55 / 1.5 / 1.20 / 0 / 0-7.825 / 5.15 / 00 / 16 / 16 / 32
lower_trim_base
Details
-11.4 / 4.2 / -0.63.8 / 0.5 / 1.20 / 0 / 0-9.5 / 4.45 / 00 / 16 / 16 / 32
side_plate
Details
-10.8 / 8.8 / 1.815 / 1.6 / 0.160 / 0 / 0-8.3 / 9.6 / 1.8932 / 0 / 48 / 16
side_highlight
Details
-10.5 / 10.7 / 1.824.8 / 0.2 / 0.120 / 0 / 0-8.1 / 10.8 / 1.8848 / 0 / 64 / 16
side_square
Details
-4.9 / 7.1 / 1.681.1 / 0.9 / 0.250 / 0 / 0-4.35 / 7.55 / 1.80516 / 16 / 32 / 32
back_rail
Details
-14.8 / 11.8 / -1.13.6 / 0.5 / 2.20 / 0 / 0-13 / 12.05 / 00 / 16 / 16 / 32
front_pixel
Details
11.8 / 12.7 / -0.350.7 / 1.4 / 0.70 / 0 / 012.15 / 13.4 / 00 / 16 / 16 / 32
stock_accent
Details
-24 / 6.5 / 1.714 / 1.1 / 0.120 / 0 / 0-22 / 7.05 / 1.7716 / 0 / 32 / 16
support_bridge
Bipod
9 / 7.4 / -22.5 / 1 / 40 / 0 / 010.25 / 7.9 / 00 / 16 / 16 / 32
support_near
Bipod
9.4 / 3.4 / 1.50.8 / 4.8 / 0.8-22 / 0 / 09.8 / 5.8 / 1.916 / 16 / 32 / 32
support_far
Bipod
9.4 / 3.4 / -2.30.8 / 4.8 / 0.822 / 0 / 09.8 / 5.8 / -1.916 / 16 / 32 / 32
foot_near
Bipod
8.9 / 3 / 2.21.8 / 0.8 / 1.30 / 0 / 09.8 / 3.4 / 2.8532 / 16 / 48 / 32
foot_far
Bipod
8.9 / 3 / -3.51.8 / 0.8 / 1.30 / 0 / 09.8 / 3.4 / -2.8532 / 16 / 48 / 32
STEP5

沙色、深灰,再点一笔冷色

颜色不用多,主次一定要清楚。

  1. 导入 textures/m110-palette.png。64×64 图集包含 16 个 16×16 色块,先分清沙色、深灰和蓝绿色三行。
  2. 沙色占大面积,用细小明暗差表现哑光涂层;深灰描出棱块与瞄镜剪影。镜片只用一小块蓝绿色,画一条斜向亮纹。
  3. 切换绘画模式,用 1 像素画笔试改一个色块。每改几笔就转动模型,避免亮纹抢走整个轮廓的注意力。
M110 沙色涂层、深灰与蓝绿色镜片的像素图集
大面积暖色,小面积冷色。

第一行:沙色涂层。第二行:深灰与橡胶。第三行:镜片冷色反光。第四行:备用点缀。

镜片反光已经画在像素里,不会真实折射环境。
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 绘画模式中的 M110 与像素图集
实机 05二维颜色与三维效果一起看
  • 左侧能看到沙色、深灰与镜片色块。
  • 修改共享色块会影响所有引用它的面;先另存副本。
STEP6

给镜片和外壳安排 UV

同一个形状,贴对颜色才像它自己。

回到编辑模式,选中方块,再在 UV 面板中选择面。本课每个方块六面取同一色块。UV 是 U1 / V1 / U2 / V2 四个边界值,不是位置加宽高。先用下面三个部件检查对应关系。

沙色、深灰、镜片,各试一个。

stock_main → 0 / 0 / 16 / 16;
scope_tube → 0 / 16 / 16 / 32;
glass_front → 16 / 32 / 32 / 48。

本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 编辑模式中的 M110 UV 检查
实机 06选中一个面,找到它的色块
  • 选中 stock_main,左侧高亮第一行第一个色块。
  • 其余部件的 UV 在参数表最后一列核对。
M110 沙色游戏道具的侧面检查图
检查图 / 侧面看轮廓,斜侧看材质有没有贴错。
STEP7

让完整道具轻轻浮动

动作不用大,闭环要接得上。

  1. 进入动画模式,新建 m110.idle,长度 3 秒,循环设为 Loop。
  2. 选中最外层 Display。在 Position 与 Rotation 轨道上,按下表添加关键帧,插值选 Linear。
  3. 位置 Y 只上下移动 0.25 个建模单位;旋转只改变 Z,最大 1°。第一帧和最后一帧相同,避免循环时跳一下。
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 的 m110.idle 动画与时间线
实机 07时间线动的是父分组,不是单个方块
  • 左侧选 m110.idle,再选 Display 查看位置与旋转轨道。
  • 这一段只有轻摆,没有操作细节;动作幅度小,方便观察材质。
3 秒轻摆动画 · 全部 10 个关键帧
分组轨道时间 / 秒X / Y / Z
Displayposition00 / 0 / 0
Displayposition0.750 / 0.25 / 0
Displayposition1.50 / 0 / 0
Displayposition2.250 / -0.25 / 0
Displayposition30 / 0 / 0
Displayrotation00 / 0 / 0
Displayrotation0.750 / 0 / 1
Displayrotation1.50 / 0 / 0
Displayrotation2.250 / 0 / -1
Displayrotation30 / 0 / 0
STEP8

左右展示,保存自己的版本

第二段动作,换一种观察作品的方式。

  1. 新建 m110.showcase,长度 5 秒、Loop。仍选 Display,但这次只使用 Rotation 轨道。
  2. 0 秒回正;1.25 秒旋转到 0 / 24 / 6;2.5 秒回正;3.75 秒旋转到 0 / −24 / −6;5 秒回正。用 Linear 插值连接。
  3. 来回切换两段动画,确认没有遗留上一段的位移。保存 .bbmodel,再关闭并重新打开你自己的副本,检查纹理与动画都还在。
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 的 m110.showcase 动画与完成模型
实机 08两段动画,两种观看节奏
  • 左侧动画列表保留 m110.idle 和 m110.showcase 两段。
  • 上方网页查看器也能切换、暂停动画;自动旋转按钮控制的是视角。
5 秒左右展示 · 全部 5 个关键帧
分组轨道时间 / 秒X / Y / Z
Displayrotation00 / 0 / 0
Displayrotation1.250 / 24 / 6
Displayrotation2.50 / 0 / 0
Displayrotation3.750 / -24 / -6
Displayrotation50 / 0 / 0
旋转后的 M110 方块游戏道具展示姿态
动画姿态图 / 同一件作品,从另一个角度认识它。
GOAL!

这一次,试着只改一种材质。

保留轮廓,把沙色涂层换成低饱和橄榄绿,镜片仍保留一小片冷色。限制越清楚,越容易看出一次修改的效果。完成后保存 my-m110-variant.bbmodel。

IF SOMETHING LOOKS ODD

卡住了,先看这四处。

为什么动画模式找不到?

确认项目是 Generic Model / 通用模型,不是 Java Block/Item。先保留原文件,再选择适合动画的工程格式。

为什么只有一个小方块在动?

动画中选中了部件而不是 Display。把其他六个分组放到 Display 里面,再在 Display 上设置关键帧。

为什么支架悬空、斜块跑偏?

核对 Rotation 和 Pivot,别只输入 Position 与 Size。参数表三位小数足够观察,阶段工程保留完整精度;也检查有没有误改分组的基础旋转。

能直接放到 Minecraft 里吗?

不能把 .bbmodel 当 MOD 安装。本课保存的是通用模型和展示动画;游戏内使用需另选目标版本、导出格式与加载方案。它不包含物品注册、攻击、伤害等游戏逻辑。

KEEP LEARNING

继续查阅。

本课为独立创作的游戏美术教学,不是历史实物的精密复刻。图文与工程用于个人学习、课堂和非商业创作,请勿原样二次售卖或冒充原创。