跳出和手柄方向偏解决法

时间:2011/03/23 11:07:09 编辑:Ocean

1、自动退出问题
 这个说出来有点汗,但这是事实。游戏中(这也就排除了配置的问题)自动退出和手柄有关。
 你把手柄从电脑的usb接口拔下来,然后进游戏看看还有问题吗?
 或者把手柄自带的驱动卸载掉,用windows默认的usbjoystick驱动也可以,不过这就不支持振动了。
 我的北通神鹰是这样(ps:北通野牛3的驱动曾经导致在极品飞车6出现自动退出的问题)。
 同样的情况也出现在《漫画英雄:终极联盟》中,那里的情况是,如果插上装有自带驱动的手柄,直接进不去,双击游戏图标,就提示出错已关闭。但是拔掉手柄一切正常,或者用windows默认的驱动然后插手柄玩也正常。
 好了,总结一下,退出问题和已知的免cd补丁 没有 关系。我用克隆版,不加免cd补丁,改注册表运行游戏也会出现退出的问题。

2、手柄开车时自动偏左或偏右的原因和解决办法
 先说原因:
 手柄插到usb接口后,系统会检测到手柄的一些信息,包括手柄标识及轴的信息等。对于轴,比如左摇杆的x轴(控制左右方向),假定向左推满的值为0,向右推满的值为255,当不碰左摇杆的时候,标准的静止值应该是127(注意,不是128),如果游戏中,出现模拟摇杆工作方式下自动左偏或右偏的情况,那意味着这个静止值不是127,而是略小于127(如119,左偏)或略大于127(如135,右偏), 因为默认情况下摇杆的原始数据与directx输出为线性关系,所以原始数据有偏,则游戏接受到的directx输出数据也有偏。一般游戏对与摇杆输入数据的静止值附近的5-10%没有反应(称为deadzone),但是极品飞车系列,从9开始,对这个百分数可能设定的比较小,即对中心值很敏感。这也就就解释了在极品9或10开车自动偏的手柄但是玩其他游戏并不自动偏。这就是原因,这种问题是不能通过手柄自带驱动的校准功能解决的(因为它的取平均值算法很不科学)。
 解决方法:
 解决办法就是修改 原始数据 vs. directx输出 曲线(directx输出数据才是游戏实际接收到的手柄数据),把摇杆静止时的位置改为输出中点,然后连接最小和最大点,这就得到一条折线。具体操作如下,这里给出一个最最简单的办法。
 去下载一个罗技出的校准工具dxtweak ( http://www.uniluk.com/download/dxtweak2.exe ) ,它可以很方便改变上述的曲线。插上手柄,打开dxtweak,然后看左上区域显示的手柄原始数据,在min和max之间的那一列数据就是相应轴静止时的原始输入值。比如,我们看到:
 min  cal  max
 x轴  2  135  253
 ps:因为原始数据 vs. directx输出 默认为线性,假设比例为1:1,则游戏感知到的输入数据是135>127,所以自然要向右偏,只有感知到127或在deadzone区内的附近值才不会偏。因此必须修改这个对应关系。
 然后到右边区域,先点“x轴”标签,然后到下面的calibration栏,填入上面的值,即min 内填2,cen内填135,max内填253。然后点底下的apply,关闭即可,同样方法可以设置其他轴。
 上面的设置实际上就是把你的原始输入的最小值(当然不一定是0),静止值,最大值分别映射为游戏实际感知到的directx数据的最小值0,静止值127,最大值255。然后最小值和静止值之间均匀插值,静止值和最大值之间均匀插值。这样从摇杆的实际使用上来看(手指对摇杆左右推动角度的感知上),这是没有缺陷的摇杆,即手值左右推动摇杆的角度和游戏感知到的directx输出数据成正比,这也正是我们想要的。
 

游戏聚合
9.1
  • 好玩

    41+1
  • 不好玩

    8+1
相关攻略
相关游戏