wanan-midnight 技术资产沉淀:44 车参数曲面、可动跳灯、动态姿态动画与上海篇六章叙事架构
1. 项目概览与架构边界
- 仓库地址:turbo998/wanan-midnight
- 在线演示:进入《湾岸 Midnight · 零点以东》
- 技术栈:TypeScript + Three.js (WebGL2) + Web Audio API + Vitest + Playwright
《湾岸 Midnight · 零点以东》是一部纯代码构建的 3D 深夜高架竞速游戏,包含 8 大车系 44 代 JDM 车型、一条手工编排的 6 公里上海高架-跨江大桥-江底隧道-外港 S 弯-东岸灯塔路线、三名具名对手 AI 以及六章原创剧情《零点以东》。
2. 8 车系 44 代参数化车身曲面与机械细节 (src/vehicles/catalog.ts & src/render/)
2.1 冻结的 44 车系目录与真实比例锚点
所有 44 个车型 ID 均绑定独立几何轮廓参数、碰撞包络、驱动布局(FR / F-AWD / MR / M-AWD)、五类引擎合成音色与本地纪录键:
- GT-R 家族 (6 代):
kpgc10,kpgc110,bnr32,bcnr33,bnr34(以官方 M-Spec Nür 4600×1780×1360mm、轴距 2665mm 为比例锚点),r35 - Fairlady Z 家族 (7 代):
s30,s130,z31,z32,z33,z34,rz34 - Supra 家族 (5 代):
a40,a60,a70,a80,a90 - RX-7 家族 (3 代):
sa22c,fc3s,fd3s - NSX 家族 (2 代):
na1,nc1 - Silvia 家族 (7 代):
csp311,s10,s110,s12,s13,s14,s15 - Lancer Evolution 家族 (10 代):
evo1–evo10 - Impreza WRX STI 家族 (4 代):
gc8,gdb,grb,vab
2.2 开放轮拱曲面与实时机械动画拆解
- 开放式轮拱与分体曲面(
src/render/profiles.ts):摒弃早期闭合六面体盒子,采用高密度发动机舱盖、车顶拱冠、快背/三厢尾舱、开放侧围轮拱切口与独立透明座舱玻璃。 - 可动跳灯机构(Pop-up Headlights Actuation):为
fd3s、fc3s、sa22c、na1、a60、a70、z31、s12实现独立铰链旋转节点,支持在车间检视台与赛道实时切换跳灯升降。 - 60Hz 动态悬挂姿态(Pitch / Dive / Roll):
- 加速抬头与制动点头(Pitch/Dive):由纵向加速度差分驱动车身俯仰包络;
- 过弯侧倾(Body Roll)与前轮转向:由横向曲率与转向输入实时驱动车体横滚角与前轮偏转。
- 换挡双出蓝紫回火与刹车盘灼热(Exhaust Backfire & Glowing Rotors):
- 高转速收油/降挡瞬间在双出排气管生成蓝紫渐变锥形回火粒子;
- 重刹入弯时四轮通风刹车盘依据制动功率呈现橙红灼热发光(Thermal Glow),松刹后按热衰减时间常数冷却。
3. 上海篇六章原创剧情《零点以东》与回声车间声档 (src/story/)
故事围绕即将搬离黄浦江畔的「回声车间 (Echo Workshop)」展开。录音剪辑师兼学徒陈屿试图用六段高架夜行声档留住旧车间的记忆,在与三位对手的六夜交锋中完成成长:
| 章节 | 标题 | 核心叙事冲突与声档主题 | 可选挑战目标 |
|---|---|---|---|
| 第 1 章 | 末班灯 | 第一只搬家封箱落地,陈屿提议录下六卷夜间高架母带 | 前 3 名完赛 |
| 第 2 章 | 桥缝之间 | 精密技师沈砚(BNR34):并非一切价值都能被化约为单一最快圈速数字 | 全程碰撞 ≤ 3 次 |
| 第 3 章 | 不拍终点 | 摄影师唐澄(FD3S):拒绝把车间里鲜活的人拍成怀旧明信片背景 | 领先唐澄完赛 |
| 第 4 章 | 回声不回答 | 主理人林岚:坦承再快的纪录也无法逆转租约与城市更新,记忆属于人而非砖墙 | 前 2 名完赛 |
| 第 5 章 | 把路留出来 | 前耐力赛手许知衡(NA1):承认表面的疏离只是掩饰对再次全力争胜的恐惧 | 全程碰撞 ≤ 2 次 |
| 第 6 章 | 零点以东 | 终章合奏:胜负化作共同记忆的一部分,新车间的灯已在零点以东亮起 | 第 1 名完赛 |
- 三档终身评价机制:完成第 6 章后,依据历史最佳战绩授予 「领跑者」(曾获终章第 1)、「同行者」(达成至少 3 项章节挑战)或 「抵达者」,重玩绝不倒扣或覆盖已取得的最高荣誉。
4. 工程验证与性能基线 (tests/ & artifacts/)
- 单测与确定性回归:78+ 项 Vitest 单测覆盖 44 车几何边界、无交通同控制器圈速均衡(偏差 ≤ 5%)、高速扫掠碰撞、30/60/120Hz 全程确定性一致性。
- 浏览器 E2E 与 0 动态建网守卫:Playwright 全流程验证真实键盘输入、车间机械开关、全部 6 章对话与完赛、暂停失焦保护,以及竞速期
modelsBuiltDuringRace === 0守卫。