CHNZYX / Auto_Simulated_Universe

崩坏:星穹铁道 模拟宇宙自动化 (Honkai Star Rail - Auto Simulated Universe)
MIT License
3.48k stars 198 forks source link

[Bug]: (已修)2.3版本部分截图匹配失败,交互文字ocr位置偏离 #295

Closed Klamist closed 1 month ago

Klamist commented 2 months ago

(issue先挂在这里当教程吧……)

pr已经更新了,会用源码版的人,可以到项目的old分支去下源码运行。或者参考下面手动自己改。

对于用编译版的人,只能改imgs的素材,勉强能用。建议学着用源码版。

需要更新的截图:

drop.jpg drop_bless.jpg event.jpg fate_3.jpg strange.jpg 这些与旧版的有一定差异,新版本无法匹配了。 我自己截的替换的素材:6张jpg

ocr问题:

新版模拟宇宙,F键交互的文字区域,高度比旧版高了大概11个像素,导致旧ocr每次识别的是切了一半的文字,所以很难匹配interact的text ——临时方案: 目前我修改了states.py,和utils/utils.py,都进行如下操作: 在里面找包含"mask_f"的行,有两个这个行相邻,把第二个mask_f前面的y坐标调高。目前我的mask_f.jpg为200×40像素时,使用的y坐标为0.4324。

请在两个文件里找到要改的部分,例如:

if text is None:
    img = self.check("z", 0.3181, 0.4324, mask="mask_f", large=False)

编译版如何修正ocr

如果你下载的是100多MB的编译后版本,是没法改上面提到的代码的,请手动修改imgs/mask_f.jpg,把它的上下高度加大,比如到100像素,同时保持图片是全黑。windows画图直接改就行。

以及历史遗留问题

进入战斗后有时疯狂的切换自律……给每次v加个延迟之类?不过这个一时找不到怎么改合适,之后再说,小问题无所谓了……

SaKura-0225 commented 2 months ago

遇到了同样的问题,还会跟黑塔交互后无反应

Klamist commented 2 months ago

另外还发现部分交互识别失败。目前包括:进入下一层时,休息间的黑塔. 初步判断是ocr识别错误, (日志删除) 已确认是ocr问题

Klamist commented 2 months ago

找到ocr问题了。 新版模拟宇宙,交互的文字区域,高度比旧版高了大概11个像素,导致ocr每次识别的是切一半的文字,所以很难匹配interact的text

xiaofeng198 commented 2 months ago

找到ocr问题了。 新版模拟宇宙,交互的文字区域,高度比旧版高了大概11个像素,导致ocr每次识别的是切一半的文字,所以很难匹配interact的text

那哥们咋解决

Klamist commented 2 months ago

找到ocr问题了。 新版模拟宇宙,交互的文字区域,高度比旧版高了大概11个像素,导致ocr每次识别的是切一半的文字,所以很难匹配interact的text

那哥们咋解决

手动修改主文件夹里的states.py,和utils/utils.py,都进行如下操作: 在里面找包含"mask_f"的行,有两个这个行相邻,把第二次复查的时候,mask_f前面的y坐标调高,我目前用的0.4320。不过只是大概估算的,目前凑合能用……

                    img = self.check("z", 0.3344, 0.4241, mask="mask_f", large=False)
                    text = self.ts.sim_list(self.tk.interacts, img)
                    if text is None:
                        img = self.check(
                            "z", 0.3200, 0.4320, mask="mask_f", large=False  这一行的地方
                        )
                        text = self.ts.sim_list(self.tk.interacts, img)
Xiaolinzzz1 commented 2 months ago

感谢大佬提供的办法, 已经跑起来了, 这周的模拟宇宙有救了,谢谢!

Klamist commented 2 months ago

新版已解决。在项目下载old分支的代码可用旧版。

ppk1n commented 1 month ago

感谢大佬。跑了几次成功了,谢谢!

sykuu5414 commented 1 month ago

感谢大佬的修正。还能用已经不容易了(哭

yanmofeixi commented 1 month ago

起来发现半夜开始挂的一次都没完成,checkout old就成功了,感谢大佬