如何做一个圣遗物管理系统:产品介绍
本文最后更新于:2022年10月13日 下午
系列文章:
- 如何做一个圣遗物管理系统:产品调研与分析
- 如何做一个圣遗物管理系统:产品需求文档
- 如何做一个圣遗物管理系统:产品介绍(本篇)
属于总结性质的产品使用说明,大体摘自相关项目的 README,之后如有更新会在 README 中修改。项目链接: 刻晴办公桌
简介
帮你在游戏中整理圣遗物背包时更便捷地了解、查阅圣遗物的评分,然后把评分最高的圣遗物装配给希望的角色。 demo 视频
环境与准备
OCR 引擎
- OCR 引擎 tesserect ,安装过程详见原项目,或者参考 这篇文章 ,安装链接 tesseract-ocr-w64-setup-v5.2.0.20220712.exe (64位)。如果你使用
scoop
,可以使用scoop install tesseract
快速安装。安装完成后,可在命令行输入tesseract
检验是否安装成功。 - tesseract 中文简体数据文件 ,下载完成后保存到tesseract数据目录
tessdata
中(如果是scoop
安装的话,放在./scoop/persist/tesseract/tessdata
文件夹中)。
如果你需要直接运行 python 程序
- Python 3.6+ (作者开发环境 Python 3.10.5)。
- 必备的 Python 包:
1. PySide6,GUI 框架
2. pynput,监听窗口外鼠标操作
3. pywin32,获取设备分辨率、缩放信息,用于兼容不同分辨率
4. Pillow,截图
5. pytesseract,tesseract 的 python 接口
使用打包的 exe 文件
- 在 release 中下载最新的压缩包。
- 解压。
注:同样需要安装 OCR 引擎。
使用教程
- 方式 1:运行打包好的程序。解压好的程序包后,找到并用管理员模式运行 keqing.exe(必须,否则程序运行中无法监听游戏中的鼠标操作)。
- 方式 2:下载源码,使用管理员模式打开命令行工具(必须,否则程序运行中无法监听游戏中的鼠标操作),并打开程序目录,使用命令
python app.py
运行程序。 - 在主窗口中选择角色(不选的话,默认评估双爆+攻击词条)。
- 打开游戏,调整窗口大小为非全屏下最大的一档。(因为全屏状态下评分结果贴图无法置顶。)
- 打开背包-圣遗物,随意选择圣遗物,点击右键进行圣遗物评分,评分结果随后标记在对应圣遗物右下角。(暂未对滚动条进行适配,若下拉滚动条使第一行圣遗物显示不全,贴图结果可能会有偏离。)
- 选中某个贴图结果,使用快捷键
Z
删除该贴图;使用全局快捷键Ctrl+Z
删除所有贴图,可进行新一批圣遗物的评估。
评分方法
参考 圣遗物评分方法 。
更新了 圣遗物评分方法 ,调整了角色的有效词条,增加了每个角色相对于固定词条的二级系数(如同样是大攻击对于一般主C和胡桃的评分系数就有所不同),删除了不同打法流派的角色。
具体每一个角色的有效词条和词条的评分系数可参考 characters.py
中的配置,如与需求不符可自行前往源文件修改参数。
已知问题
分辨率适配
当前仅在自己的机子上做了分辨率适配,所以理论上只有 2560*1600 分辨率下可以较为正常的运行。不过分辨率适配框架已经搭好,就差热心玩家给一些不同分辨率的截图做坐标定位和测试了。需要把游戏窗口化为非全屏下最大的一档,打开背包-圣遗物,别去调窗口位置,然后全屏截图私发一下我。
目前已适配分辨率:
16:10
- 2560 * 1600
16:9
- 2560 * 1440
- 1920 * 1080 等
能不能在圣遗物装配中使用
本来一开始确实是按照这个开发的,后来发现这个界面识别老是出错。背景飘过的白点和文字重叠基本就识别不出来了,所以放弃了。
有兴趣可以运行 python test/app_character.py
尝试下效果,当然角色配置还未同步过去。
关于 GUI
Bug 一堆,问就是还在学,不过用着应该没什么问题。
语言支持
- 中文简体
风险和声明
本程序不收集任何用户信息,所有数据保留在本地。
理论上未对任何游戏数据进行非法获取和修改,仅通过截图和 OCR 技术实现相关分析,且没有使用自动化程序帮助玩家获取游戏内资源,应该不在官方打击范围。
如若官方觉得不妥,我就删库跑路。
问题反馈
提 Issue,最好提供下命令行的输出(如识别错误、环境错误等)。有人的话可以考虑建个交流群什么的。