前言
官方文档:Class InputAction | Input System | 1.0.2
InputAction是Unity Input System(输入系统)的一部分,用于处理用户的输入操作,如键盘按键、鼠标移动、游戏手柄按钮等。与传统的输入处理相比,新的输入系统提供了更多的灵活性、可扩展性和更好的跨平台支持。
InputAction是InputSystem帮助我们封装的输入动作类。它的主要作用,是不需要我们通过写代码的形式来处理输入,而是直接在Inspector窗口编辑想要处理的输入类型。当输入触发时,我们只需要把精力花在输入触发后的逻辑处理上。
我们在想要用于处理输入动作的类中 ,引用命名空间UnityEngine.InputSystem,申明对应的InputAction类型的成员变量。
声明InputAction类型的变量将脚本挂载到物体上就能在检查上对它进行编辑。
using UnityEngine;
using UnityEngine.InputSystem;
public class InputActionTest : MonoBehaviour
{
public InputAction move;
public InputAction fire;
}
齿轮图标
输入动作设置,设置检测哪些输入
Action Type
Value:值类型,主要用于状态连续更改的输入,例如鼠标的移动,手柄的摇杆。如果有多个设备绑定这个Action只会发送其中一个设备(最受控制的)的输入。
Button:按钮类型。用于每次按下时触发的Action。
Pass Through:直通类型,和Value一样,区别在于如果有多个设备定这个Action,会发送所有设备的输入。
Control Type
控制类型在这里选择对应的类型,之后在选择对应设备按键相关属性时会根据你选择内容的不同,筛选对应内容这上面显示的内容就是各设备属性的返回值类型,当你选择它们后,非选择的类型将不会在之后的按键设置中出现。很多内容我们基本用不到。相当于是在这里筛选输入设备。
Any:任何值
Analog:模拟值,浮点数
Axis:一维轴浮点数,例如:摇杆返回类型
Bone:骨骼
Digital:数字
Double:浮点
Dpad:4向按钮,例如:摇杆上的D-pad
Eyes:VR相关数值
Integer:整数
Quatemion:四元数
Stick:摇杆相关
Touch:触屏相关
Vector2:2维向量
Vector3:3维向量