赞
踩
输入操作是游戏的基础操作之一。
Unity支持的操作方式:
虚拟控制轴将不同的输入设备(比如键盘或摇杆的按键)都归纳到一个统一的虚拟控制系统中。
(比如键盘的w、S键以及手柄摇杆的上下运动默认都统一映射到竖直(Verica)输入轴上)
这样就屏蔽了不同设备之间的差异,让开发者可以用一套非常简单的输入逻辑,同时兼容多种输入设备。
使用 输入管理器(Input Manager) 可以查看、修改或增删虚拟轴。
现代的游戏中往往允许玩家在游戏中自定义按键,所以使用Unity的输入管理器就更为重要要了。
通过一层虚拟轴间接操作,可以避免在代码中直接写死操作按钮,而且还能通过动态修改虚拟轴的设置来改变键位的功能。
关于虚拟输入轴,还有一些需要知道的内容:
脚本可以直接通过虚拟轴的名称读取那个轴的输入状态。
创建Unity工程时,默认创建了以下虚拟轴:
横向输入和纵向输入被映射在键盘的W、A、S、 D键以及方向键上
Fire1、 Fire2、 Fire3这三个按钮映射到了鼠标的左、中、右键以及键盘的Ctrl. AIt等键位上
鼠标移动可以模拟摇杆输入(和鼠标光标在屏幕上的位置无关),且被映射在专门的鼠标偏移轴上
其他常用虚拟轴,例如跳跃(Jump) 、确认(Submit) 和取消(Cancel)
## 2.1 添加和编辑虚拟输入轴
要添加新的虚拟输入轴,只需要单击主菜单的Edit > Projet Setings > Input 选项,单击路街检视窗口中会显示一个输入管理器,在里面就可以修改或添加虚拟轴了。
注意:
虚拟轴具有正、负两个方向。英文记作Positive和Negative.。
某些相反的动作可以只用一个轴来表示。
比如,如果摇杆向上为正,那么向下就是同一个轴的负方向。
每个虚拟轴可以映射两个按键,第二个按键作为备用,功能一样,备用的英文为Alterative。
下表是虚拟输入轴的属性表:
属性 | 功能 |
---|---|
Name | 轴的名字。在脚本中用这个名字来访问这个轴 |
Descriptive Name | 描述性信息,在某些窗口中显示出来以方便查看(正方向) |
Descriptive Negative Name | 描述性信息,在某些窗口中显示出来以方便查看(负方向) |
Ncgative Button | 该轴的负方向,用于绑定某个按键 |
Positive Button | 该轴的正方向,用于绑定某个按键 |
Alt Negative Button | 该轴的负方向,用于绑定某个备用按键 |
Alt Positive Button | 该轴的正方向,用于绑定某个备用按键 |
Gravity | 轴回中的力度 |
Dead | 轴的死区 |
Sensitivity | 敏感度 |
Snap | 保持式按键。比如按住下方向键,则一直保持下的状态,直到再次按上方向键 |
Invert | 如果勾选,则交换正负方向 |
Type | 控制该虚拟轴的类型, 比如手柄、键盘是两种不同的类型 |
Axis | 很多手柄的输入不是按钮式的,这时就不能配置到Button里面,而是要配置到这里。可以理解为实际的操作轴 |
Joy Num | 当有多个控制器时,要填写控制器的编号 |
上表中的Gravity、Dead 等属性需要解释一下。
现代游戏的方向输入和早期游戏的方向输入不太一样。
早期游戏中,上、中、下都是离散的状态,可以直接用1、0、-1来表示。
而现代游戏输入往往具有中间状态,比如0、0.35、 0.5、0.7、1, 是带有多级梯度的。
比如轻推摇杆代表走路,推到底就是跑步。
所以现代游戏的输入默认都是采用多梯度的模式。
虽然键盘没有多级输入的功能,但Unity依然会模拟这个功能,也就是说当你按住W键时,这个轴的值会以很快的速度逐渐从0增加到1。
所以,上表中Gravity和Sensitivity的含义就不难理解了,它们影响着虚拟轴从1到0、从0到1的速度以及敏感度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。