。

Unity Input.GetAxis()


Input.GetAxis()

public static float Input.GetAxis(string axisName) 将返回由axisName标识的虚拟轴的值。对于键盘和游戏杆输入设备,该值将处于-1...1的范围内。

该值的含义取决于输入控制的类型,例如,对于游戏杆的水平轴,值为 1 表示游戏杆向右推到底,值为 -1 表示游戏杆向左推到底;值为 0 表示游戏杆处于中性位置。


如果想设置或检查axisName的选项,可以在Edit>Project> Settings>Input Manager中查看。

当打开Input Manager查看时,可以展开Axes,并选中某个按键名称,展开后能看到以下属性。

mbyd7XeA6CdW.png

详细的参数说明可以看这里:Input Manager-Unity手册

我在本文只提及两个参数,Sensitivity和Gravity。

Sensitivity是灵敏度,表示轴 向目标值移动的速度。例如如果Horizontal轴的灵敏度是3,表示按下右方向键时,数值从0平滑过渡到1需要1/3s的时间。

Gravity是重力,表示不存在输入时,轴 下降到中性点(即0)的速度。例如如果Horizontal轴的重力是3,表示松开右方向键后,数值从1平滑过渡到0需要1/3s的时间。

应该不难发现,这两者的数值越大,平滑过渡的时间就越短。