查看: 2912|回复: 0

[学习交流] FPS的后坐力研究探讨,HYXD中实践。

[复制链接]
       
灌水成绩
主题
帖子
积分
等级头衔
ID:112405
等级:勇者魔法师
头衔:易语言霸主Ysjt、凌何
积分成就
威望:70
贡献:0
种子:6
在线时间:181 小时
注册时间:2019-6-5
最后登录:2023-12-30
勋章

萌新普通会员小哥哥源码大师破解大师黄金会员百万富豪主题王在线达人全能王灌水之王热心肠问题少年安全之心

联系方式
发表于 2019-8-11 19:56:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发贴前我特意问过某超版,只做技术讨论,不发布软件,就不违规。

本贴全手打,部分学习借鉴的,部分自己领悟的,旨在学习讨论,请勿用于非法用途。

1:FPS游戏中后坐力,FOV视野的范围和变化
FOV即第1人称视角范围场,FPS中常见的是90度。
在空间系中,坐标是三维的,我们学习过坐标分xy,这是二维坐标。
但在三维空间中,坐标是xyz,即空间中的高横向,纵向。高度。

在CS中,后坐力最开始是没有的,后来为了仿真,各种演化版的游戏都有后坐力。
比如某鹅,为了赚钱,表现枪械的好坏,鼓励大家买好枪,在这方面做的额外明显。

2:开枪后视角的变化(后坐力影响了什么?)
所谓枪法,对枪械了解,一定要知道后坐力的范围。

假设你拿棍子打了版主,棍子会跳一下,弹一下,这也是后坐力(反正我不敢打版主)。
可是FPS中,后坐力不仅会影响枪械的标准位置,甚至还会影响视野,还会影响瞄准点的变化。
(不然火麒麟怎么卖钱?)
所以如果你用易语言开发游戏,想赚钱一定要搞后坐力,再卖个888的龙麒麟步枪,这样才行啊!

那么,开始说正事。
目前荒野行动中,后坐力分4大部分。通用大部分FPS,但不绝对。
1:开枪后,瞄准位置会变化(普通开枪和开镜开枪不一样)。
2:开枪后,视野会重置,固定下移(狙)。固定上移(步枪)。
3:开镜后,FOV会变化,和最初的FOV(视野角度)值不同。
4:开枪后,视野回弹,枪械瞄准位置回弹,这里一般是固定范围+随机值。
虽然听起来很绕,我实践中也很绕。但还是有区别的。
技术在进步,FPS中如果少了一个环节,就无法实现后坐力了。

3:如何定位后坐力call,如何找到指针及内存指令。
最常见的是根据FOV值定位,然后看FOV变化,根据访问代码,跟踪到指令。
以某游戏为例:(基址是别人找的,大家请自行百度,本贴只做学习研究)




假设我们要提高初始视野高度值,定位到三维空间系中的Z轴,即相机竖向高度。
科普下,FPS中的相机是什么:假设你的眼睛就是个相机,如果你站高点,相机高度就提高了。
在CE中,我们得知,movss(单精度数,在易语言中是小数,在CE中是浮点数)赋值给xmm0,地址为 ebp-38

按照传统的办法,我们需要找到ebp,并且修改他的值,然后他就会返回这个值给xmm0。
但前面讲了,技术在进步。这里我给大家讲一个简单粗暴的易语言实现。字节操作。
比如我们要汇编其代码,改为  mov [ebp-38], (float)5.0  意思 是 将ebp-38的值定义为 浮点数5.0 即float型。
那么,就实现了效果,相机提高了5个单位,每个单位是1米(常见FPS中浮点值 1=1米)。

2:禁用后坐力回弹

根找到的基指,我们可以看到内存中,有2个值。xmm2,xmm1

这里开始讲重点!  用易语言实现改他的汇编指令。
我们用一种简单粗暴的办法!  nop填充,让他什么值都没有!
从228741-228747  给他全部填充nop会发生什么?



这里回弹功能也做了恢复,如果禁止回弹,那么还是简单粗暴的办法,填充nop。


总结:
本次文字教程,旨在学习,如果讲的不好,你来打我啊?
这里面只讲了实现无后坐的2个功能实现,还有2个没搞定
等4个齐全了,就可以解决子弹打的不固定+后坐力问题。
我喜欢讲原理,虽然我理解的也不深。
不要问我怎么找的这个基址,自己去尝试搜索,老是拿成品不好。
在此,感谢某位基佬的指点。




FPS的后坐力研究探讨,HYXD中实践。

FPS的后坐力研究探讨,HYXD中实践。 hyxd129,hyxd文件,hyxd荒野行动,hyxd129松饼,hyxd129娥,TC辅助网www.tcsq1.com1442

FPS的后坐力研究探讨,HYXD中实践。

FPS的后坐力研究探讨,HYXD中实践。 hyxd129,hyxd文件,hyxd荒野行动,hyxd129松饼,hyxd129娥,TC辅助网www.tcsq1.com5739

FPS的后坐力研究探讨,HYXD中实践。

FPS的后坐力研究探讨,HYXD中实践。 hyxd129,hyxd文件,hyxd荒野行动,hyxd129松饼,hyxd129娥,TC辅助网www.tcsq1.com9522

FPS的后坐力研究探讨,HYXD中实践。

FPS的后坐力研究探讨,HYXD中实践。 hyxd129,hyxd文件,hyxd荒野行动,hyxd129松饼,hyxd129娥,TC辅助网www.tcsq1.com2636
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|TC辅助网 |网站地图

GMT+8, 2024-11-22 01:51 , Processed in 0.058767 second(s), 26 queries , MemCached On.

powered by 屠城社区! X3.4

© 2001-2019 屠城辅助网.

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