Closed NateScarlet closed 3 years ago
不是很有道理(~但是很容易~)的解决方案: 电脑的模拟器和安卓虚拟机都可以手动设定分辨率和dpi,直接让用户按规定的分辨率和dpi使用。 ~隔壁方舟的托管就是这样解决的~
现在的截图用的不是标准大小 而是 466 x 828 需要把所有数据都改成适配 540 x 960 的
这个分辨率是从它默认的窗口大小提取出来的,然后我发现它默认大小好像每次都不一样
然后我自己不能用 540 x 960 因为我副屏放三行的任务栏 剩余空间没有 960 那么高
现在的截图用的不是标准大小 而是 466 x 828 需要把所有数据都改成适配 540 x 960 的
好家伙,那工作量确实好大
这个分辨率是从它默认的窗口大小提取出来的,然后我发现它默认大小好像每次都不一样
?还有这种奇怪的事情?
不过增大分辨率也有好处就是OCR更难出错 如果能实现后台挂机那我也不需要放副屏了
现在的截图用的不是标准大小 而是 466 x 828
vmos那个安卓手机端的虚拟机支持非标准大小,下面这张图就是466X828的分辨率 ~不过我真没想到会这么糊~
我在把坐标都改成相对窗口宽度的 0b530446422134b05f75283e8ae4314a90a89154
然后后面再加上识图的时候统一缩放成 540x960 的 看精确度咋样
好诶!可以放出一个测试版吗?一会到家了可以试试
还没加呢 现在重构就是方便新写的功能不需要后面重新适配
辛苦作者了!我是个只会提需求的笨比
如果能支援模擬器ADB那真是幫了大忙了,畢竟在WINDWOS上用VPN有太多不便,DMM GAMES本身程式又擋vm,我身邊兩三個同事也是有相同需求; 更新這麼勤奮必須給個star⭐! 👍
开发分支已经改成用 540x960 了 改了之后所有育成事件都要重新选
模版我是全部整体放大的 跑了一次育成发现非文本模版大多都能直接用
等所有功能都用过一遍再放到 master
我在模拟器上装了测试了 发现模拟器窗口也不能后台点击 估计游戏不处理 windows 的点击消息
只能模拟器也通过 adb 来操作
对哇,模拟器也需要通过adb
device:
# ADB server 的端口。部分模拟器为避免冲突可能会将 ADB server 开在其他端口,
# 此时可以更改此设置以利用模拟器自带的 ADB server。
# adb_server: 127.0.0.1:5037
# 需要启动 adb server 时,使用的 adb 命令
# 为空时则尝试: 1. PATH 中的 adb;
# 2. ADB/{sys.platform}/adb;
# 3. 查找 Android SDK(ANDROID_SDK_ROOT 和默认安装目录)
adb_binary:
# 以下为部分模拟器提供的 adb 程序,不一定正确,仅供参考
# adb_binary: D:\leidian\LDPlayer\adb.exe # 雷电模拟器
# adb_binary: C:\Program Files\BlueStacks\HD-Adb.exe # BlueStacks
# adb_binary: C:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin\adb_server.exe # MuMu模拟器
# 始终选择指定设备进行操作(指定 adb devices 中列出的名称)
# adb_always_use_device:
# 无设备连接时进行的操作
# 如果某个操作报告成功,则不再执行后续定义的操作
adb_no_device_fixups:
- run: probe_bluestacks_hyperv # 自动探测并连接 BlueStacks Hyper-V 的 ADB 端口
- run: adb_connect # 连接 ADB TCP/IP 端口
target:
- 127.0.0.1:5555 # 大部分模拟器
- 127.0.0.1:7555 # MuMu模拟器
try_all: false # 某个端口连接成功后,是否继续尝试后续定义的端口
# 使用兼容性较好(但较慢)的截图方式
compat_screenshot: false
# 通过 adb 传输模拟器截图数据较慢时,尝试绕过 adbd 传输截图数据
# 模拟器判断逻辑:1. 设备名称以 "emulator-" 或 "127.0.0.1:" 开头
# 2. ro.product.board 包含 goldfish(SDK emulator)或存在 vboxguest 模块
# 可用选项:never, auto, always
workaround_slow_emulator_adb: auto
# 截图缓存:如果两次截图间隔小于上次截图耗时,则直接返回上次的截图
cache_screenshot: true
隔壁明日方舟护肝助手的config文件,可以参考下 ~他们家的图形界面也用户友好,所以能安排下图形界面吗?~
他们家的图形界面也用户友好,所以能安排下图形界面吗?
没空 这项目主要目的是我自己省时间 如果我花大量时间维护就本末倒置了 或者你要他们去开个赛马娘的项目
发现 adb 其实是可以设置分辨率的 不过如果是实机感觉改分辨率不太好 实机根本改不了
虽然后台操作实现了 但是不知为啥模拟器分辨率540x960好糊
EDIT: 我改成 1920x1080 320 DPI 清晰度和桌面差不多 可能DMM版实际上渲染的像素量和窗口大小无关
支持高分辨率途中发现一个bug 现在的育成事件截图区域其实都歪了 还是用的 466 宽时候的坐标
問下,現在推薦ANDROID解析度/DPI? 在想要不要重設我的JSON來適應ANDROID
目前使用NOX PLAYER設定540x960, 120dpi,有的字需要重新辨認
@Splendent
我开发测试发现 1080x1920 的清晰度和电脑差不多 dpi应该只影响模拟器显示默认窗口的大小 脚本用像素作为基本单位所以无所谓
做了個測試,有事先清空過orc_images.local |
120dpi | 320dpi | 480dpi | ||
---|---|---|---|---|---|
540x960 | ラ需辨認 | X | ラ需辨認 | ||
1080x1920 | 正常運作 | 正常運作 | "級"需辨認 | ||
540x960 120dpi 540x960 480dpi 1080x1920 120dpi 1080x1920 320dpi 1080x1920 480dpi
目前應該會採用120dpi繼續跑 🐎
日期的背景有可能导致误差 用白色背景的文字测试比较好
@Splendent
我开发测试发现 1080x1920 的清晰度和电脑差不多 dpi应该只影响模拟器显示默认窗口的大小 脚本用像素作为基本单位所以无所谓
看起來是這樣沒錯 👍 以下兩份LOG為在1080x1920底下跑的辨認測試,相似度毫無差異....但無法理解上面的RA圖為什麼到了480dpi就有差異 120dpi auto_derby_120dpi.log 320dpi auto_derby_320dpi.log
其他解析度的就更慘了 900x1600 120dpi auto_derby_1600x900_120dpi.log 320dpi auto_derby_1600x900_320dpi.log
1440x2560 auto_derby_1440x2560_320dpi.log
日期的背景有可能导致误差 用白色背景的文字测试比较好
我不會弄! 😆
adb 养成了个 10000 分的好歌剧 合并到主分支了
但是我自己主要还是需要用前台来挂:
from #42
adb和模拟器没法指定分辨率 模版匹配难度会提升