Unity Input的手柄映射
2017-01-16 18:36
176 查看
这段时间在用Unity做用手柄操作的游戏,其中有几个按键有点不解,于是查了一些资料,现在总结出来分享一下
首先这里有张映射图
![](https://img-blog.csdn.net/20170116140418771?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ3NoZW5nMTM1NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
下面是几个例子,比如我要在input里面设置按A键,就新增一个input映射的一项。
Y axis
3rd axis
比如手柄上的A按键就可以这样:
![](https://img-blog.csdn.net/20170116142412705?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ3NoZW5nMTM1NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
主要按键设置为了joystick button 0,当然也可以joystick 1 button 0这种,如果joystick后面跟了数字,就说明值相应几号手柄
LT可以这样设置:
![](https://img-blog.csdn.net/20170116181544567?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ3NoZW5nMTM1NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
附录:可以填入的button对应名:
标准键(Normal keys):
数字键(Number keys):
方向键(Arrow keys):
小键盘键(Keypad keys):
修改键(Modifier keys):
鼠标按钮(Mouse Buttons):
操纵杆按钮(从任意操纵杆)(Joystick Buttons (from any joystick)) :
操纵杆按钮(从指定操纵杆)(Joystick Buttons (from a specific joystick)):
特殊键(Special keys):
功能键(Function keys):
首先这里有张映射图
下面是几个例子,比如我要在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 手柄/键盘映射
- 【unity插件】unity手柄插件Input输入管理插件,兼容各种主流手柄
- Unity手柄按键映射
- Unity下使用暴风魔镜SDK通过头部和手柄控制字体拼凑
- Unity IOC容器通过配置实现类型映射的几种基本使用方法
- Unity调试时oculus中无画面,Touch手柄无效
- Unity Application Block--通过配置文件读取映射
- HoloLens开发手记 - Unity之Keyboard input 键盘输入
- 这篇说的是Unity Input 输入控制器
- Unity Shader学习笔记:凹凸映射
- Unity之路(二):输入事件管理Input
- 在Unity中接入Xbox360手柄
- Unity Mobile Device Input
- Unity Input Touch fingerId
- Unity开发HTC vive 一、手柄按钮
- [Unity 开发]小米蓝牙手柄与UnityJoyStick 按键对应 2017
- Unity下使用暴风魔镜SDK通过头部和手柄控制字体拼凑(二)
- 关于UnityInputField组件在输入时显示为白色
- Unity: ExampleGameInput.cs
- Unity HTC VIVE 手柄 接入(手柄上的按键都有说明)