00 从 Motion 到碰撞箱
1 概述
扔出一个末影珍珠,射出一支箭,点燃一块 TNT—— 这些看似简单的操作背后,是一套精确的物理模拟系统在运作。
Minecraft 的实体运动与现实的牛顿力学有相似之处,但也有根本性的差异。Motion 不是速度、加速度是冲量、阻力是乘法而不是连续微分 —— 这些概念如果不加区分地套用物理直觉,会得出完全错误的结论。
本章从源码出发,依次介绍实体运动的核心属性、运算模型、移动碰撞机制、自由运动公式,以及外部因素对运动的影响。
2 结构
- 绪论 —— 研究背景、约定与知识基础
- 实体运动基础 —— 属性定义、运算顺序、阻力模型、实体分类
- 实体移动与碰撞 ——
move()方法、沿轴碰撞检测、步高机制 - 自由运动公式 —— k 值、位移公式、终端速度
- 外力对运动的影响 —— 流体、活塞、爆炸、粘液块
- LivingEntity 运动 —— AI 驱动加速、玩家控制、鞘翅飞行
3 术语与参考
本章主要基于 lovexyn0827《Minecraft 实体运动研究与应用》(CC0 协议),以 Minecraft Java Edition 1.16.4 / 1.16.5 为基准。
