2.9 KiB
虫子坐标与资源
状态:2026-10-19 用户已授权接入。已从下载的主场景包提取虫子
38 帧及公共种子、枯萎图,共 40 张图片,保存于
src/farm_render/source_assets。manifest 保留源 URL、文件哈希、
原图尺寸及统一位置,不保存网页作物 ID。正式静态渲染按虫序稳定选帧,
资源导出脚本将全部帧打包;核心虫害规则见 16-pest-mechanics.md。
新确认的普通 WebGL 绘制规则
WebGLMainSceneLandController.lua 第 279~282 行定义:
PestPos = [(-26, 13), (-5, 42), (24, 24)]
第 320~330 行按照 landData.pest 数量创建 mainscene#Pest,
以 PestPos[i] 设置虫子对象的 localPosition。
父节点是 LandsPestAndWeedContent/LandN/PestAndWeedContent;
对应土地父容器与土地矩形中心对齐。Unity 坐标 x 向右、y 向上。
普通控制器在 step < 6 时显示虫草;上述坐标与作物种类无关。
主场景包存在 land/webgl/pest.prefab,其根节点为 Pest,
矩形尺寸 22 × 30,pivot=(0.5,0.5),localScale=(1,1,1),
带 Image 与 Animator;初始 Image 引用精灵 pest1。
预制体初始位置会被运行时的 PestPos 覆盖,不能当作最终位置使用。
若使用原版单位并设统一场景倍率为 s,地块中心是 (Cx,Cy), 虫子对应坐标为 (u,v),则输出画布中的虫子矩形左上角是:
left = Cx + u × s - 22 × s / 2
top = Cy - v × s - 30 × s / 2
这是预制体矩形定位;38 帧完整画布均为 44×60,显示尺寸为 22×30。 动画包的采样率为 24,开启循环;本次聊天图片输出不播放动画。 虫子不应套用作物的 0.75 缩放,需遵循其自身预制体尺寸。
已搜索 Lua 包内 2178 个 TextAsset:未发现 .insect 或
["insect"] 的直接字段读取;普通及时间农场控制器存在 PestPos。
这不能证明 C# 或其他未分析路径从未使用 insect 字段,
但已确认普通 WebGL 控制器本身采用上述固定位置。
已保存的证据
原始数据保留在 captures/qq-farm-2026-10-19/crops.json 的 insect 字段。
这是离线捕获文件,不进入业务数据库,不引入网页作物 ID。
草莓原始值:
0,0,0,0,0,0|50,10,65,-30,110,-2|50,10,65,-30,110,-2|0,0,0,0,0,0
字符串包含 4 组数据;每组 6 个数字,可按 3 对坐标进行语法解析。 组与阶段的关系、全零的含义、坐标原点和缩放方式均未核验。 不能直接将这 4 组映射为本地 6 个生长阶段,也不能当作作物位置。
剩余验证事项
- 如需动画消息,另做动画编码、平台能力和上传验证。
- 网页虫子实际画面与本地绘制对照仍未进行在线像素级验收。
- 如需使用旧 insect 字段,另查其消费者,不能覆盖已确认的普通 WebGL 规则。
绘制层读取渲染配置,不污染交易状态,不引入网页作物 ID。