我觉得目前的油门控制逻辑似乎不太真实,在搜索了论坛和其他mod网站后,我发现似乎还没有人解决这个问题,但有少数人提出了这个问题(例如这个帖子Keyboard Throttle and Braking Support | BeamNG),因此我决定写一份代码来解决这个问题,我现在还在犹豫是否要将代码上传至这里,因为我不确定上传一份代码是否违反论坛规则。 编写期间参考了SAGA车队的3Rs大佬的代码,但仅仅是用来学习编辑器语法,没用它的任何操作逻辑,免去了查手册的时间(所以这个脚本写的非常快,总共只花了几个小时,再加几个小时的游戏时间) 下面我简单介绍一下此脚本,并放出一个截图。代码由我一人独立完成,带有详细注释 先说明几点须知: 1、我使用了vjoy和FreePIE来完成这个,所以使用这个脚本需要你先安装这两个软件来支持它运行 2、我只写了油门和刹车的逻辑(没有离合器!)。关于方向盘的辅助,已经有人做过内置UI小程序了,因此我不会重复造轮子。 3、默认按键特性设置是偏向街机玩法的。 4、由于每个人的按键配置不同,需要先自行修改键位,并在游戏中配置相应的轴设置,否则脚本可能不能工作! 5、不要试图将此脚本用于其他多人游戏的作弊行为,尽管它不能作弊并且对所以支持手柄输入的游戏通用。 我不对预期之外的使用导致的封号负责! 接下来介绍一下操作特点: 1、油门和刹车踏板的动作模拟 脚本会将按键动作映射到手柄轴输入上,以此达到缓和油门和刹车输入的作用。默认状态下,按下按键后,踏板会先迅速踩至游戏中约75%左右的深度,接着渐慢踩完剩下的25%,若从全油门松开按键,则会先慢后快的松开踏板(为竞速而设计)。 2、油门和刹车可以互相中断 当你松开油门按键后,紧接着按下刹车按键,就会迫使油门完全松开。同理,在刹车按键松开时按下油门按键,也会使刹车立刻完全松开。此设计为了减少不必要的刹车损耗。 3、升档时会自动减小油门 松开油门按键后按下升档键,会先将油门立刻设定在一个很小的值(防止升档速度过快,油门无法响应),然后再按对应速度继续抬起过程。 4、踏板响应可调节 编写时考虑了不同人匹配自己驾驶习惯的需要,因此特别将关键的变量写在明显位置, 额外功能 我相信一定有玩家想要驾驶着精心改装的车辆,行驶在大街小巷,或者是漫长的高速公路,抑或是海滨大道。无论是后轮驱动、安装着巨大增压器的性能猛兽,还是平顺的3AT大船,或者是1.5升高转速引擎,您一定不想要巨大的引擎声和轮胎打滑影响您的悠闲,因此我额外添加了一个自动的 舒适模式 来帮助您驯服这躁动的野兽。总体来说,你开的越怂,油门响应就会越怂。通过定时检查油门开度,此脚本会逐步限制油门最大开度,并减缓油门响应速度,成为您驯服猛兽的好帮手。默认设定从舒适模式和街机驾驶中间的一种状态开始,因此首次踩下油门有延迟属于正常现象。 经过我的实际驾驶,我改装的峰值马力800匹、1.3L双转子涡轮增压、四轮驱动的Pessima,也可以像家用车一样易于驾驶。并且不会影响我进行滚动发车并加速到超过200英里。 同样的,我也设置了自动完全退出舒适模式的方法,只要你深度踩下油门2秒钟再多一些(因驾驶习惯而异),或者降档时踩住油门,就可以立刻退出舒适模式并投入到竞速中。 总体上就这些功能了,我希望可以明确知道,我是否可以将代码发布到这里?
赞,高技术力啊 我不太确定能不能直接发代码(应该没问题?) 不过大佬如果有能力和兴趣的话,可以研究研究BeamNG的游戏文件,把这个输入逻辑做成模组发布(如果游戏允许的话,甚至可以可以设置一个按键来进行开启/关闭的切换),造福其它玩家 只是个人想法,没有要求的意思!大佬目前做出来的内容已经很牛了!
我仔细研究了Forum Rules和其他条款,目前没有条款明确禁止我发布自己的源代码,因此我决定将此脚本以MIT协议公开在这里,这样任何人都可以在注明作者的情况下使用这份代码。晚些时候可能会在翻译成英文后,在其他板块发布翻译后的版本,以供其他母语的人使用。 关于制作UI应用的事情,我确实考虑过,但我的技术不足以完成这样的工作,也缺少时间来完成。如果我有能力的话,我会试着去写一个。 下面是源代码的附件。同时我要再补充一点提醒,设置油门和刹车键位时,一定不能和游戏内键盘键位一样,否则可能使控制冲突而导致脚本不能正常起作用。