从机械动力到航空学:Minecraft 的动态结构与物理模组
从 Create 的机械传动,到 Valkyrien Skies 与 Sable 的动态方块世界,再到 Clockwork、Trackwork 和 Aeronautics:理解 Minecraft 物理模组的技术路线与生态。
在 Minecraft 里,我们可以用方块建造一座工厂、一艘轮船,甚至是一架飞机。但建造出它们的外形,与让它们真正工作,是两回事。
一套齿轮可以带动矿机向前挖掘;一艘由几千个方块组成的船,可以浮在水上,受碰撞后偏转;一架玩家亲手搭建的飞机,则可以依靠螺旋桨产生推力、通过机翼获得升力。它们看起来都是“让方块动起来”,背后却不一定是同一种技术。
Create(机械动力)关心如何构造和驱动机器;Valkyrien Skies 与 Sable 关心如何让整组方块成为可运动、可交互的物理结构;Clockwork、Trackwork 和 Create: Aeronautics 则在这些基础上提供具体的载具玩法。 理解这些层次,才能看清 Minecraft 物理模组的发展方向,以及它们对体素沙盒游戏设计的启发。
1Minecraft 的物理边界
1.1方块世界为什么难以自由移动?
Minecraft 并不缺少运动。玩家会跳跃、船会航行、沙子会下落,活塞也能推动方块。然而,这些行为通常由各自的游戏规则定义:实体按照实体逻辑移动,活塞按既定规则更新方块,普通建筑则固定在区块的整数网格上。
这套表示方法极其适合建造、保存和查询。给定一个方块坐标,游戏便能定位其状态、邻居、光照及相关方块实体。代价是: 一组普通方块,并不会因为玩家把它们拼成飞机,就自动获得一个共同的重心、质量、速度和碰撞形状。
假设把一座房子整体旋转 30°:每个方块还应保存在哪里?门、箱子和红石该如何工作?玩家站在倾斜地板上会不会滑落?如果房子撞上山体,应该由哪些方块发生碰撞?这些问题不是简单地给建筑增加一个位置变量就能解决的。
1.2同样是“物理”,其实有不同层次
| 类型 | 核心思路 | 代表效果或项目 |
|---|---|---|
| 物理表现 | 为破碎、布娃娃、掉落物等添加视觉和模拟效果 | Physics Mod 的破碎与生物布娃娃 |
| 机械运动 | 按传动网络或预定运动规则更新结构 | Create 的旋转机构、活塞机构与列车 |
| 刚体动力学 | 由质量、受力、碰撞和约束决定整体运动 | Valkyrien Skies、Sable 及其载具生态 |
这种分类并不是严格的互斥关系。比如 Physics Mod 也确实使用物理模拟;Create 的某些结构也会与实体发生碰撞。这里区分的是 游戏系统的主要目标:让场景看起来更有物理感、让机器按规则工作,还是让玩家搭建的整组方块成为自由运动的物体。1
从物理学术语看,可以再作一个有用的区分: 运动学(Kinematics) 描述物体如何运动,不要求从受力推导运动; 动力学(Dynamics) 进一步研究作用力如何改变运动。它们的差别,正好对应 Create 与自由刚体载具的主要设计取向。
2机械动力:让方块成为机器
2.1动力网络不是完整的力学仿真
Create 的核心设计是机械传动:水车等装置产生旋转,传动轴、齿轮和皮带传递或改变转速,最终驱动磨盘、机械臂、钻头和其他机器。
为了让玩家能够理解并规划复杂机械,Create 用 Stress Capacity(应力容量) 与 Stress Impact(应力负载) 构成一套简化的动力预算。动力源提供容量,设备消耗容量;当网络需求超过供给时,网络会因超载而停止。转速改变也会影响负载计算。2
这里的 Stress 不是物理引擎逐帧求出的轴扭矩,也不意味着每颗齿轮都要进行刚体碰撞、摩擦与惯量计算。它更接近一种面向游戏玩法的机械规则:保留机械设计所需的因果关系,同时避免完整工程仿真的复杂性。
这不是缺陷,而是设计取舍。对自动化工厂来说,玩家需要关心的是齿轮比例、动力供给、机器布置和生产流程;如果每根轴还会因真实弹性振动、齿隙和摩擦误差而失效,游戏未必会因此更有趣。
2.2Contraption:让多个方块一起运动
Create 的另一项重要设计是 Contraption(组合机械结构)。玩家能够将多个方块组装为一个运动结构,让它们被机械轴承、机械活塞、绳索滑轮等装置驱动。它们可以旋转、伸缩、平移,也可以携带特定功能部件进行采集、钻探或搬运。3
关键在于:许多 Contraption 的位置和姿态由控制器及运动规则决定。例如,机械轴承让结构绕固定轴旋转,列车通常沿轨道系统运行。这种“先定义轨迹,再更新结构”的方式,更接近运动学,而不是通过螺旋桨推力和空气阻力让整个机器自行决定飞向何处。
设想用 Create 建造一艘装有螺旋桨的船: 让螺旋桨旋转 与 让旋转的螺旋桨推动整艘船 是两个不同问题。前者只需要机械传动;后者还需要一个会受力、会碰撞、会改变速度和姿态的船体。
这正是物理框架和后续附属模组要填补的部分。
3真正可移动的方块世界
3.1核心思路:将方块集合变成动态结构
若想让建筑像载具一样自由移动,一种可行的架构是将选中的方块组织为独立的动态结构。方块继续保留自己的类型、局部位置及必要的游戏数据,而物理引擎不再逐个驱动所有方块,而是主要驱动它们构成的 整体刚体。
假设一架飞机上有一个位于局部坐标 的方块,飞机的整体位置为 、旋转为 ,那么该方块在世界中的位置可以表示为:
因此飞机转弯时,不必逐一计算每块铁板受到了多少力;引擎更新飞机整体的变换,就能够得到各个方块的世界位置。玩家依然看见一架由许多方块组成、可以任意转向的飞机。
但这只是最基础的一层。物理世界还必须支持方块的增加与移除、重心变化、碰撞形状更新,以及人物在载具上的移动与交互。若飞机有两个彼此铰接的机翼,或者一个起落架会独立转动,它们还可能需要多个刚体和约束,而不只是一个刚体。
3.2Valkyrien Skies:以 Ship 为中心的物理世界
Valkyrien Skies 2(简称 VS2)是一套用于 Minecraft 的动态方块物理框架。它将可移动的方块集合抽象为 Ship。名称虽然是“船”,却不限制结构只能在水上航行;飞机、飞艇、建筑平台或其他载具也可以建立在同一类机制上。VS2 自身主要提供基础能力,实际生存玩法通常依靠附属 Mod。4
VS2 的一个技术特点,是让 Ship 的方块仍然与区块数据关联,而在渲染和物理交互时应用 Ship 的坐标变换。开发者曾解释,Ship 不是简单的 Minecraft Entity,而是持有特定区块集合的动态对象;这些区块通常存储在被称为 Shipyard 的专用区域,客户端对它们进行变换渲染。5
其底层架构还包含 VSCore 等核心组件,以及处理刚体动力学的原生物理后端。VS2 并非始终绑定同一个求解器:其发行记录和相关实现中可以看到 Krunch、PhysX,以及在 2.4.10 版本加入的 Jolt 后端选项。6
框架与物理引擎不是同一层
VS2 负责将 Minecraft 的方块、Ship 数据和游戏逻辑接入动态世界;Krunch、PhysX 或 Jolt 等后端负责相应的物理求解。更换求解器并不会自动解决方块实体兼容、渲染或网络同步问题。不同版本提供的后端与成熟度也可能不同。
3.3Sable:把可移动区域视为 Sub-Level
Sable 走的是另一条路线。它将可移动结构称为 Sub-Level(子关卡):一个拥有正常区块、方块实体和实体的区域,却可以在主世界中以动态位置和姿态存在。与只搬动方块的渲染模型相比,这种抽象更强调让其中的游戏内容继续维持正常的交互行为。7
Sable 自带的默认物理管线基于 Rapier——一个用 Rust 编写的刚体物理引擎。这里并不是“用 Rust 重写了 Minecraft”:Minecraft 集成、数据映射和兼容处理仍然是重要工作;Rust 负责的是物理求解器相关部分。Sable 自己则定位为库,通常不会单独给生存玩法增加飞机、发动机或完整的造车流程。
其开发者同时明确警告:Sable 需要大量深入修改 Minecraft 行为的 Mixin,因此与其他 Mod 的兼容性仍是现实限制。7
3.4同一个目标,两种不同实现
| 比较维度 | Valkyrien Skies 2 | Sable |
|---|---|---|
| 动态结构抽象 | Ship | Sub-Level |
| 对方块世界的组织 | Ship 所拥有的区块与坐标变换 | 可移动的区块、方块实体与实体区域 |
| 物理求解 | VSCore 体系及 Krunch / PhysX / Jolt 等后端 | 默认基于 Rapier(Rust) |
| 典型上层项目 | Eureka、Clockwork、Trackwork | Create: Aeronautics 及其扩展 |
| 主要工程挑战 | 区块与 Ship 协同、交互及兼容 | 子关卡与原版逻辑协同、交互及兼容 |
不能仅凭所用物理引擎或抽象名称就断言哪一套“更真实”或“性能更好”。实际结果还取决于碰撞形状的生成、物理对象数量、方块实体更新、网络同步以及相关 Mod 的质量。
4从机械到载具:物理 Mod 生态
底层框架解决了“方块组成的物体能否自由运动”,却不会自动定义“飞机为什么能飞,坦克为什么能跑”。这些玩法需要额外实现推进器、机翼、浮力、轮胎、悬挂和驾驶控制,并把它们产生的力施加到动态结构上。
上图表达的是 架构与依赖关系,并不表示图中的所有 Mod 都能在同一个 Minecraft 版本、同一个整合包内无冲突地运行。
4.1VS2 生态:船舶、飞行器与履带
Eureka! Ships! 更像是一套易于上手的造船方案。玩家用普通方块搭好船体,放置船舵,再将建筑组装成可移动的船。它甚至会主动施加稳定力矩,减少船体倾覆,让操控更接近轻松的游戏载具,而不是完全放任物理规律决定结果。8
VS: Clockwork 同时依赖 Create 与 VS2。它把机械结构和自由物理运动连接起来,使玩家能够构建依赖机械部件工作的动态载具。Create 提供机械系统和构建语言,VS2 提供可运动的物理结构,Clockwork 则实现两者之间的玩法结合。9
Trackwork 也依赖 Create 与 VS2,不过主要面向地面车辆,提供履带、轮子等组件。飞机与坦克看似完全不同,在这里却共享同一个底层思想:由玩家搭建主体,再让专用部件对这个物理主体产生作用。10
Create: Interactive 则侧重另外一类能力:使 Create 的运动结构更接近普通方块世界,允许在其上放置、拆除方块,或实现嵌套结构、列车脱轨等交互。它使用 VS2 来改写部分 Contraption 行为,但不能简单理解为“再安装一个飞行器 Mod”。11
4.2Sable 生态:Aeronautics 不只有飞机
Create: Aeronautics 同样构建在 Create 的机械系统之上,但物理基础换成了 Sable。其官方项目按功能分为三个部分:12
- Simulated:动态机械结构的组装、交互、红石组件等基础机制。
- Aeronautics:面向飞行器,加入螺旋桨、热气和浮空相关组件。
- Offroad:面向地面载具,加入轮式运动所需的部件与能力。
因此,虽然名字是“航空学”,它实际是一组围绕 物理驱动的组合机械 建立的系统,并不局限于飞机。玩家既可以制造飞艇、飞机,也可以制造汽车、卡车及其他复杂机械。
此外,Create: Tracks 为 Aeronautics 路线提供履带、悬挂和驱动轮;另有 Create: Tracks+ 等替代分支,其外观和功能进一步借鉴了 Trackwork。需要留意,Tracks+ 的作者明确说明它与原版 Create: Tracks 不兼容,安装时应选择其一。13
这也解释了一个常见的疑惑: 为什么在 Aeronautics 的演示中也能看到类似 Trackwork 的履带和坦克? 因为两套生态面对同样的载具需求,自然会出现相似的功能,有时还会有设计借鉴或移植。功能相似,不代表底层使用同一个物理框架。
4.3Clockwork 与 Aeronautics 究竟有多像?
从玩家的目标看,它们高度相似:都希望把 Create 的机械语言扩展为可以自由移动的飞行器或复杂载具。从技术上看,它们又是两条不同路线:
| 问题 | Clockwork 路线 | Aeronautics 路线 |
|---|---|---|
| 机械基础 | Create | Create |
| 动态方块框架 | Valkyrien Skies 2 | Sable |
| 典型上层功能 | 飞行器、机械与物理结构结合 | 飞行器、Simulated 结构、Offroad 车辆 |
| 履带扩展 | Trackwork | Create: Tracks 等 |
| 玩家需要理解的重点 | 如何让 Create 机械与 VS2 Ship 协同 | 如何利用 Sable Sub-Level 构建可模拟结构 |
它们并非 Create 的二选一替代品; Create 本体可以分别与这两条路线组合。然而,“两个项目都能与 Create 配合”也不等于“它们彼此兼容”,特别是在涉及同一套区块、实体或碰撞逻辑的情况下。
5技术比较与未来可能
5.1把方块变成刚体,只是第一步
想让“自由建造的飞机”真正成为可玩的系统,还需要解决多层工程问题。
首先是物理表示。 一艘由数千方块组成的船,通常不应该直接生成数千个相互碰撞的独立刚体。引擎需要为整体建立有效的碰撞形状,计算质量与惯量,并在增减方块时更新这些数据。螺旋桨产生的推力作用在船体一侧时,还会产生转矩;在简化刚体模型中,这可以写成:
其中 是力的作用点相对重心的位置, 是施加的力。这解释了为什么一架推进器装歪的飞行器会偏航,也解释了为什么合理的重心、机翼与发动机布局能够成为玩法的一部分。
其次是“仍然像 Minecraft 一样工作”。 物理载具必须面对相互独立但高度关联的问题:碰撞检测与接触求解、关节和悬挂约束、船体拆分、流体与浮力、玩家乘坐、方块实体更新、建筑和破坏,以及渲染与光照。当普通游戏逻辑默认所有方块固定在世界坐标时,动态结构的每一项交互都可能需要额外适配。
最后是性能与多人同步。 服务器通常需要维护权威的物理状态,再向客户端发送必要的运动数据;客户端则需要插值、预测或其他平滑手段,以减少网络延迟造成的抖动。物理模拟、方块更新与渲染不必以完全相同的频率运行,但如何协调它们,是动态世界的重要设计问题。
以上是这类系统共同面对的工程问题,并不意味着 VS2 和 Sable 在各项功能上采用完全相同的实现。
5.2兼容性不只是能不能启动
对玩家而言,选择 Mod 时最实际的问题往往不是物理引擎有多先进,而是 它与当前 Minecraft、Create 和其他 Mod 是否真正匹配。
以 2026 年 10 月可查的官方发布页为例,Create: Aeronautics 的主要发布版本面向 Minecraft 1.21.1 / NeoForge;Clockwork 则公开提供包括 Minecraft 1.20.1 / Forge、Fabric 在内的版本。这里并不存在一个可以直接套用到所有组合的统一版本号。14
更重要的是,物理框架对区块、碰撞和方块实体的修改往往深入 Minecraft 底层。即使不同 Mod 能同时加载,也可能发生渲染错误、方块行为异常或存档问题。Sable 官方就特别提醒了这种兼容风险;VS2 的更新记录中也能看到针对其他 Mod 和特定交互的持续修复。15
组整合包时的判断顺序
先确定 Minecraft 版本与加载器,再选择 Create 版本和动态物理框架,最后安装对应的载具附属。不要把“功能相似”当作“可互相替换”,也不要把“依赖关系图”理解成“全部同时安装的清单”。尤其应在正式存档之外验证物理载具、方块实体、多人联机及存档恢复。
5.3从物理载具走向真正的动态体素世界
这些 Mod 最有价值的地方,或许不只是玩家终于能建造一架飞机。它们展示了 Minecraft 原本相对静态的方块数据,如何被重新组织为 可以拥有独立坐标、参与物理计算、同时保留建造与交互能力的世界片段。
沿着这个方向继续推演,动态结构就不必局限于船、汽车或飞机。可移动的工厂、能够独立工作的机械臂、可拆卸的巨型工程设备、具有完整内部空间的移动基地,甚至多层嵌套的物理建筑,都能够成为沙盒游戏的设计对象。
不过,“可移动”不等于“无所不能”。自由编辑、稳定物理、复杂机械、完整方块逻辑、低延迟多人和良好性能之间,总会存在取舍。Create 选择用清楚、可预测的机械规则创造乐趣;VS2 与 Sable 则扩展了方块世界的动态边界;Clockwork、Trackwork 和 Aeronautics 展示了如何将这些底层能力转化为玩家能够理解、搭建和驾驶的机器。
从机械动力到航空学,Minecraft 的物理模组真正探索的不是“怎样让方块动得更像现实”,而是“怎样让玩家创造出来的结构,成为能够继续参与世界运行的物体”。
注释
-
haubna,Physics Mod — CurseForge。项目展示了生物布娃娃、方块破碎等效果;本文按主要用途对不同物理系统进行分类。 ↩
-
Creators of Create,The Basics of Rotation in Create 与 Stress Units, Capacity and Impact。官方说明了动力网络的转速、容量和负载机制。 ↩
-
Creators of Create,Moving Contraptions。官方说明了机械控制器、组合结构及运动结构的工作方式。 ↩
-
Valkyrien Skies 团队,Valkyrien Skies — CurseForge。项目将自身定位为动态方块物理库,并介绍了 Ship 的碰撞与 Create 生态支持。 ↩
-
Valkyrien Skies 贡献者 ewoudje,2023 年在 Ocean Compatibility(GitHub Issue #595) 的技术解释,说明 Ship 的区块保存、变换渲染及其不等同于普通 Entity 的实现方式。 ↩
-
Valkyrien Skies 团队,VS2 GitHub Releases。2.4.10 更新记录确认加入 Jolt 作为引擎选项,其他版本记录可见 Krunch、PhysX 的使用与修复。 ↩
-
RyanHCode,Sable — GitHub 与 Sable — CurseForge。作者解释了 Sub-Level、默认 Rapier 物理管线及大量 Mixin 带来的兼容性风险。 ↩ ↩2
-
Eureka 团队,Eureka! Ships! — CurseForge。官方介绍 Ship Helm 的组装方式,并说明船舵会施加稳定力与转矩以改善玩法。 ↩
-
VS: Clockwork 团队,VS: Clockwork — CurseForge。官方明确将 Create 和 Valkyrien Skies 2 列为前置依赖。 ↩
-
Endal,Trackwork — CurseForge。官方说明其为 Create 与 VS2 的附属,提供轮胎和坦克履带等功能。 ↩
-
Create: Interactive 项目,Modrinth 主页。项目说明基于 VS2 改写 Contraption 行为,支持运动结构上放置/破坏方块与列车脱轨。 ↩
-
Create Aeronautics 团队,项目源码说明 与 CurseForge 发布页。官方明确列出 Simulated、Aeronautics、Offroad 三部分,并将 Create 与 Sable 列为依赖。 ↩
-
qwxon,Create: Tracks — CurseForge;ChiyahaRee,Create: Tracks+ — CurseForge。前者为 Aeronautics 提供履带,后者是借鉴 Trackwork 设计的替代分支,且声明与 Create: Tracks 不兼容。 ↩
-
Create Aeronautics 团队,CurseForge Files;VS: Clockwork 团队,CurseForge 发布页。两者 2026 年 10 月可查发行版的 Minecraft 与加载器支持并不一致。 ↩
-
RyanHCode,Sable 兼容性警告;Valkyrien Skies 团队,VS2 发布记录。这两份一手资料分别记录了底层侵入式修改的风险和跨 Mod 兼容修复。 ↩
CONTINUE EXPLORING