mirror of
https://github.com/Shu-Ying/main_plugin_farm.git
synced 2026-10-29 21:59:58 +08:00
44 lines
2.5 KiB
Markdown
44 lines
2.5 KiB
Markdown
# 真寻农场可见落地机制
|
||||
|
|
|
|||
|
|
用户验收指出:完整纹理底边对齐网页父矩形,即使计算过程正确,仍不能
|
|||
|
|
保证本地作物根部落在土地中心。本地成熟胡萝卜画布高 168,可见内容仅到
|
|||
|
|
102;直接对齐整张纹理底边会让根部偏向地块后上方。
|
|||
|
|
|
|||
|
|
当前机制以真寻农场自身的落地效果为准,配置为 schema=4、
|
|||
|
|
mode=visible_contact_center,不再对作物执行网页底边锚点或倾斜变换。
|
|||
|
|
|
|||
|
|
## 通用落地规则
|
|||
|
|
|
|||
|
|
1. 每块土地的中心 C 取本地绘制矩形中心。
|
|||
|
|
2. 作物等比缩放并保持直立,不旋转、不剪切;保留完整纹理文件。
|
|||
|
|
3. 在最终尺寸图片中,忽略 alpha 小于 32 的边缘像素,取得可见范围。
|
|||
|
|
4. 生长图、成熟图、枯萎图取可见高度最下方 20% 的区域,计算该区域
|
|||
|
|
有效像素的 alpha 加权中心 P,作为自动落地参考点。
|
|||
|
|
5. 种子图取可见包围盒中心作为 P,避免种子簇偏离土地中心。
|
|||
|
|
6. 左上角绘制位置为 `round(C × 输出比例 - P)`。
|
|||
|
|
|
|||
|
|
这样上下左右增加透明留白不会改变可见落点。没有逐作物、逐阶段的手调
|
|||
|
|
偏移;同一规则应用于所有素材。底部区域是图像推导的落地参考,并非声称
|
|||
|
|
能够识别所有美术素材的植物根系,后续新增素材仍应做视觉抽查。
|
|||
|
|
|
|||
|
|
## 缩放与虫子
|
|||
|
|
|
|||
|
|
已有 30 块地的场景映射仍用于取得整体尺寸尺度及虫子的局部坐标。
|
|||
|
|
作物只取其面积对应的统一尺度 `sqrt(abs(det(A)))≈1.471`,不将倾斜、
|
|||
|
|
剪切施加到作物图片。生长图尺寸系数为 0.75,种子和枯萎为 0.5;
|
|||
|
|
最后乘输出宽度/3072。这里的系数仅决定大小,不再决定落地锚点。
|
|||
|
|
|
|||
|
|
虫子不使用植物底部算法,保持原来的局部位置和显示尺寸规则。
|
|||
|
|
土地映射原始参考及匹配顺序保留于 crop_positions.json;旧土地图不规则,
|
|||
|
|
中心拟合 RMS≈4.18、最大残差≈9.08 像素,但作物逐块使用本地实际中心,
|
|||
|
|
不使用拟合平移作为落点。这不是网页的逐像素复刻。
|
|||
|
|
|
|||
|
|
## 验证
|
|||
|
|
|
|||
|
|
包含增加透明留白不改变落地参考、上方叶片不拉偏底部参考、透明图片回退、
|
|||
|
|
种子/枯萎分支、1024/1536/3072 三种尺寸,以及成熟胡萝卜和固定随机种子的
|
|||
|
|
五种作物各阶段预览。随机抽样为杨梅、椰子、冬瓜、白萝卜、花生。
|
|||
|
|
|
|||
|
|
`scripts/preview_crop_mapping.py --output <目录>` 可复现预览,包含带虫和
|
|||
|
|
隐藏虫子便于检查的成熟胡萝卜图。此过程不读玩家数据库、不部署或重启。
|