CSGO自瞄原理图文讲解
说到FPS游戏的自瞄,大家都会想到读玩家的坐标,然后将坐标转化为屏幕坐标,再移动鼠标,其实这个有很大的缺陷,而且过程也比较麻烦,分辨率一换又要出问题
还有一种自瞄方法,现在CSGO大多数自瞄都是这样一个原理,获得敌人和自己的坐标,通过坐标来计算角度,通过写角度来实现自瞄
目前通用的计算角度函数是这样的
void CalcAngle( float *src, float *dst, float *angles )
{
double delta = { (src-dst), (src-dst), (src-dst) };
double hyp = sqrt(delta*delta + delta*delta);
angles = (float) (asinf(delta/hyp) * (180/3.1415926));
angles = (float) (atanf(delta/delta) * (180/3.1415926));
angles = 0.0f;
if(delta >= 0.0) { angles += 180.0f; }
}
不过我今天要讲的是另一种算法,但是也相差不多
图上是两个玩家在三维上的位置,分别是A(-4,-2,1),B(4,2,1)
如果B是我们自己,而A是敌人,我们可以通过计算向量BA来得到两个玩家之间的距离,向量BA=A-B=(8,4,1),计算出向量BA后我们可以把我们自己也就是B当成原点坐标重新建立一个三维坐标系,如下图:
而敌人的坐标就是我们求出来的向量了
给大家简单介绍一个关于三维的概念:
· pitch是围绕X轴旋转,也叫做俯仰角
· yaw是围绕Y轴旋转,也叫做偏航角
以人物角色看,yaw是左右偏动,而picth是上下偏动,,在游戏中角度都是固定的一个方向,偏航和我们学习的二维坐标一样的,0°,90°,180°,270°,,而俯仰正Z轴是-90°,负Z轴是90°,俯仰可能和我们平时认知有点不一样,,不过不重要,我们继续
红色和X轴夹角我们称之为yaw,可以通过arctan(y/x)来计算出,而图中 yaw = arctan(4/8) ≈ 26°
蓝色和红色夹角我们称之为pitch,可以通过arcsin(z/红色),而 红色 = sqrt(x2 + y2) 所以 pitch = srcsin(2/(sqrt(82+42))) ≈ 6.37°
刚刚说过Z轴正半轴是-90°,而我们算出来是6.37°,很明显,如果俯仰以6.37°来写,那么我们的视角会朝下移动,所以我们要给俯仰度数取反 pitch = arcsin(z/红色) * -1
大家可能以为到这儿就结束了,其实不然,还有另外一种情况,我们继续往下看
如果最初我们是以A为我们玩家本身,B是敌人,那么我们要求的向量就是向量AB了,而向量AB = B - A = (-8,-4,1)
这样我们就可以以A为原点,敌人B的位置就是向量AB取成点的坐标,同样的道理我们计算出红线 和 X 轴负半轴的夹角为 -26°,刚刚说到偏航是X轴开始为0°,如果我们直接写入-36°,那么玩家视觉必定转向的是第四象限而不是第三象限,所以我们就需要在算法里面多加一条判断 (敌人-我) 的X是否小于等于0 ,如果满足 yaw = yaw + 180°
我们刚刚算的在第一象限的时候 X > 0 并未满足小于等于0 所以yaw是26° ,不需要加180°,写入角度26°也会转向26°位置
而第三象限的时候 X < 0 满足了小于等于0 所以 yaw = -26 °+ 180° = 154°,大家可以想象一下 154°是否为第三象限玩家所在位置度数
OK,现在大功告成,我们只需要获得自己头部位置和敌人头部位置,然后通过以上计算得出yaw和pitch,在通过写内存来达到自瞄头部,,我把简单过程写出来,具体函数我就不写了哈
角度计算函数:
vec3 aimbot::calcAngles(vec3 us,vec3 them)
{
vec3 dists;
dists =them - us;
float hyp = dists.magnitude();
vec3 result;
result.x = (asinf(dists.z / hyp)*57.295779513082f) ;
result.y = (atanf(dists.y / dists.x)*57.295779513082f);
result.z = 0;
if (dists.x <= 0)
{
result.y += 180;
}
result.x = -result.x;
return result;
}
大家可能会问为什么会有*57.295779513082f,这个是 180/3.1415926得到的,因为C++里asinf和atanf得出的弧度值,需要*(180/PI) 来转化为度数
void aimbot()
{
Player localPlayer = utils.getLocalPlayer();
Player closetPlayer = aim.getCloset();
closetPlayer.getInfo();
if (getClassid(closetPlayer.base) != 35)
return;
vec3 v2;
v2 = getBonePos(localPlayer.base);
vec3 v1;
v1 = getBonePos(closetPlayer.base);
vec3 aimat = aim.calcAngles(v2, v1);
int pViewAngle = vam.Read<int>(bEngine + clientState);
vam.Write<float>((pViewAngle + ViewAngles), aimat.x);
vam.Write<float>((pViewAngle + ViewAngles + 0x4), aimat.y);
}
aimat.x接受的是pitch,aimait.y接受的是yaw;其他的函数我就不发出来了哈,这里主要是介绍csgo自瞄中的数学,其他的大家可以自己去学习
if (getClassid(closetPlayer.base) != 35) 这句是判断玩家实体是否为玩家
vec3:
class vec3
{
public:
float x;
float y;
float z;
vec3() :x(0), y(0), z(0){}
vec3(float x,float y,float z):x(x),y(y),z(z){}
vec3 operator + (vec3 v)
{
vec3 vr;
vr.x = this->x + v.x;
vr.y = this->y + v.y;
vr.z = this->z + v.z;
return vr;
}
vec3 operator - (vec3 v)
{
vec3 vr;
vr.x = this->x - v.x;
vr.y = this->y - v.y;
vr.z = this->z - v.z;
return vr;
}
float magnitude()
{
return sqrt((x * x) + (y * y) + (z * z));
}
}
大家有什么不理解的可以在下面发粗来我给你们解答-.-+,只限本教程的哈
激动人心,无法言表,感谢楼主,感谢看流星社区的分享! 激动人心,无法言表,感谢楼主,感谢看流星社区的分享! 看到这么好的资源真是高兴,楼主辛苦了! https://www.yxkfw.com/data/attachment/forum/202002/21/112822xk1d06866xlxp13i.png
https://www.yxkfw.com/data/attachment/forum/202002/21/112827cv9dh1dwhz186u1z.png
{2020年02月19日} 未来三个月之内,爆发全球历史最大金融海啸!{假摔}
{2020卝年02月19曰} 未来三个月之内,bào发全球历卝史最大金融海啸!{假摔}
作者: 吹哨人贰
时间 : 2020卝年2月19曰星期三 农历正月廿六雨水 dèng小卝平去世纪卝念曰
上证综指 2⑨84.97点 恒指 27530.20点 道指 29232.19点
本人 邮.箱 :
126用户名: mmdd2016 s i n ac o m 用户名:mmdd2016
126用户名: iii217 s i n a c n 用户名:iii217
突然的,全球金融 雪 崩 溃 坝 、彻 底 崩 溃 ;
没有什么,“谁也没想到”、“友邦惊诧”黑天鹅白天鹅哥斯拉撞冰山;
一切都是,蓄谋已久的,精心策划 --- 惊天魔盗团。zéi喊捉zéi。
1未来三个月之内,即,2020卝年三月、四月、五月,将会突然bào发,
人类最大金融海啸,全球股市、金融市场连续跌亭大崩卝盘。
{大盘连续或稍稍间断30/40多个跌亭板 }
太久的忍耐时机筹谋,财狼们终于要动手了;
虎虎虎。亦喜亦忧。大吉大凶。
静里忽然动干戈。
缠中说禅13年之前预卝言的,2019毁miè性下跌。{稍有误差}
已故“周期天王”周金涛的,“2018年到2019年是康波周期的万劫
不复之年”。
道琼斯,憋了11年的一泡shǐ,总算找到了,公共厕所。
2全球连续跌停大崩卝盘的见底点位:
上证综指160点左右,见底{166④的十分之一}。
以今天上正宗指2⑨84.97计算,大约“瞬间”跌去 18倍。
也可能,上证综指95.79点,见底。
最震撼的推卝倒重来,竟然只是,洗盘 !冲顶之前的洗盘 !!
道琼斯,跌去45倍,6④0点见底 --- {6④40.О8点的十分之一};
29232.19 --→ 6④0点 ;
恒生指数跌至1000点见底。
27530.20 ---→ 1000点 ;
仙股满天飞。
12个跌停板之后,停顿、反弹,之后,还有12个跌停板;
12个跌停板之后,停顿、反弹,之后,还有12个跌停板。
谜底,让你吃惊的合不拢嘴。这就对了。
我强调,我重申,股价跌去97% ,跌去97%,不是庄稼们 发 疯 了,
而是,他们,早已筹谋的,既定共同战略布jú。
不把散户完全吓的 屁 滚 niào liú,如何能达到,彻 底 洗 盘 的目的 ??
跌去九成,就像1929,对老股卝民来说,已经xí以为常;中卝囯股市,
曾经跌去90%的股票,比比皆是。
跌去九成,已经,无fǎ充分刺卝激震撼、撕 裂 老股卝民、私募的神 经
系 统 。
五重斩,五福临门:
5178 ÷ 2 ÷ 2 ÷ 2 ÷ 2 ÷ 2 = 162点
为何,大盘160点左右见底??
本人在:
{2019年11月30曰}论证2020上半年全球大崩卝盘的见底点位
{2019年5月19曰}论证2019下半年全球大崩卝盘的见底点位
【2016年3月11曰】四论,全球塴盘的见底点位。
【2015年9月26曰】三论,全球塴盘的见底点位。
…………
几篇文章之中有模糊的猜测论证,网上可以搜到。
2020卝年03月、04月、05月,忽然之间,天昏地暗,天崩地裂。
朕给出,令庸俗大众惊诧疑惑、无fǎ接受的“庄稼底牌”,是无价之
宝。
真卝理是电,不以任何人,任何泉卝利、任何所谓“大多数”的,意志为
转移。
猝不及防,永远出乎散租意料,“万万没想到”,使之“猜不透”、团
团转、热锅蚂蚁;驱赶围猎,永远使散户沉浸于tān婪恐惧烈火寒冰,追
涨shā跌动物本能”无fǎ自拔;
是庄稼们百战百胜吃香喝辣的,看家fǎ宝。
见底点位{上证宗指160点或者95.79点},是全球庄稼们{xié.饿.金融精英}
蓄谋已久的共识,不以任何人意志为转移。
即,在见底之前,出抬任何“救卝市利好”都是徒劳无益瞎折腾。
当见底之时,即便不出抬任何救卝市措施,股市也会自动“大反转”腾空
而起。
中外庄稼qīn蜜配合,完成最后的惨烈洗盘。
而直接zá盘、直接做空,导致中卝囯股市xuè崩的,是中卝囯庄稼 ---- 中卝囯
财富精英之中的精英 --- 资本大鳄。
每一只股票背后,都有庄稼暗中cāo纵走势。
每一个囯卝家的股票市场,金融市场,都有庄稼总司令暗中主导一切。
黑老大、总指挥,是 黯 黑 帝 囯。
索罗斯的,类兽卝性、反射理论,动态远均衡,大起大落理论。
缠中说禅的,跌停板洗盘fǎ。
3见底时间:2020卝年六卝月至2020卝年八月全球股市同步见底。
---- 见底以上证综指160{95.79}}点为准 ,见底时间仅为cū略推断。
---- 好深一个坑;假摔,象 真 的 一 样 。
---- 来去匆匆,夏曰的大bào雨 ;
两个月、至多三、四个月之内,完成最后的 溃 坝 式 终极洗盘。
---- 最疯狂的连续跌停,然后,迅速连续涨停,拉起。荡秋千。
庄家绝不敢在底部卝长期停留,因为股价太便宜,远低于,庄家
的长期平均持仓成本。
连序跌亭洗盘过程之中,会有反弹诱多,会有横盘迷卝魂阵,会有底部
构筑 W底的把戏 。
并没有什么,情绪彻底崩溃,破罐破摔,歇斯底里不顾一切 ……
---- 演戏给你看!
一切都在,沉着冷静,聪明透顶庄稼们的,精确掌控之中。
本人对见底点位、见底时间的推演预卝测,可能不那么准确。这也,不
是什么大问题。
最关键,全球崩卝盘的“性质”,是“挖坑”行情,是黎明之前最后最
黑卝暗最凶狠的一shā。这一点,本人绝对不会错,这就够了,足够了。
但愿本剂疫卝苗,不会失效。
底部巨量,惊天的底部巨量,历卝史最高成交量,全民目击的狐狸尾巴,
谁也无fǎ否认。
这就是,庄稼xī筹洗盘,mǎi入股票的,铁证。
疑似吹鼓手,2018年О8月16曰海通证券分析师荀玉根表示,A股正处
于第五轮牛熊周期的底部。前四次除20О8年那次外,其余三次1994年
7月-1996年1月、2002年1月-2005年6卝月、2012年1月-2014年6卝月都
是以时间换空间的震荡圆弧底。(中卝囯证券报)
“磨底是长期的、复杂的过程,期间不排除还会出现巨震。”
为什么,一定是“以时间换空间的震荡圆弧底”;
而不可能是,“以空间换时间的金zhēn探底”??
可能的未来是,当上证综指连续跌停跌破贰佰点,跌破壹佰点之时,
病急乱投医,guān卝员们按约定祭出四个救卝市最大shā器 :
----取消T+1,取消10%涨跌幅限卝制,万亿借款央行直接入市,
推出88万亿经济刺卝激印钞票计划。
中卝囯股市,次曰,一天bào卝涨30倍,把所有散户都闪了腰。
中卝囯百卝姓,早应学会“听反话”。它吹东,那么表明东方有máo坑;
西边才是正确的选择与方向。
4 2020卝年三月、四月、五月全球崩卝盘断头铡dāo的利空借口:
持续上涨91年{从1929算起},终极冲顶之前必然的总洗盘,
持续上涨91年{从1929算起},终极冲顶之前必然的总洗盘,
不以任何人,任何事卝件为转移。
不管,有没有,中美贸易战、全球贸易战,{朝}核危卝机、特朗普 金 正 恩
疯狂折腾、美囯加息 、或者降息预期落空、中卝囯加息、恐怖xí卝击、斩首
遇刺、中卝囯经济下行,债务危卝机、公卝投危卝机、拖欧危卝机、减持危卝机、汇率
危卝机、石油危卝机、钱荒危卝机、质押股票平仓、配资bào仓、liú姓投资人出事
了、科创板注册制、囯债收益率、下调评级、程序化自动交易、软件自动
斩仓、新股IPO抽xuè、索罗斯做空、巴以危卝机、土耳其叙利亚伊朗阿卝拉卝伯
危卝机、关门危卝机、废除中岛条约、第二个“广卝场协议”、担忧全球经济放
缓、文明冲卝突赵薇gē韭菜、地卝震海啸火山烹卝发冠状病dú疫情等自卝然卝灾卝害、
最怕不确定 ……
一座或N座城市,遭受一次或N次的,原子弹恐怖xí卝击 ---- 本质还是自己
zhà自己,演戏。资本来到世间,从头到脚,每个máo孔都滴着xuè和肮卝脏的东
西。
狼吃小羊,与溪水无关,与 武 汉 肺 炎 病dú 是不是 生 物 武卝器无关。
庄家们刻意制卝造。蓄谋已久。zéi喊捉zéi。闪击战。
又一次,剪羊máo,开始了。躲不过的。
所谓“股汇双shā”其实并不存在,或者,那只是一个借口。
看看人卝民币汇率长期走势图,与中卝囯股市涨跌并无正相关。况且,本币
贬值,股市上涨,才是正常现象。例如,委内瑞拉的万倍通胀,股市上
涨74倍。
汇市,或者其它乱七八糟,都是 烟 雾 弹 ,股市,才是主战场。
5有关2019年底bào发人类最大金融海啸的,事先预卝测文章:
{1}《2019年底bào发世界经济危卝机的可能性分析(万字长文)》
---- 知乎;星象大白;2019年8月28曰前后成文
专题分析,一共分为4篇,长达3万字。
页:
[1]