本文转自网络,作者cpumaker
链接:https://www.amobbs.com/thread-5695106-1-1.html
这是某论坛的一片帖子,作者很流弊:
用的PYNQ+STM32,PYNQ负责从HDMI截图并用OpenCV算法找到目标,并把坐标发给STM32。STM32实现USB HID鼠标,负责把准心移动到目标上。
整个系统完全不用在PC上运行,没有使用任何外挂技术,也没对游戏进行任何改动。
下面是几幅演示截图
FPS游戏最难的部分应该是瞄准,因为用鼠标瞄准需要大量练习,形成肌肉记忆。其实还有一种直观的方法,那就是触摸屏,点到哪打到哪,而且还可以把图像放大,更加容易瞄准。
想实现这个功能并不难,而且不需要算法。简单来说就是用PYNQ捕获显卡的HDMI信号,然后把图像放大并从HDMI输出到触摸屏。触摸屏接到STM32鼠标上,把点击结果转化成鼠标移动和按键。
下图是把图像放到1.5倍后的演示结果,这样就可以和小伙伴一起玩FPS了,一个用鼠标,一个用触摸屏。
注:不能用市面那种带USB的触摸屏,因为那种触摸屏移动的是绝对坐标,而游戏中移动的是相对坐标,这也是为什么需要把触摸屏连接到STM32鼠标上。
看看网友怎么说!
gzhuli:你这可以归类为“自动执行软件”。 退一步来讲,人家用户协议说的是“作弊”而不是“外挂”,即使程序不在电脑上运行,而是通过外部程序往电脑发送指令实现自动执行操作,只要目的是降低游戏难度、影响游戏平衡性的,就可以定义为“作弊”,人家律师团咬文嚼字写出来的用户协议,你就算告上法院也没什么胜算的……
naodanisme:看了你的微博,如果是游戏方,为了识别出作弊,只能从你射击的准确位置和鼠标移动轨迹来判断是否为手工还是简单算法,我猜测,你开枪位置对于目标来说是固定的,也就是如果目标是人(这游戏说明了不是一代人),你是否一直设计目标的眉心?对于物体,是否一直设计物体固定位置。另外,鼠标移动轨迹是否为最来路径还是水平加竖直移动。这两点都可以判断出是虚拟鼠标和算法定位。
Firman:我靠! 牛得一踏糊涂! 求分享。
xuhai777:之前我做过对游戏屏幕截图,自己做目标头部识别,加入运动跟踪,控制狙击一枪爆头,完成后对游戏也就没兴趣了
浮生莫若闲:哈哈,牛,不过这样就不是在玩游戏了,而是在玩编程了
最后说下,玩游戏开心就好,不合法的事情不要做!