fixed # 修复作物绘制位置异常的BUG

This commit is contained in:
2026-10-21 10:16:58 +08:00
parent 07a2f0f53e
commit e5bec1a2b6
10 changed files with 671 additions and 70 deletions
+10 -8
View File
@@ -56,15 +56,17 @@ top = Cy + 39.75 × s - 0.75 × H × s
场景倍率为 2,底边对齐的计算误差不超过 0.5 输出像素。
这验证了预览公式的执行与图片效果,不代表所有素材已逐一核对原图。
正式渲染器已切换到本文公式。`crop_positions.json` schema=2 保存统一规则,
不再包含人工逐阶段锚点;导出 metadata 也不再写入人工标注。
种子和枯萎使用场景包原始公共精灵,分别为 69×30 和 209×92。
正式渲染器现使用 `crop_positions.json` schema=4 的本地可见落地机制,
不包含人工逐阶段锚点。种子和枯萎仍使用场景包原始公共精灵,
分别为 69×30 和 209×92。
现有 3072 基准场景沿用旧土地布局;以其土地显示高度 `D` 除以 79.5
得到原版单位到当前布局的统一倍率,再换算作物与虫子尺寸和坐标。
跨输出分辨率只追加 `width/3072`,不重复应用 0.75。
旧土地的宽高比例仍沿用本地布局,因此本次是定位规则移植,
不是对整个网页场景像素级复刻。
此前将本地土地完整 PNG 高度除以 79.5,混用了透明画布与父矩形语义。
当前通过全部 30 块地中心计算整体尺度;作物保持直立等比缩放,以可见
底部区域的加权中心对齐本地土地中心,不再使用网页底边锚点。
虫子保留局部坐标映射;输出分辨率再乘 `width/3072`。
详见 [作物场景映射修正](22-crop-scene-mapping.md)。
原网页规则仍成立,但不能把本地 PNG 高度直接视为上文的 D。
沿用的旧土地网格存在拟合残差,不是网页场景的像素级复刻。
`scripts/preview_crop_positions.py` 已改为调用正式渲染器,生成
1024、1536、3072 三种输出档位的作物阶段及虫子预览。