LESSON03

BLOCKBENCH 3D
让材质成为造型的一部分

一段木纹,
一件像素道具。

M1 加兰德风格,
从轮廓到展示动画。

先别追着小细节跑。退后一步,认出长长的轮廓;靠近一点,分清木头、金属与帆布。最后给它一点轻摆——方块还是那些方块,作品却有了呼吸。

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

正在加载带纹理模型…

拖动旋转 · 滚轮缩放
先看成品,再把制作过程拆开。切换「道具轻摆 / 左右展示」。这是外观艺术模型,不含内部机构、射击或装填动作。
本次目标37 个方块、6 个分组、一张像素图集。让三种材质各有自己的表情。练习包与准备 ↓

BEFORE YOU BUILD

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

本课是 Minecraft 风格游戏美术练习。M1 加兰德的历史原型是半自动步枪,名称可参考史密森尼博物馆藏品记录。这里用夸张比例概括它的外观,全部参数都是虚拟建模单位,不是现实尺寸或制造图纸。

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

下载 5 个阶段工程 · 26 KB ↓
  • 01-wood-silhouette.bbmodel9 部件 · 3 分组 · 0 动画
  • 02-metal-profile.bbmodel17 部件 · 4 分组 · 0 动画
  • 03-textured-details.bbmodel37 部件 · 6 分组 · 0 动画
  • 04-idle-animation.bbmodel37 部件 · 6 分组 · 1 动画
  • 05-finished-animated.bbmodel37 部件 · 6 分组 · 2 动画

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

STEP1

新建工程,先约定方向

给工程一个名字,也给坐标一个约定。

  1. 新建通用模型,命名 my_m1_prop,纹理尺寸设为 64 × 64,使用逐面 UV。
  2. 先保存 my-m1-prop.bbmodel。建立父分组 Display,枢轴为 0 / 8 / 0。
  3. Display 下建立 Stock 和 Forewood 两个分组。第一组装后部木质轮廓,第二组装前部木质轮廓。
X ↔ 道具长度Y ↑ 高度Z ↔ 厚度 · 前端朝 +X
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 中的 M1 木质轮廓阶段工程
实机 01先认界面,再认模型
  • 中央是模型预览;左侧是纹理,右侧是分组大纲。
  • 参考工程已含 9 个木质部件;自己从空白开始时,按下面的步骤逐个添加。
STEP2

只看轮廓,搭出木质外形

先把远看时的轮廓搭对,再添加小零件。

  1. 在 Stock 中添加 stock_main:Position −24 / 3 / −1.8,Size 11 / 5.5 / 3.6。Position 是起点,不是中心。
  2. 按表添加 cheek、lower_step 和 neck。stock_neck 的 Z 旋转为 18°,Pivot 为 −10 / 7.4 / 0,让两块大形状自然衔接。
  3. 把前部木质块归入 Forewood,用深浅棕色看清层次。完成后对照 01-wood-silhouette.bbmodel。
本机 Blockbench · 中文界面查看原图 ↗
Blockbench 编辑模式选中 stock_main 的位置尺寸字段
实机 02选一个方块,读清位置与尺寸
  • 右上参数对应被选中的方块,不是整个分组。
  • 旋转和枢轴要一起设置;不要把 Position 和 Pivot 混在一起。
由九个方块组成的木质游戏道具轮廓
结构图 01 / 先搭出木质部分,暂时没有金属与背带。
9 个木质部件的虚拟建模参数
方块 / 分组PositionSizeRotation °PivotUV
stock_main
Stock
-24 / 3 / -1.811 / 5.5 / 3.60 / 0 / 0-18.5 / 5.75 / 00 / 0 / 16 / 16
stock_cheek
Stock
-22 / 8 / -1.659 / 1.2 / 3.30 / 0 / 0-17.5 / 8.6 / 016 / 0 / 32 / 16
stock_lower_step
Stock
-23 / 2.4 / -1.557 / 1 / 3.10 / 0 / 0-19.5 / 2.9 / 032 / 0 / 48 / 16
stock_neck
Stock
-14 / 5.5 / -1.58 / 3.8 / 30 / 0 / 18-10 / 7.4 / 00 / 0 / 16 / 16
wood_body
Stock
-8 / 7.4 / -1.8512 / 3.3 / 3.70 / 0 / 0-2 / 9.05 / 00 / 0 / 16 / 16
forewood_rear
Forewood
3 / 8 / -1.558 / 2.6 / 3.10 / 0 / 07 / 9.3 / 016 / 0 / 32 / 16
forewood_front
Forewood
11 / 8.4 / -1.359 / 2.2 / 2.70 / 0 / 015.5 / 9.5 / 00 / 0 / 16 / 16
upper_wood_rear
Forewood
4 / 10.4 / -1.27 / 1.2 / 2.40 / 0 / 07.5 / 11 / 00 / 48 / 16 / 64
upper_wood_front
Forewood
12 / 10.4 / -1.17 / 1 / 2.20 / 0 / 015.5 / 10.9 / 016 / 0 / 32 / 16
STEP3

用金属灰画出第二层线条

木头是一大片,金属是一道有节奏的灰线。

Display 下建立 Metal。添加顶部外壳、前方细长条、后端盖与两条环带。这些方块只表现外表面,无需制作内部结构。先看侧面,再转到斜上方,检查金属有没有整块埋进木头。

一个对比,就能让材质站出来。

top_housing:Position −8 / 10.5 / −1.6,Size 11 / 1.8 / 3.2;用金属灰。它下方的 wood_body 继续保留暖棕色。

本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 的 M1 金属外形阶段模型
实机 03从暖棕轮廓中分出冷灰线条
  • 这个阶段共 17 个部件,金属外形与木材已区分。
  • 先观察整体关系,不要为了一个微小高光添加很多方块。
加入金属顶部外壳与细长前端的方块游戏道具
结构图 02 / 木材与金属,两层形状一起读。
8 个金属外形部件参数
方块 / 分组PositionSizeRotation °PivotUV
top_housing
Metal
-8 / 10.5 / -1.611 / 1.8 / 3.20 / 0 / 0-2.5 / 11.4 / 00 / 16 / 16 / 32
housing_top
Metal
-6 / 12.3 / -1.256 / 0.6 / 2.50 / 0 / 0-3 / 12.6 / 016 / 16 / 32 / 32
barrel_exterior
Metal
2 / 10.6 / -0.6516 / 1.3 / 1.30 / 0 / 010 / 11.25 / 00 / 16 / 16 / 32
barrel_tip
Metal
18 / 10.6 / -0.658 / 1.3 / 1.30 / 0 / 022 / 11.25 / 016 / 16 / 32 / 32
front_lower_rod
Metal
19 / 9.2 / -0.56 / 0.85 / 10 / 0 / 022 / 9.625 / 032 / 16 / 48 / 32
end_cap
Metal
-24.5 / 2.6 / -1.90.6 / 6.4 / 3.80 / 0 / 0-24.2 / 5.8 / 00 / 16 / 16 / 32
band_rear
Metal
10.5 / 8.05 / -1.651 / 3.7 / 3.30 / 0 / 011 / 9.9 / 00 / 16 / 16 / 32
band_front
Metal
19.2 / 8.25 / -1.551 / 3.7 / 3.10 / 0 / 019.7 / 10.1 / 00 / 16 / 16 / 32
STEP4

把装饰和背带放进自己的分组

大纲整齐,后面的动画才会听话。

建立 Details 与 Sling:前者存放装饰像素,后者存放帆布背带。背带由三条相接的倾斜细方块组成;参数保留三位小数,完整工程保留精度。现在你有 37 个部件、6 个分组。

Display(整件道具的展示动作)
├─ Stock     后部木质轮廓
├─ Forewood  前部木质轮廓
├─ Metal     金属外表面
├─ Details   小型装饰像素
└─ Sling     帆布背带
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 完整 M1 游戏模型及右侧分组大纲
实机 04给每一种外观部件安排一个家
  • 全部五个子分组都属于 Display。
  • 动画只需要操作 Display;不用逐个移动 37 个方块。
装饰与帆布背带的参数
方块 / 分组PositionSizeRotation °PivotUV
rear_sight_base
Details
-7.8 / 12.3 / -1.72 / 0.7 / 3.40 / 0 / 0-6.8 / 12.65 / 032 / 16 / 48 / 32
rear_sight_left
Details
-7.5 / 13 / -1.70.8 / 1.1 / 0.650 / 0 / 0-7.1 / 13.55 / -1.37516 / 16 / 32 / 32
rear_sight_right
Details
-7.5 / 13 / 1.050.8 / 1.1 / 0.650 / 0 / 0-7.1 / 13.55 / 1.37516 / 16 / 32 / 32
rear_sight_cross
Details
-7.5 / 13.6 / -1.050.8 / 0.5 / 2.10 / 0 / 0-7.1 / 13.85 / 00 / 16 / 16 / 32
front_sight_base
Details
23 / 11.85 / -0.951.3 / 0.5 / 1.90 / 0 / 023.65 / 12.1 / 032 / 16 / 48 / 32
front_sight_pixel
Details
23.4 / 12.3 / -0.20.45 / 1.3 / 0.40 / 0 / 023.625 / 12.95 / 016 / 16 / 32 / 32
front_guard_-1.05
Details
23.1 / 12.25 / -1.050.9 / 1.1 / 0.350 / 0 / 023.55 / 12.8 / -0.8750 / 16 / 16 / 32
front_guard_0.7
Details
23.1 / 12.25 / 0.70.9 / 1.1 / 0.350 / 0 / 023.55 / 12.8 / 0.8750 / 16 / 16 / 32
side_accent
Details
-4.8 / 11.15 / 1.625 / 0.55 / 0.350 / 0 / 0-2.3 / 11.425 / 1.79548 / 16 / 64 / 32
side_dot
Details
-6 / 11.6 / 1.70.85 / 0.85 / 0.450 / 0 / 0-5.575 / 12.025 / 1.92516 / 16 / 32 / 32
guard_front
Details
-3 / 5.1 / -0.70.65 / 2.4 / 1.40 / 0 / 0-2.675 / 6.3 / 00 / 16 / 16 / 32
guard_lower
Details
-7 / 4.9 / -0.74.65 / 0.65 / 1.40 / 0 / 0-4.675 / 5.225 / 00 / 16 / 16 / 32
guard_back
Details
-7.6 / 5.5 / -0.70.65 / 1.9 / 1.40 / 0 / -15-7.275 / 6.45 / 00 / 16 / 16 / 32
guard_inner_pixel
Details
-5.9 / 6.4 / -0.250.7 / 1.1 / 0.50 / 0 / 15-5.55 / 6.95 / 032 / 16 / 48 / 32
sling_rear_mount
Sling
-19 / 1.8 / -0.551.1 / 0.65 / 1.10 / 0 / 0-18.45 / 2.125 / 00 / 16 / 16 / 32
sling_front_mount
Sling
18 / 7.5 / -0.551.1 / 0.65 / 1.10 / 0 / 018.55 / 7.825 / 00 / 16 / 16 / 32
sling_rear
Sling
-18.757 / 0.225 / -0.49.014 / 0.55 / 0.80 / 0 / -19.44-14.25 / 0.5 / 00 / 32 / 16 / 48
sling_middle
Sling
-10 / -1.275 / -0.415 / 0.55 / 0.80 / 0 / 0-2.5 / -1 / 00 / 32 / 16 / 48
sling_front
Sling
3.747 / 3.025 / -0.416.007 / 0.55 / 0.80 / 0 / 32.49911.75 / 3.3 / 016 / 32 / 32 / 48
sling_buckle
Sling
-8 / -1.35 / -0.551.4 / 0.9 / 1.10 / 0 / 0-7.3 / -0.9 / 048 / 32 / 64 / 48
STEP5

三种材质,三种像素语言

不用照片贴上去,也能看出木纹与金属。

  1. 导入练习包的 textures/m1-palette.png。这张 64×64 图集分为 16 个 16×16 色块。
  2. 木材用相邻深浅棕色画短而断续的横纹;金属用灰色底加少量亮边;帆布用接近的绿色做细密交错。
  3. 切换绘画模式,用 1 像素画笔先改一小块,看看模型上的变化。别把每个像素都画成随机噪点。
M1 道具木纹、金属与帆布的 64×64 像素图集
颜色相近,纹理不同。

第一行:木材。第二行:金属。第三行:帆布与黄铜色装饰。第四行:备用深浅色。

同一材质先控制在少量明暗色中,再调整像素形状。
本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 绘画模式中的 M1 模型及像素图集
实机 05同时看二维像素与三维效果
  • 左侧图集与中央模型共同检查材质分配。
  • 先另存自己的工程,再试着把帆布改成另一种低饱和颜色。
STEP6

给每个面找到正确的色块

贴图找错家,模型就会穿错衣服。

回到编辑模式,选择一个方块,在左侧 UV 面板选择要调整的面。练习工程中每个方块的六个面取同一色块,可以统一设置;UV 的四个数是 U1 / V1 / U2 / V2,不是位置加宽高。

先用三个方块验证。

stock_main → 0 / 0 / 16 / 16;
top_housing → 0 / 16 / 16 / 32;
sling_middle → 0 / 32 / 16 / 48。

本机 Blockbench · 中文界面查看原图 ↗
本机 Blockbench 编辑模式下的模型 UV 检查
实机 06一边选面,一边看颜色有没有落对
  • 选中方块后,左边的 UV 区域对应当前面。
  • 尺寸表最后一列给出每个方块的取样区;本练习六面取样相同。
M1 游戏道具的侧面材质检查图
检查图 / 沿着轮廓看一遍,检查是否有错色和漏贴。
STEP7

让整件道具轻轻摆动

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

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

转过来看看,保存自己的版本

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

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

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

保留轮廓,把胡桃木换成深红木,或者把帆布换成沙色。限制越清楚,越容易看出一次修改的效果。完成后保存 my-m1-variant.bbmodel。

IF SOMETHING LOOKS ODD

卡住了,先看这四处。

为什么动画模式找不到?

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

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

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

为什么背带断开、斜块跑偏?

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

能直接放到 Minecraft 里吗?

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

KEEP LEARNING

继续查阅。

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