看流星社区

 找回密码
 注册账号
查看: 90280|回复: 522

FPS游戏GDI方框透视自瞄实现(带源码)

[复制链接]

该用户从未签到

发表于 2018-2-20 11:02:23 | 显示全部楼层 |阅读模式
用于实现的游戏是早年的CSS起源,版本是最近国内玩家整合过的版本,非steam。
用于编程的语言是C/C++。

发帖的起因是因为最近很火的一款游戏,导致了我花了2个月时间去学习编程和透视相关的知识。。

我下面说的仅仅限制我目前了解的,不对的地方请指正。
不针对任何人和事。

先说下原理,给一些不懂得人。。。

1.早年的GDI,GDI+,由于使用的是早期的技术,缺点就是CPU占用高,绘制会闪烁。因为透视的绘制和游戏的绘制不同步。
这里说一下双缓冲技术,我的理解是基于透明窗体或者别的窗体上实现,但是双缓冲有点麻烦。所以我没有深入去研究。
如果用的游戏窗体来双缓冲,依旧会闪烁。(如有会用游戏窗体无闪烁的大佬,那么请指导一下!!!!!!!哈哈哈。。)

2.用的还是上面的技术,但是这里多加了一个透明的窗体,什么是窗体,应该不用我多说了吧,就理解为一个窗口就行了,比如你打开了QQ跳出来一个界面,就是窗口。
如果用了透明窗体,并且覆盖你需要透视的游戏,在自己的窗体上面进行绘制,这样不会闪烁。
这个办法容易被检测。这里多说一些,最近很火的一款FPS的辅助,大部分用的也是外部绘制,很多是用steam的窗体来绘制,所以不闪烁。如果早期用辅助的玩家应该知道,很多辅助都会闪啊闪,W7还要开AERO,那些就是用的GDI绘制。

3.D3D绘制,,这个应该是近些年来最多的透视代表了。D3D全称Direct3D。是一个图形接口,由于目前各大游戏基本用的都是Direct3D的开发,所以透视也用的Direct3D接口。
大家听的最多的应该就是HOOK DX,实际上就是获取了游戏内绘制人物时的矩阵,然后用自己的函数来达到一个透视的目的。
Direct3D优点在于不占用CPU,并且游戏内不会掉帧(FPS)。。如果你用辅助和你不用,FPS相差10以内,基本就是用的这个技术了。
反之,你掉帧又卡,那么90%这个辅助用的是GDI绘制,或者E语言写的,再者就是算法太垃圾。
对了,D3D也可以骨骼透视,因为人物的模型也是要画出来的。

方框透视效果
http://www.iqiyi.com/w_19rvnfs2pl.html

游客,如果您要查看本帖隐藏内容请回复


评分

参与人数 2流星币 +10 收起 理由
rrrrrrrrrrrrrrr + 5 感谢您的分享!
a1003584293 + 5 支持发布原创内容!

查看全部评分

该用户从未签到

发表于 2018-2-20 13:47:33 | 显示全部楼层
1111111111111111

该用户从未签到

发表于 2018-2-21 13:41:40 | 显示全部楼层
666666666666666666666

该用户从未签到

发表于 2018-2-22 21:01:18 | 显示全部楼层
1111111111111111111111111

该用户从未签到

发表于 2018-2-26 21:55:05 | 显示全部楼层
w呜呜呜呜呜呜呜

该用户从未签到

发表于 2018-3-1 20:10:39 | 显示全部楼层
真的不错               

该用户从未签到

发表于 2018-3-3 14:57:25 | 显示全部楼层
看看!支持支持

该用户从未签到

发表于 2018-3-8 21:15:20 | 显示全部楼层
FPS游戏GDI方框透视自瞄实现(带源码)

该用户从未签到

发表于 2018-3-13 12:03:59 | 显示全部楼层
好资料,学习一下。。。。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-19 18:38

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表