我的自描外挂制作日志——FPS类游戏的自瞄【验证猜想】

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 我的自描外挂制作日志——FPS类游戏的自瞄【验证猜想】

前言

  紧接着上篇《前奏》来写写,这篇主要是完成两个目标

1.  完成CS中人物的检测

2.  完成鼠标的移动

  为了完成上述的这两个目标的同时同时兼顾着运行速率,在不影响目标的检测率的前提下我们在选用检测人物的网络应当足够轻量;在控制鼠标方便我们可以应当让鼠标能够 快速移动到指定位置,这样能够使我们进行自瞄的时候能够快速锁定目标人物。 在这篇之中,我将采用一段视频进行验证我的猜想,后续再将猜想进行验证实施优化。

完成目标人物检测

  我们选择网络上的那些游戏视频,任意选择一个含有人物目标的帧进行提取出来,然后对取出来的帧采用LabelImg进行标注,对标注得到的数据进行训练 我们选择yoloV5-n 这个框架较能够同时满足准确率的同时也能满足检测速率要求。

修改网络输出部分:

由于输出中是目标检测框的左上顶点的XY坐标以及宽和高,但是需要控制鼠标移动的位置的话是一个点,因此我们需要取目标检测的矩形框的中心点进行输出 修改输出部分代码如下:

ini

复制代码

for i, c in list(enumerate(top_label)):
    box = top_boxes[i]
    top, left, bottom, right = box
    top = max(0, np.floor(top).astype('int32'))
    left = max(0, np.floor(left).astype('int32'))
    bottom = min(image.size[1], np.floor(bottom).astype('int32'))
    right = min(image.size[0], np.floor(right).astype('int32'))
    LabX = left + right / 2
    LabY = top + bottom / 2

完成鼠标移动控制

  这里我们选择 pyautogui 库进行鼠标的控制,其代码示例如下

ini

复制代码

pyautogui.moveTo(x,y,duration=0.1)

代码解释:

  这里的x,y坐标 代码当前显示器下的坐标值,坐标计算方式是以左上角为原点,显示器的宽为x轴,高为y轴 ,duration=0.1 表明鼠标移动到这里耗时为0.1秒

结束语

今日时间紧迫,暂且更新到这里了,还望诸位海涵。在此向大家致敬!如本系列文章更新对你有帮助,请持续性关注!


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7天前
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第2篇,基于真实客户案例和最佳实践,探讨如何利用阿里云Data+AI解决方案应对游戏行业挑战,通过AI为游戏行业注入新的活力。文章详细介绍了日志数据的实时接入、高效查询、开源开放及AI场景落地,展示了完整的Data+AI解决方案及其实际应用效果。
|
8天前
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
「拥抱Data+AI」系列第2篇:阿里云DMS+AnalyticDB助力游戏日志数据分析与预测
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
45 2
|
2月前
|
监控
莉莉丝-游戏用户日志分析
莉莉丝游戏用户日志分析案例图
|
2月前
|
存储 运维 监控
超级好用的C++实用库之日志类
超级好用的C++实用库之日志类
41 0
|
3月前
|
数据采集 监控 Kubernetes
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
Job类日志采集问题之iLogtail以减小容器发现和开始采集的延时如何优化
|
3月前
|
数据采集 Kubernetes Java
Job类日志采集问题之在日志中添加容器的元信息标签,如何操作
Job类日志采集问题之在日志中添加容器的元信息标签,如何操作
|
3月前
|
存储 容器
Job类日志采集问题之DaemonSet采集方式的参数以减小采集延时如何调整
Job类日志采集问题之DaemonSet采集方式的参数以减小采集延时如何调整
|
3月前
|
容器
Job类日志采集问题之ECI产品采集方式对于弹性扩缩容是如何支持的
Job类日志采集问题之ECI产品采集方式对于弹性扩缩容是如何支持的
|
3月前
|
存储 数据采集 容器
Job类日志采集问题之DaemonSet采集方式在Job日志采集上如何表现
Job类日志采集问题之DaemonSet采集方式在Job日志采集上如何表现