上了个车 · LayaAir 可运行还原
当前版本:pass21(2026-10-18)
本地原创关卡 03(2026-10-20)
-
独立资源
custom-origin-003,不占用、不修改原版主线 1—1636 的编号或映射;旧原创关卡已移出工程并留存在废纸篓。 -
48×38“钻石织带”图形,共1824名乘客、5条车道、72辆车、5个初始车位;中央菱形随层数扩张再收拢,两侧为镜像翼面。
-
车辆不再使用手写车道表:
seeded-solvable-v1根据固定种子生成层内顺序、安全前置层、诱饵车道和后段均衡队列。 -
调关参数集中在
tools/custom-level-config.json;修改种子、中央菱形宽度、安全层数或诱饵层范围后,重新运行生成器即可。 -
入口:关卡图鉴底部“试玩原创关卡 03”,或本地地址参数
?version=pass29&custom=1。 -
设计尺寸来自当前已恢复原关卡的静态统计;实际可玩性以本地运行验收为准。
-
这是基于当前还原逻辑制作的原创试玩关,不代表原版官方关卡或原版策划规则。
-
线上主页;默认地址也进入主页,显式
level参数仍可直达关卡。 -
主页开始/继续、游戏返回主页、首页设置、作品预览与278幅作品翻页已接入;通关后的本地拼豆奖励、填色与进度保存有回归。
-
修复嵌套FGUI状态覆盖、文字/字号覆盖、部分尺寸关系和Loader等比填充;不是所有UI类型或原Shader的完整还原。
-
前50主线仍只有17个真实资源可用,新增主线地图0;缺map_19/map_21,不能把作品图或同名数字地图充作原版主线。
-
皮肤、角色收藏、称号、成就领奖与在线排行榜规则尚未接入,入口明确显示限制;激励仍为本地模拟。
-
外网主页/移动触摸与第3关实际两车60人回归通过;合成奖励/布局夹具另有标记。详见
artifacts/home-levels-20261018/验收说明.md。
以下2026-10-17及初始记录属于历史阶段,以本节和对应版本验收报告为准。
打开方式
- 用 LayaAirIDE 3.3.9 打开本目录。
- 等待资源导入完成。
- 点击“运行/预览”。
微信小游戏开发版
- LayaAirIDE 选择“文件 → 构建发布 → 微信小游戏”,填写目标小游戏 AppID 后构建。
- 输出目录应为
release/wxgame,再由微信开发者工具导入、编译、真机预览和上传开发版。 - 微信运行时优先使用
wx的启动参数、缓存、剪贴板、震动和分享接口;Web 预览继续使用浏览器回退实现。 - 为控制首包体积,微信版本从
https://slgc-j3k323ol-pass20.sealoshzh.site/动态加载关卡与美术资源。该域名必须先在微信后台加入合法的 downloadFile 域名。 - 构建后运行
node tools/verify-wxgame.cjs release/wxgame,检查必需文件、AppID、竖屏设置和 4 MiB 首包限制。 - 已接入
wx.createRewardedVideoAd、完整观看判定、失败不发奖及奖励补发记录。正式微信环境不会模拟发奖;在src/Main.ts填入后台创建的adunit-...激励视频广告位 ID 后才能展示广告。 - 工程包含从发布包恢复的资源;公开上传或发布前必须确认完整分发授权。
2026-10-17 校准说明
动态与交互修复
第二轮逐帧校准:
-
修正车门世界/局部坐标混用。复合开门姿态按录像轮廓拟合,闭合回到局部
(0,0,0),关闭完成后再离场。 -
车列补位使用绝对排位坐标,缩放插值回到当前排尺寸;连续快速点击也不会累计位置或尺寸误差。
-
停靠纵向位置由
z=-1校准为z=-2.8,修正车身在原版车位参考中偏上的问题;车辆向屏幕左侧转弯离场。 -
状态改为预约乘客、原格占用、在途、实际上车。原格在人物中心实际移出后才开放;
loaded/cleared只在到达车门时增加,座位预约独立计数。 -
行走路线先检查当前占用;前序乘客没有离开时后续乘客等待。空白区域采用视线缩短和圆角插值,增加平滑转向及简单跟随减速。这是重建算法,尚未证实与原版寻路一致。
-
已停车辆在新通路实际出现后重新寻找乘客;未满载时保持开门等待,不再每一批补客都开关一次门。
-
接入原包的
Effect_Star.png、effect_BusSmoke.png,灯束按车头投影方向跟随;增加接近满位时的橙色警示。粒子播放曲线和警示阈值仍为兼容重建。 -
tools/verify-dynamics.cjs覆盖人数守恒、重复预约、占用格路径、数字绑定、闭门后离场、向左离场、连续补位、六槽并发、已停车补客及重开取消。 -
中途追加的连续点击合并到同一动画批次的撤销快照,避免撤销到只有半套在途数据的状态。
-
所有候车节点均创建并绑定数字,第三排平时隐藏、提升到可见排时显示;前车离队后立即补入新的候车节点。
-
车辆和人物在一次操作结束后持续保留,不再整体销毁重建;已停车辆补客复用与首次上车相同的动画和数字更新过程。
-
人物按路径距离计算行走时长,经车门进入;到达时扣数字,零显示片刻,关门完成后车辆沿曲线转向离开,离场后释放车位。
-
灯光沿车辆位置投影跟随,入车和消除反馈使用恢复出的光效纹理。
-
设置支持音效、暂停、倍速、撤销、重开;速度入口切换 1/2 倍速。加车位和刷新在动画结束后可用,以免中途销毁正在运行的节点。
-
消除采用明确标注的本地试玩规则:选择已停车辆,同时移除其剩余容量对应的同色乘客。道具面板提供免费试玩入口,尚未恢复原版商店、广告或支付服务。
-
增加通关、满车位提示;重开时取消旧场景定时回调,避免旧动画改动新关卡。
-
曲线、速度、弹窗和道具规则属于重建实现;不代表已验证原版逐帧一致或原始算法已恢复。
-
人物与车辆恢复面向,修正正交相机下的左右镜像映射;车列点击区域随车列对齐。
-
人物使用原网格与 Idle/Run 动画;车辆使用原网格、车门和按 sRGB 加载的原版颜色纹理。
-
车辆数字跟随车辆投影,后排数字半透明,前排提升后恢复不透明。
-
根据
artifacts/original-level1-normalized.png校准人物密度、白色脚底、绿色下沿、背景和底部入口。 -
第 1 关的
applyObservedLevelAppearance是截图推导的重建配置,不是从代码恢复的原版规则。原始关卡文件保留不动;reconcileReferenceQueues使每种颜色的车辆总容量与重建棋盘人数相等。 -
原版 ToonLite1 材质尚未移植,当前材质、灯光特效插值和部分运动轨迹仍是兼容实现。
-
artifacts/optimization-comparison.png是本轮原版与运行预览的同尺寸对比。
初始实现记录(以下为早期状态,不代表当前验收结果)
- 使用提取到的 1–50 关原始关卡 JSON。
- LayaAir 3D 场景:原始车辆网格、车辆队列、停车区、灯光与正交相机。
- 已接入原包
walker_static_atlas.png,按关卡颜色绘制原始乘客形象。 - 已按微信实机第 1 关校正人物颜色映射、棋盘比例、6 个停车位、车辆队列间距、背景分区和底部功能入口。
- 已从原包
Game_atlas0.png裁取设置、升级、消除、刷新、商店图标。 - 车辆选择后增加近似上车移动反馈,并对连续点击做了动画期间节流;该路径不是原版寻路证据。
- 可玩逻辑:前车选择、同色边界乘客上车、容量结算、车位失败、撤销、重排、加车位、关卡切换。
- 已实际加载原包的场景背景纹理与解压后的
LAYAMODEL:COMPRESSION_0501车辆网格;assets/resources/original同时保存 UI 图集及旧版 Laya 资源样本,用于后续逐项替换。
已知边界
- 这是根据发布包重建的可编辑工程,不是原始开发工程。
- 车辆和静态乘客美术已经接入;原人物骨骼动画、车辆完整材质、车影、特效与完整弹窗 UI 尚未迁移。
- 当前“可接乘客”采用边界暴露近似规则;原作的完整寻路、特殊格与动画仍需逐项验证。
- 未获取的关卡分包不在工程内。
- 原始资源仅建议用于本地研究和验证,不应直接公开发布。