【原创】(第一节已经发布,进新帖链接)FPS基础透视原理与实现!
本帖最后由 以南 于 2018-2-15 12:39 编辑https://www.52pojie.cn/thread-698270-1-1.html
新贴。谢谢大家。
对了忘记说了,未经允许不得转载。
先说一下,对,和你看到的标题是一样的,基础基础!如果帖子没删,我会在年后尽快上传视频教程。
用于实现的游戏是早年的CSS起源,版本是最近国内玩家整合过的版本,非steam。
用于编程的语言是C/C++。
发帖的起因是因为最近很火的一款游戏,导致了我花了2个月时间去学习编程和透视相关的知识。。
我下面说的仅仅限制我目前了解的,不对的地方请指正。
不针对任何人和事。
先说下原理,给一些不懂得人。。。
1.早年的GDI,GDI+,由于使用的是早期的技术,缺点就是CPU占用高,绘制会闪烁。因为透视的绘制和游戏的绘制不同步。
这里说一下双缓冲技术,我的理解是基于透明窗体或者别的窗体上实现,但是双缓冲有点麻烦。所以我没有深入去研究。
如果用的游戏窗体来双缓冲,依旧会闪烁。(如有会用游戏窗体无闪烁的大佬,那么请指导一下!!!!!!!哈哈哈。。)
2.用的还是上面的技术,但是这里多加了一个透明的窗体,什么是窗体,应该不用我多说了吧,就理解为一个窗口就行了,比如你打开了QQ跳出来一个界面,就是窗口。
如果用了透明窗体,并且覆盖你需要透视的游戏,在自己的窗体上面进行绘制,这样不会闪烁(C/C++我不知道如何实现,我能做出一个透明窗体并且置顶,但是如何擦除之前的绘制并且不闪烁?如有大佬愿意帮助,请私信我!!谢谢!!!!)
这个办法容易被检测。这里多说一些,最近很火的一款FPS的辅助,大部分用的也是外部绘制,很多是用steam的窗体来绘制,所以不闪烁。如果早期用辅助的玩家应该知道,很多辅助都会闪啊闪,W7还要开AERO,那些就是用的GDI绘制。
3.D3D绘制,,这个应该是近些年来最多的透视代表了。D3D全称Direct3D。是一个图形接口,由于目前各大游戏基本用的都是Direct3D的开发,所以透视也用的Direct3D接口。
大家听的最多的应该就是HOOK DX,实际上就是获取了游戏内绘制人物时的矩阵,然后用自己的函数来达到一个透视的目的。
Direct3D优点在于不占用CPU,并且游戏内不会掉帧(FPS)。。如果你用辅助和你不用,FPS相差10以内,基本就是用的这个技术了。
反之,你掉帧又卡,那么90%这个辅助用的是GDI绘制,或者E语言写的,再者就是算法太垃圾。
对了,D3D也可以骨骼透视,因为人物的模型也是要画出来的。
基本上就是用的这些方法,对,还有一个opengl,好像没什么人用这个库来写辅助,我也没深入去了解,所以就不说了。。
如果帖子明天依旧健在我会在年后尽快上传视频教程。教程的内容大概就是从找数据到写代码,最后实现透视。
因为GDI绘制相关的东西有点麻烦,很多我也不清楚,尤其是世界坐标转屏幕坐标,就是我上面说的一个叫矩阵的东西。。
所以视频教程里面我懂的都会说一下,。不懂的也会说一下,哈哈。
自瞄的话,其实和透视有一些相似,麻烦的地方和上面一样,只不过变成了你的视角到敌人模型上的转换。。
这些转换的东西,,不会数学和一些相关知识,,你只能去找别人分享过的代码进行修改。
国内应该没有用于GDI实现透视的教程,源码肯定有,某某游戏的源码国外也很多的,但是没有点水平你拿了源码也没用,检测摆在那里。
最后说一下,教程也只是基础的,油管上面也有一些,我也是学习过之后才来发的这个贴,引用了一些国外的东西。
国内我还真没找到这方面的教材,有也是什么DXF,CF的一些DLL和E源码。可是我不会E啊。
所以,很多东西也是自己去理解过研究过的。。从开始写到现在花了差不多半个多月,其中各种难题我是真的醉了。没人解答才是最难受的,有没大佬有交流的地方,求加入组织!!
毕竟学的时间太短,能力有限,请大家见谅,我会在等下上传一个效果视频,用外链,,应该没问题吧?
回头有补充对的再说,我先复制保存一下。。。。。。。。。
有兴趣或者支持的请顶一下,谢谢了!!!!!!!!
效果!!外链没事吧?
http://www.iqiyi.com/w_19rvnfs2pl.html
昨天到现在还没睡,刚刚研究出了一些新东西,啊哈哈开心,学习什么的到时候先看教程吧,,我还真没本事教别人目前。。。发点基础的教程还行,可能要年后了,明天回家,很多事,,哎。。
顶起来啊!!!!一下就沉了,技术贴不招待见么。。。。 这超链就没正常过。。真的醉了。。效果 支持一下, 收藏了,谢谢坛友的分享 这是什么情况,谢谢了 下载看看,感谢楼主提供!! 谢谢了慢慢学习 加油楼主 感谢发布原创作品,吾爱破解论坛因你更精彩. 大牛就是厉害。