跳到主要内容

模拟宇宙地图适配流程

如果你在使用StarRailCopilot的模拟宇宙功能时遇到问题,请按照以下流程上报问题,帮助StarRailCopilot进步。

原文:https://github.com/LmeSzinc/StarRailCopilot/wiki/RogueMap_cn

模拟宇宙地图适配流程(面向用户)

如果你在运行模拟宇宙时遇到以下问题,请通过 Github Issue 或 QQ 群或 Discord 频道向开发者提供地图信息。

  • SRC 显示 New route detected, please record it
  • SRC 显示 Domain exit is not defined, please record it
  • SRC 报错 GameStuckError: Wait too long
  • 走路撞墙、被地形/物品卡住、来回踱步/绕圈圈、没有直线前进至目标/走路姿势奇葩
  • 有遗漏的破坏物/敌人没有打

准备出生点截图

当你遇到错误的时候,应该停止 SRC 保存现场,不要手动打完关卡或者结束关卡,这将提供一个可以复现错误的环境。接下来点击左上角的退出图标,点击 暂离 模拟宇宙,再重新进入模拟宇宙,这时候角色将回到地图的出生点,然后使用模拟器自带的截图功能截一张图。

SRC 使用地图出生点 (spawn point) 来程序化地区分每张地图,如果你提交的错误缺少出生点信息,就只能依靠人肉记忆力来判断这是哪张地图。

准备路径点截图

假设我们需要适配一张新的地图,需要准备各点位的截图(如果是补充路径点,那么准备对应点的截图即可)

  • 破坏物
  • 敌人
  • 路径拐点
  • 经过的拱门/窄桥/窄路的入口

在截图的时候,需要尽量跟目标贴贴截图,像这样。

如果跟怪贴贴的时候被怪打了也没有关系,挂脚本是佛系的写脚本也是佛系的,打完再截图就好。SRC 通过小地图来识别当前位置,不要截到刚进战斗小地图消失的瞬间。

如果怪会移动,就需要截怪移动路径的两个端点。如果同一位置有多个怪,就在怪中间截图。

screenshot_item

screenshot_enemy

准备退出点截图

  • 移动角色到两个门中间,转动视角保证屏幕内能看见门的名称,截图
  • 分别跟两个门贴贴截图

screenshot_exit

screenshot_door

打包截图

将截图放到一个文件夹里,给文件夹取一个有意义的名字,打包成压缩包,上传到 通过 Github Issue 或 QQ 群或 Discord 频道。如果你的 SRC 先前报错了,那么把保存的错误也打包进去,保存的错误在 log/error 目录下,以毫秒时间戳为文件夹名,包含 log.txt 和最近的截图。

模拟宇宙地图适配流程(面向开发)

在大地图中的角色操作称为 路径 (Route),在路径里角色沿 路径点(Waypoint) 行走。

路径点

创建 Waypoint 对象来定义路径点,Waypoint 类接受以下参数:

  • position,路径点的坐标 (x, y),对应 srcmap 库资源图片的像素坐标,例如 ./srcmap/position/Jarilo/Jarilo_AdministrativeDistrict_F1.png 是雅利洛-VI 行政区 1层 的地图,用 PhotoShop 或者其他图片编辑软件打开,取到的坐标即是 position

    当然,图片取点的精度只有 1 像素,而 SRC 小地图位置识别精度是 0.1 像素,如果需要更高精度就要使用开发工具了。

  • threshold,到达阈值,如果当前小地图坐标与路径点坐标的直线距离小于阈值,就认为到达了这个路径点。这个值是用来存储手动设定的阈值的,默认为 None,如果 threshold 已设定就忽略 waypoint_thresholdendpoint_threshold

  • waypoint_threshold,如果这个点是路径中途点

还没写完,咕咕咕