原理
為了讓我們的代碼能夠控制手機的「王者榮耀」西篓,我們需要實現(xiàn)在電腦上操控手機煤蹭。
需要用到什么呢挨厚?scrcpy 和 minitouch罗捎。
scrcpy 可以將安卓手機的畫面投屏到電腦桌面顯示上并進行操控。
簡單地說浩螺,就是可以讓你在電腦上控制手機靴患!它支持鼠標控制、鍵盤輸入要出、電腦剪切板復制粘貼鸳君、拖放文件傳輸?shù)绞謾C、以及拖放 APK 文件進行安裝患蹂。
使用 scrcpy 你無需 ROOT 手機或颊,也不需在手機上安裝 APP,只需在系統(tǒng)設(shè)置里啟用“USB調(diào)試”( adb 調(diào)試) 即可传于。
minitouch 提供了一個 socket 接口用在 Android 設(shè)備上的多點觸摸事件以及手勢囱挑。也是無需 ROOT 手機。
用 scrcpy 獲取游戲畫面沼溜,獲取 scrcpy 的句柄平挑,然后截圖,?根據(jù)圖片生成操作指令?,然后利用 minitouch 高效的執(zhí)行這些操作指令通熄。
所以關(guān)鍵在于唆涝,如何根據(jù)?圖片?生成?操作指令?。
沒錯唇辨,用 Transformer廊酣。
上兩天火的 DALL·E 都見到了吧?OpenAI 最新發(fā)布的助泽,它可以魔法一般按照自然語言文字描述直接生成對應圖片啰扛!
比如輸入文本:鱷梨形狀的扶手椅嚎京。
AI 生成的圖像:
這生產(chǎn)效果真是堪稱神奇嗡贺!自然語言與視覺的壁壘正在被逐漸打通。
反過來鞍帝,?圖片?生成?描述?诫睬,更簡單了,這樣的工作幾年前就用了帕涌。
使用 Transformer摄凡,根據(jù)游戲圖像,生成?當前畫面?的?操作描述?蚓曼。
比如前進亲澡、攻擊、釋放技能纫版。
2
實現(xiàn)原理
首先你得有個能跑 Transformer 的顯卡床绪,安裝需要的第三方庫,例如 pyminitouch其弊、pytorch 等癞己。
然后安裝 scrcpy,這個安裝教程很多梭伐,百度一搜一大把痹雅,將所有東西放在與下載的代碼同級目錄下。
下載訓練好的模型文件糊识。
需要注意的是绩社,不同手機的 minitouch 配置可能有所不同,代碼的測試機器分辨率是 1080*2160赂苗,這里需要根據(jù)自己的情況進行修改愉耙。
配置好環(huán)境后,就可以運行代碼了哑梳。
運行文件“啟動和結(jié)束進程.py”劲阎,啟動scrcpy。把“訓練數(shù)據(jù)截取_A.py” 中的兩項改成你的設(shè)備:
啟動王者榮耀進入 5v5 人機對戰(zhàn)后鸠真,運行 “訓練數(shù)據(jù)截取_A.py” 即可悯仙。
趕快自己體驗一波吧龄毡!訓練一個你最愛的英雄!
項目地址:
https://github.com/FengQuanLi/ResnetGPT
3
最后
這個項目的代碼锡垄,有些凌亂沦零,還有硬核的中文變量。
算法性能有待提高货岭,目前打打人機還行路操。