1,InputAction
inputAction 是inputSystem辅佐我们封装的输入动作类,
它的主要感化,是不需要我们通过书写代码的形式来措置输入,
而是直接再inspector窗口编纂想要措置的输入类型。
当输入触发时,我们只需要将精力花在输入触发后的逻辑措置上。
在使用InputAction前,需要导入定名空间using UnityEngine.InputSystem;
书写
脚本挂载样子
inputAction编纂相关
面板一
Actions
输入动作相关 Action Type 动作类型
1,Value :值类型,主要用于状态持续更改的输入,例如鼠标的移动,手柄的摇杆,如果有多个设备绑定这个Action,只会发送此中一个设备的输入。
2,Button:按钮类型,用于每次按下时触发的Action
3,Pass Through:直通类型,和Value一样,区别在于,如果有多个设备绑定这个Action会发送所有设备的输入
Control Type
在Actions这里选择对应的类型,之后再通过这个选择可以筛选对应相关的返回值类型。
是与+号这里返回设备相关的。建议本身试一下,因为这里我不太清楚如何表达才准确了。
选择类型:
Any:任何值
Analog:模拟值,浮点数
Axis:一维轴浮点数值,例如UNity老版的getAxis,
Bone:骨骼
Digital:数字
Double :浮点
Dpad:四向按钮 ,
Eyes:VR上相关数值
Integer:整数
Quaternion:四元数
Stick :摇杆相关
Touch:触屏相关
Vector2: 二维向量 例如鼠标移动向量
Vector3:三维向量
Interactions
彼此感化设置
用于特殊输入,比如长按,多次点击等,
当满足条件时才会触发这个行为(设置长按时间,点击次数等)
Interactions 中拥有三个事件 ,可以通过代码来添加对应的监听。
Started 开始
Performed 长按
Canceled 结束
选项感化
Hold:适用于需要设备保持一段时间的操作,也就是长按,old
Tap:需要在一小段时间内松开来触发,也就是点击 Click
SlowTap:迟缓点击,和Hold很像,但是它并不是抵达等待时间时触发,而是等待抬起时触发。
MultiTap:这个用作与多次点击,例如双击or更多。
Press 可以实现类似于按钮的操作。
PressOnly 按下时触发 Started和preformed 不惩罚canceled
ReleaseONly 按下时触发Started,松开时触发preformed
Press And Release 按下时会触发Started 和 preformed 松开时会再次触发started 和 preformed
Press Point :在inputSystem 中每个按钮都有对应的浮点值,例如普通的按钮会在0(未按下)和1(按下)之间
,因此,我们可以操作这个值,来进行区分,当大于这个值,则认为按钮按下了。
Processors 对得到的值进行操作。
Clamp 经典的钳制函数, 用来将输入值限定在必然范围内
invert :反转控件中的值,
Invert Vector2 反转控件中的值,即,将值*-1,
如果轴向暗示为true 则反转,
Invert Vector3 反转控件中的值,同上。
Normalize 如果最小值>=0,则将指定范围内的输入值规格化为无符号规格化形式【0..1】,如果最小值<0,则将输入值规格化为有符号规格化形式[-1..1]
Normalize Vector2 将输入向量归一化
Normalize Vector3 将输入向量归一化
Scale 将所有输入值乘以一个系数
Scale Vector2 将所有输入值X一个系数 但是是Vector2版本
Scale Vector2 将所有输入值X一个系数 但是是Vector3版本
Axis Deadzone //死区设置 添加一个误触区域,也就是将一个较小范围的值设定为0,且将接近最大值的范围值都设定为最大。
Stick Deadzone //摇杆死区设置
+号点击
AddBinding :添加新的输入绑定(单按键输入)
AddPositive\NegativeBinding or Add1D Axis Composite
添加1D轴组合,类似于原版input常用的Axis的横轴和竖轴
Add Up\Down\Left\Right Composite
or
Add 2D Vector Composite
添加2D向量组合,类似于原版横轴和竖轴组合在一起。
Add Up\Down\Left\Right\Forward\Backward Composite
添加3D向量组合
Add Button With One Modifier Composite
添加带有一个复合改削器的按钮(可以理解为双组合键, 比如Ctrl+C、Ctrl+V)
Add Button With Two Modifier Composite
添加带有两个复合改削器的按钮(可以理解为三组合键,比如Ctrl + Alt + z)
Path
Path:从哪个控件接受输入
Usages:常用用法
GamePad:游戏手柄
Joystick:独霸杆
Keyboard:键盘
Mouse:鼠标
Pen:笔
Pointer:指针
Sensor:传感器
TouchScreen:触屏
Tracked Device:履带装置
XR Controller:XR 控制器
XR HMD:XR 头戴显示器
Other:其它
InputAction使用
对应了内部的数种状态,可以直接点开看,是个枚举类。
Disabled,没有启用
Waiting,等待
Started,开始
Performed,触发
Canceled结束
这个参数内部还有很多值可供获取。
<hr/>实际使用---点击Button
面板
代码
输出
实际使用--1D轴向
面板
代码
打印成果
实际使用--2D轴向
面板
代码
打印
实际使用--3D轴向
面板
代碼
打印
实际使用--组合按键——这个2组合键和三组合是一样的。
面板
代码
打印 |