玩家反馈「画面隔一会儿就变色」。第一反应是贴图错乱(此前确实修过一批 UV 越界问题),于是先做数据侧验证:对画面做均值 RGB 统计,长时间观测恒定——变色不在像素统计里,说明不是渲染错乱,而是有意的动态变化。
原厂昼夜循环
翻配置发现:引擎内置昼夜循环,一天 = 1 小时。环境光四态(黎明/正午/黄昏/夜晚)的数值来自场景的 .project / .amp 文件。长安的太阳色在三个状态下都是高饱和黄——所以「变色」是原厂设计,一天走完一轮。
定案:默认冻结
对老玩家来说,画面无规律偏黄确实像 bug。工程定案:默认冻结环境时钟,保持恒定光照;保留 --env-clock:on 参数可随时恢复原厂行为。开关做在环境系统入口处,一行判断。
方法论
- 画面异常先跑均值统计再下结论:恒定→逻辑/状态问题,波动→渲染/资源问题;
- 排查顺序从数据到代码:先看 .project/.amp 真值,再怀疑管线;
- 修复(或定案)必须给出可复现的开关,而不是只改一个数字。
同期的另一例:UV 重建与原厂对拍相关性≈0,但建筑密度 131.1 vs 128 = 1.02×——「不一样」与「错了」是两个判断,数据对拍能分开它们。