GTA 车辆系统背后的 2D 物理原型
来源:patkerr.co.uk — 2026-10
📋 概述
Pat Kerr 回顾了 1996 年 8 月一个周末写下的 2D 物理模拟——它后来成为《GTA》车辆系统的基础,最初只是 Atari ST 上用 GFA BASIC 写的线框 demo,之后被移植成 C 用进真正的游戏。为纪念 30 周年,他用 JavaScript 重制了这个原型并做成可玩的 Motion Lab。系统分两层:底层是通用的 2D 刚体动力学(含力矩),这在当时的游戏里并不常见;上层是一个故意简化、物理上并不严谨的轮胎模型。三种形态共享同一套刚体:Brick 接受拖拽力,Ship 在附着点施加推力,Car 施加引擎力与转向,并只在四个轮胎位置施加阻力。
🔑 核心要点
- 起点是 1996 年 8 月一个周末写下的 Atari ST 线框 demo,用 GFA BASIC 写成,后移植为 C
- 这套模拟后来成了 《GTA》车辆系统的基础,作者为 30 周年用 JavaScript 做了可玩重制
- 底层是通用 2D 刚体动力学(含力矩),而当时游戏通行的是高中的"质点物理"加旋转 hack
- 上层轮胎模型是故意简化、技术上并不正确的近似,但"当时够用"
- 一个刚体加三种行为:Brick 受拖拽、Ship 在附着点施加推力、Car 有引擎力与转向
- 轮胎把速度分为滚动与侧向,侧向阻力远大于滚动阻力;手刹加大后轮滚动阻力并降低侧向抓地
💡 金句
它基本上是我半懂半猜的结果;我知道它物理上并不准确,但对当时的我来说已经足够好了。
👍 0
👎 0
← 返回 Lobsters 首页