下载 App
开发日志4#
2 小时前4 浏览综合
在制作过程中修复了许多 问题 1:列车运行时,地面与铁路不显示
真机测试中,列车运行场景里铁路和地面完全看不到,列车像是悬空在跑。
但同一画面里的房屋、树木、零散草地都正常显示,说明不是整块地形丢失。
问题 2:车库车辆预览上下颠倒
车库里的车辆预览图是反的:底板在上、车辆在下。
电脑端预览完全正常,只有真机出现。
二、原因分析
问题 1 定位
铁路、道床、轨枕、接触网、大片地面用的是"无贴图 PBR"材质(Techniques/PBR/PBRNoTexture.xml)。
真机 GLES 渲染链下,该材质的着色器变体链接失败,链接不成功则使用它的模型完全不绘制。
房屋、树木、草地用的是顶点色 Unlit 材质(NoTextureUnlitVCol),走的是另一条着色器路径,因此不受影响。
这正好解释了"为什么只有铁路和地面消失"。
已排除的可能:三角面绕序错误、顶点数超出 16 位索引上限、资源漏打包、模型未生成、裁剪面问题——这些都已逐项验证为正常。
问题 2 定位
车库预览原先是按运行平台判断是否翻转纹理方向(按平台白名单)。
属于"猜方向",与实际渲染链的真实朝向不一致,因此电脑对、真机错。
三、修复方案
修复 1:铁路与地面材质兼容
涉及文件:scripts/world/Textures.lua、scripts/world/Track.lua、scripts/world/Surface.lua、scripts/world/Tunnel.lua、scripts/world/TrainModel.lua
新增统一入口 ApplySolidPbr:纯色材质改走"真实漫反射贴图 PBR"路径(PBRDiff)。
用一张共享的 2×2 白色纹理作为漫反射贴图,乘上原有颜色参数:
· 颜色(MatDiffColor)不变
· 金属度(Metallic)不变
· 粗糙度(Roughness)不变
效果:颜色观感与原来一致,但绕开了出问题的无贴图变体。
不新增任何素材文件,不增加绘制批次,不改成无光照(不是靠"降级成 Unlit"糊过去)。
非 GL 平台(如桌面预览)保持原有 PBRNoTexture 路径不变,不做无必要的改动。
修复 2:车库预览方向
涉及文件:scripts/ui/Widgets/PreviewOrientation.lua(新增)、scripts/ui/Widgets/TrainPreview.lua
移除按平台翻转的白名单逻辑。
改为运行时实际校准:在离屏纹理上渲染一条上红下蓝的色带,读回像素判断真实朝向,再决定是否需要 Y 方向补偿。
不根据操作系统名或图形 API 名猜测方向。
校准结果缓存复用,多个预览控件共用一次校准;控件销毁后回调有检查,不会访问已释放对象。
修复 3:异常恢复(本轮补充)
涉及文件:scripts/world/Textures.lua、scripts/ui/Widgets/TrainPreview.lua
共享白纹理:改为上传成功后才写入缓存;失败时释放临时对象,下次调用可重新创建(原来失败会污染缓存,导致一直用无效纹理)。
预览图像:nvgCreateVideo 返回 0(失败)后,切换车型时会清理无效图像句柄并重试(原来 image_=0 在 Lua 中为真,导致永远不再重试,预览一直空白)。
场景与模型构造中断:统一走 ReleaseScene 完整回滚——释放渲染目标、已建模型、独立场景以及离场相机节点,避免残留半成品导致后续重试叠加出多余模型。
四、验证结果
渲染验证(露天弯道段)
实拍截图确认:双轨、轨枕、道床、大片地面、接触网全部恢复显示。
报告:Lua 错误 0 / 资源错误 0 / 渲染错误 0。
断言:18 项全部通过。
车库验证
实拍截图确认:车辆方向正常(车轮、底板在下),不再颠倒。
覆盖:切换车型、切换设定图、滚轮缩放、车库关闭后重新进入。
故障注入验证:白纹理上传失败后可重建、半初始化场景可回滚、列车半成品可回滚、图像创建失败后可恢复真实预览。
报告:Lua 错误 0 / 资源错误 0 / 渲染错误 0。
断言:21 项全部通过。
合计:39 项检查全部通过,三类错误均为 0。
说明
以上验证在 GLES 渲染环境完成,尚未在真机复测。
修改后已通过 LSP 静态检查(0 Error)并完成官方构建。
五、复测重点
列车运行时
双轨、轨枕、道床是否正常显示
大片地面是否正常显示
列车是否不再悬空
车库预览
车辆方向是否正常(车轮在下、底板在下)
不再上下颠倒
其他回归
切换车型、切换设定图、缩放操作是否正常
车库关闭后重新进入是否正常#聚光灯gamejam开发者日志














![[开发者日志 4]截图](https://img2-tc.tapimg.com/moment/etag/FjiWoT5yTj0Br0Mkq72XSIG1G2Az_20261018185503.jpg/_tap_ugc_m.jpg)



