新港中路公交站与运行机制
丽园雅庭附近先开放「社区接驳 01」:沿新港中路已有的两条单向车行道,往西经过赤岗路口到珠影(地铁客村站),往东经过赤岗路口两处分站。公开站点位置与游戏运行参数分开保存;01 是游戏线路,不对应现实班次或公交线路号。
站台来源与位置
2026-10-09 查询 OpenStreetMap 公交站节点,原始响应保存为 assets/maps/guangzhou-bus-source.json,WGS84 / ODbL,署名 © OpenStreetMap contributors。Overpass 返回的数据库快照为 2026-06-01T08:52:28Z,因此不能将获取日期当作站点测绘或更新日期。SHA-256:695eeb765960745c41ceac89185120203ab0d200ff954333b9d3909ee832c457。
查询范围:纬度 23.093–23.105、经度 113.309–113.343。查询语句:[out:json][timeout:30];node[highway=bus_stop](23.093,113.309,23.105,113.343);out body;,通过 Overpass 公共服务获取;运行时使用本地锚点,不请求公共地图服务。
广州交通运输局 2025-09-13 调整公告中的站序提供「珠影(地铁客村站)」「赤岗路口」站名与新港中路关系的交叉参考。OSM 的「珠影」采用该公开名称显示,其原始标签保留在响应文件。
| 方向 | 站台 | OSM 节点 | 经度 | 纬度 |
|---|---|---|---|---|
| 往珠影 | 珠影(地铁客村站)① | 4391879738 | 113.3163612 | 23.0989719 |
| 往珠影 | 赤岗路口② · 丽园附近 | 4391903252 | 113.3197060 | 23.0989949 |
| 往珠影 | 赤岗路口① | 4391903253 | 113.3234828 | 23.0990562 |
| 往赤岗 | 珠影(地铁客村站)② | 4391875042 | 113.3162390 | 23.0986855 |
| 往赤岗 | 赤岗路口① · 丽园附近 | 4391903251 | 113.3201468 | 23.0986957 |
| 往赤岗 | 赤岗路口② | 4391903250 | 113.3230039 | 23.0987099 |
最近的北侧「赤岗路口②」距当前游戏丽园雅庭门口约 165 m。此处是地图锚点到游戏门口的直线距离;步行路线、门口及站台施工形制未作现场测绘。候车棚使用估计的 2.1 × 6 m 简化尺寸,包含站牌、棚顶、立柱、背板、座椅及路面停靠框,朝向匹配所在车行道。棚体中心由站点锚点按道路宽度向人行道调整,确保整体位于车行道外;原始坐标不改写。立柱、背板和座椅有碰撞;车道和候车区域排除自动生成的停车、路人路径及街道家具。
地图的目的地列表可选择六个站台,附近位置读数沿用现有目的地逻辑。当前提供站台和环境公交,尚未提供乘车交互。
出现与运行
| 项目 | 游戏参数与行为 |
|---|---|
| 初始化 | 每方向已有一辆车,距丽园附近站台约 65 m,进入街区即可见来车 |
| 发车 | 每方向目标间隔 42 s;入口距玩家/游览镜头超过 190 m 且车道入口无车才发车,否则延迟 |
| 数量与外观 | 每方向最多 3 辆,合计最多 6 辆;西向标准公交、东向短轴接驳,六种涂装按发车序轮换,显示 01 线路牌 |
| 行驶 | 沿已有单向路网右侧车道前进,最高 9 m/s(约 32 km/h),加速 1.5 m/s²、制动 2.5 m/s²;车轮随行驶距离转动 |
| 靠站 | 提前减速,在停靠框中心停车 8 s;停车时打开车门,发车前 0.8 s 关闭,然后继续驶向下一站 |
| 信号与避让 | 遵循既有直行信号灯;同向车辆保留车身间 8 m;前方玩家挡住车道时停车,清空后恢复;物理扫掠避免穿过建筑和车辆 |
| 终点 | 在视野内保留停住的终点车辆,距离镜头超过 190 m 后回收,后续班次仍从入口发车 |
| 时间 | 暂停、地图、后台及现有室内流程冻结;户外骑行和游览推进;站点及班次无需下载网络资源 |
路网规划只使用名为「新港中路」的地面道路,遵循原始单行方向,不补造折返连接。每方向在地图内行驶约 1 km,终点不原地掉头。车辆采用与外观一致的 Rapier 运动学碰撞体,移动和回收时同步;玩家不能穿过正在运行的车身。
实现与验证入口
src/config/district/busTransit.ts:站台原始坐标和独立的游戏参数。src/district/busStops.ts、busStopScene.ts:投影、朝向、候车区预留、碰撞与近处批次绘制。src/district/busTransit.ts:路网规划、发车、跟车、灯控、靠站、回收;纯模拟与 Three.js 分离。src/district/people.ts、physics.ts、main.ts:复用车身/车轮批次、碰撞同步和固定步长接入。src/district/busTransit.test.ts、e2e/bus-transit.spec.ts:来源坐标、双向路网、停靠开门、阻挡恢复、信号、视野内发车/回收限制、完整线路物理通行及桌面/手机冻结与预览。
公交站增加一个附近实例批次和缓存站牌贴图;运行车辆继续使用原有车身、车轮及软阴影三个批次,并受最近 14 辆车辆的可见池上限约束。55 m 以外的公交保留车体、窗带、配色、车顶设施和轮胎,省略细小线路数字、门缝、灯具和轮毂,接近后恢复完整模型。所有车辆仍参与模拟与碰撞,渲染剔除不会删除交通状态。
2026-10-09 验证:公交、停车、街道布置、配送与模型共 32 项单测通过,应用类型检查和生产构建通过,资源预算与发布产物检查通过。Chrome 的 3 项公交专项通过,覆盖桌面 1440 × 900、手机尺寸 390 × 844、站台目的地、停靠开门与驶离、暂停/地图冻结,以及两条完整线路的物理扫掠、动态碰撞位置和回收;3 项配送回归与4项停车/路边模型回归通过。
另有1项路边活动回归失败:自动选取的广州塔路宽屏视角主帧为 92,572 三角形,超过现有 90,000 上限,水面附加视图已排除。公交站台预览在原预算内;未提高预算或改动广州塔场景。此处宽屏长街的整体渲染预算仍待处理。手机尺寸仿真未替代实体设备验收。