您的位置:首页 > 移动开发 > Unity3D

Unity Input的手柄映射

2017-01-16 18:36 176 查看
这段时间在用Unity做用手柄操作的游戏,其中有几个按键有点不解,于是查了一些资料,现在总结出来分享一下

首先这里有张映射图



下面是几个例子,比如我要在input里面设置按A键,就新增一个input映射的一项。

Name

就是与Input.GetAxis( "Name" )这个函数里面的Name相对应的名字。GetAxis出来的值一般在[-1,1]的范围内。并且Name可以重复,重复的话Input会同时监听所有名字相同的按键。比如如果要设置3个按键让人物向左移动,写两个重复的Name以获取最多4个按键或者轴的监听。


Negative Button

这里填正方向的输入键的名称,比如a(下面会列一份表,来表明哪些键可以填入)


Positive Button

这里填正方向的输入键的名称,比如d


Alt Negative Button和Alt Positive Button

这里和上面两个设置是一样的效果,是第二按键


Gravity

没有按键的时候,按过的键的衰减速度


Dead

死亡区域,比如丢了按键,值要从1衰减到0,那么这个死区就是把哪个范围的值视为0


Type

Key or Mouse Button:就是使用按键来引发
Mouse Movement:使用光标移动来引发,这个返回的是鼠标的增量,注意:当用户快速移动鼠标时,它可能大于1或小于-1。
Joystick Axis:用轴的偏移来引发


Axis(轴)

X axis

就是用X的变化来区分,其实就是图上的的左上角的那个轴的横向移动


Y axis

就是用Y的变化来区分,就是左上角的那个轴的竖向移动


3rd axis

这个就要好好说一下了,3rd其实是LT和RT这个轴,他们两个是一体的,如果获取了这个轴的值,是>0的话则说明LT被按了,如果<0的话则说明RT被按了。而我用的5.5.0F3这个版本,出现了一个问题,就是如果什么按键都不按的话没有3rd轴的值是对的,但是按任意一个键之后,这个值就变成了0.01几了,而我这时候没有按任何LT或者RT,所以为了解决这个问题,我就把死区(Dead)调成了0.02。让LT和RT在不按键的情况下保持为0。


Joy Num

这个就是指从哪个手柄获取反应,如果选择Get Motion From all Joysticks就是从所有的手柄获取反应


比如手柄上的A按键就可以这样:



主要按键设置为了joystick button 0,当然也可以joystick 1 button 0这种,如果joystick后面跟了数字,就说明值相应几号手柄

LT可以这样设置:



附录:可以填入的button对应名:

标准键(Normal keys):

"a", "b", "c" ...


数字键(Number keys):

"1", "2", "3", ...


方向键(Arrow keys):

"up", "down", "left", "right"


小键盘键(Keypad keys):

"[1]", "[2]", "[3]", "[+]", "[equals]"


修改键(Modifier keys):

"right shift", "left shift", "right ctrl", "left ctrl", "right alt", "left alt", "right cmd", "left cmd"


鼠标按钮(Mouse Buttons):

"mouse 0", "mouse 1", "mouse 2", ...


操纵杆按钮(从任意操纵杆)(Joystick Buttons (from any joystick)) :

"joystick button 0", "joystick button 1", "joystick button 2", ...


操纵杆按钮(从指定操纵杆)(Joystick Buttons (from a specific joystick)):

"joystick 1 button 0","joystick 1 button 1","joystick 2 button 0","joystick 2 button 1" ...


特殊键(Special keys):

"backspace", "tab", "return", "escape", "space", "delete", "enter", "insert", "home", "end", "page up", "page down"


功能键(Function keys):

"f1", "f2", "f3", ...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity Input 手柄