Alex-Beng / Yap

超快的原神自动拾取 | Ultra-fast Genshin Impact Auto Pickup
GNU General Public License v3.0
92 stars 10 forks source link

更多分辨率支持 #9

Open Alex-Beng opened 1 year ago

sddiky commented 11 months ago

即使暂时不支持更多分辨率,也可否提供跳过分辨率检测的功能(比如在config.json中设置)? 我尝试在yap正常打开后再把分辨率调回全屏(2560x1600,如果先全屏就打不开yap),拾取功能还是可以用的。 如果能提供这个功能我就不用来回切分辨率了…

Alex-Beng commented 11 months ago

@sddiky 1. 拾取时候识别区域的参数是跟分辨率强相关的。2. yap基于启动时的分辨率和窗口位置进行检测,并不会在后续运行时检测分辨率和位置。所以能跑起来大概是16:9和16:10的识别区域比较接近,实际上是不支持的。PS:例如UID遮罩位置肯定是错的。

如果可能的话,欢迎提供16:10分辨率的以下全屏截图:

  1. 包含多个拾取物且带有F图标
  2. 上方包含 联机匹配邀请/进入世界申请 PS:注意遮UID,以避免风险。 这样能让yap直接支持16:10
sddiky commented 11 months ago

(image removed)

希望能帮到后续的开发。 我自己暂时用不上了,电脑硬件性能不足,开了之后掉帧T_T

感谢。

Alex-Beng commented 11 months ago

已支持16:10的部分拾取、摁Y、UID遮罩功能,其他功能暂未支持。可使用nightly 28及更新的版本协助测试

revy-git commented 11 months ago

@sddiky1. The parameters of the recognition area during picking are strongly related to the resolution. 2. yap detects based on the resolution and window position at startup, and will not detect the resolution and position during subsequent runs . Therefore, the recognition areas of 16:9 and 16:10 are relatively close to each other, but in fact they are not supported. PS: For example, the UID mask position is definitely wrong.

If possible, you are welcome to provide the following full-screen screenshots in 16:10 resolution:

1. Contains multiple pickups and has an F icon

2. The above contains online matching invitation/world entry application 
   PS: Be careful to cover the UID to avoid risks. 
   This allows yap to directly support 16:10

hi, id like to request 21:9 (3440x1440) support too.

here are pictures you mentioned, if i understood corrrectly: if i did something wrong tell me, "UID" is hidden

"G" image "F" image "F" image "G" image co-op world join image image image map stuff image image image image

note, genshin has small bug right now where if you want ui to look correctly at 3440x1440 (21:9), you have to start it at 16:9 aspect ratio, and change resolution in settings then, otherwise its weirdly offset slightly you can see in thesepicture what i mean image image image

revy-git commented 11 months ago

ok i tried to add myself but i dont know programming

i added window_info.rs

pub const WINDOW_21_9: WindowInfo = WindowInfo {
    width: 3440.0,
    height: 1440.0,

    f_area_pos: Rect(450.0, 2155.0, 990.0, 2068.0),
    f_template_w: 72.0,
    f_template_h: 50.0,

    pickup_x_beg: 2235.0,
    pickup_x_end: 2615.0,
    pickup_y_gap: 97.0,

    artifact_put_in_x: 3216.0,
    artifact_put_in_y: 1025.0,
    artifact_upgrade_x: 1750.0,
    artifact_upgrade_y: 1020.0,
    artifact_skip_x: 170.0,
    artifact_skip1_y: 200.0,
    artifact_skip2_y: 295.0,

    online_challange_pos: Rect(61.0, 1894.0, 103.0, 1580.0),
    online_challange_confirm_x: 2210.0,
    online_challange_confirm_y: 490.0,

    uid_pos: Rect(1406.0, 3366.0, 1434.0, 3126.0),

    tp_botton_pos: Rect(1300.0, 3433.0, 1388.0, 2790.0),

main.rs

    else if rect.height * 215 == rect.width * 90 {
        info = info::PickupInfo::from_21_9(rect.width as u32, rect.height as u32, rect.left, rect.top);
    } 

and few other places

uid hider = works auto teleport = does not work item pickup = 1st item very slow pickup, then others fast

not sure what im doing wrong

Alex-Beng commented 11 months ago

thanks. I currently have no time in this project. I'm trapped in my master paper and go nowhere.