速度的需要8-方向盘设置简介
方向盘是专门为赛车游戏设计的特殊游戏手柄。
简单解释一下方向盘的原理,首先需要解释一个概念:控制器的“轴”:玩家可以在一定范围内平滑操作控制器,满足模拟控制的需要,控制器可以量化玩家运动的位置信息,然后独立输出一组控制数据,称为“轴”。
一个方向盘大约有1-4个控制轴,通常分别称为X、Y、Z、S轴。再细分时,每个轴又可分为“负半轴”和“正半轴”,分别用“X/RX”或“-X/+X”这样的表示法来表示。
单轴方向盘:只有一个控制轴,通常用于方向控制,如“_X”表示“向左”;“+X”表示“方向正确”等。,而油门、刹车等其他控制还是通过按键来实现。这种方向盘通常属于“入门级”产品。
2轴方向盘:通常X轴用于方向控制,另一轴用于油门和刹车,即,“-Y”作为油门,“+Y”作为刹车;这种方向盘的油门和刹车也是类比控制的,但是因为油门和刹车使用同一根轴,所以油门和刹车不能同时工作。
3轴方向盘:方向、油门、刹车使用独立的轴,从而实现了分轴控制,也就是说刹车和油门可以同时工作。
4轴方向盘:3轴方向盘增加了一个轴,用于离合器控制。这种方向盘通常属于“发烧级”。
实际玩游戏时,控制器是这样工作的:玩家操作控制器的某个“轴”,控制器内部的处理芯片将玩家操作的轴的位置信息量化后输出到计算机的direction put,计算机将接收到的轴位置信息线性放大到0-65535的范围内,游戏主程序直接从direction put获取玩家的操作信息,实现游戏的操作。
在上述过程中,玩家对某个轴的操作可能是无限的,但控制器内部的处理芯片对轴位置信息进行量化后,就不可能是无限的了。每一个轴都会用一定的数值范围来表示对应的轴位置信息,然后处理芯片会把这个范围分成若干段(通常是等份)来表示实际的轴位置信息。“量化某轴位置信息的级数”是指在控制器的输出端,某轴可以分成多少个跃迁,也就是控制器给定轴的精度。控制器各轴的精度是控制器的内在品质,也是衡量控制器性能的重要指标之一。
注意,量化范围不一定是实际精度。比如微软PrecisionWheel的方向盘的X轴(方向轴)的量化范围是-512←→+512,但是当它旋转方向轴时,数值并不是每次都以1为单位跳跃,而是每次5或6。所以,实际上它在-512←→+512的量化范围内只有100+100(左右)个跃迁,也就是说它的方向轴的实际精度大约是100+100。而不是512+512,其油门和刹车轴的量化范围分别为0←→63,并以1为单位跳跃,所以其油门和刹车轴的实际精度分别为64级。
在实际的游戏控制中,我们可能需要对控制器有一些特殊的设置,比如控制器中心位置的标定,死区的设置,某些情况下控制器的非线性设置。我们来谈谈这些:
方向盘设置
方向盘的安装
方向的物理安装和与计算机的电气连接被省略,请参考相关的产品手册。
这里只谈方向盘驱动的安装。目前大部分方向盘都是通过USB接口与电脑连接的。当方向盘正确连接后,Windows将找到一个新设备并自动安装。Windows目前可以为大部分带USB接口的方向盘提供基本的支持,也就是说,大部分方向盘即使没有安装方向盘的驱动程序也可以实现基本的功能,但是如果没有安装驱动程序,方向盘的一些特殊功能可能无法正常工作,比如一些振动方向盘的振动功能,力反馈功能,以及微软方向盘等其他关键编程功能。正是因为Windows会自动识别方向盘,立即安装驱动程序。如果此时安装了方向盘自带的驱动程序,可能会发生一些意外,比如“微软自带的方向盘与自己的操作系统不兼容”的问题。如果你遇到了类似的方向盘安装了自己的驱动后无法正常工作的问题,那么你可以尝试以下方法:
对于带USB接口的方向盘,那么把方向盘连接到电脑的USB插头上“热拔”,再插回去看看问题是否解决。
如果无效,那么先卸载方向自带的驱动;然后打开设备管理器,刷新(扫描硬件变化),找到你的方向盘设备,卸载它。此时不要刷新,否则Windows会立即重新找到方向盘并自动安装。此时重新安装方向盘自带的驱动,然后打开“设备管理器”和“扫描硬件更新”找到你的方向盘再试。可能这个时候方向盘就正常工作了。其实这种方法的精髓就是:“先给驾驶员装上方向盘,再接方向盘”。如果先连接方向盘再安装驱动有问题,不妨试试这个方法。
在没有方向盘驱动的情况下,Windows自动识别的方向盘通常在控制面板/游戏控制器中进行校准,但是安装驱动后,Windows中的这种校准功能就消失了,很多方向盘的驱动都不提供手动校准功能。此时,如果需要手动校准方向盘,可能需要使用其他工具(后面会介绍)。如果你的控制器可以被Windows自动识别,可以使用方向盘的基本功能,而你又不想使用方向盘驱动带来的“额外功能”(比如微软的按键编程功能),那么我推荐你直接使用,不需要安装方向盘带的驱动。
方向盘的校准
1.校准原理
如前所述,“DirectInput将接收到的轴位置信息线性放大到0-65535的范围”。方向盘输出的轴位置信息在发送到方向输入之前必须通过校准程序进行校准。没有经过任何校准的控制器不能工作。校准程序实际上是告诉DirectInput控制器发送的轴位置数据,哪里是最小值(min),哪里是最大值(max),哪里是中点(Cen),DirectInput不调查为什么Min、Cen和Max是这些指定值,而只是线性放大Min←→Cen到0←→32768之间的数据,线性放大Cen←→Max之间的数据。任何低于最小值的数据都被视为最小值,任何高于最大值的数据都被视为最大值。这样,我们就可以通过指定不同的Min、Cen和Max值来合理地使用控制器的冲程。一个总的原则是:减少控制的有效行程,使控制器更加灵敏;并且延伸控制器的最大行程以获得最高的控制精度。
如下图所示,方向盘输出端的量化数据范围为-512←→+512。当通过校准指定不同的Min、Cen和Max值时,每个图中的上箭头表示游戏中的虚拟方向盘,下箭头表示游戏控制器的方向盘的物理行程。
左上(校准冲程=物理冲程):Min=-512,Cen=0,Max=512。此时方向盘操作与游戏中的虚拟方向盘是一一对应的。即使控制器方向盘完全精确,也可以实现最大的控制范围。这是最常用的校准方法。
右上(校准冲程的物理冲程):Min=-256,Cen=0,Max=256。这种校准方式只利用了游戏手柄方向盘物理行程的一部分(例如图中的1/2),可以让方向盘更“灵敏”的操作。也就是说,当控制器的方向盘转到一半行程时,游戏中的虚拟方向盘已经转到极限位置了。它通常用于需要非常灵活控制的场合。注意,这种标定方法只使用了控制器方向盘的一部分,方向盘未使用部分输出的数据全部作为最小值或最大值处理。此时,控制器的实际操作分辨率将取决于方向盘唯一使用部分的实际分辨率。所以,其实是牺牲了控制器的一部分精度!向下(校准笔划物理笔划):这是一种特殊的校准方法。通过手动指定最小值、最大值和最大值,它大于控制器可以输出的值。此时控制器方向盘的总行程只对应游戏中虚拟方向盘的一部分行程。因为控制器无法输出超出其量化范围的数据,所以游戏中的虚拟方向盘永远达不到极限位置。这种标定方法的概念是“通过集中所有可以输出的控制精度来控制游戏中虚拟方向盘的一部分行程”,即,“。