新建Input Actions 给其命名(名称无所谓),笔者命名为 Test Input Controls 完成后,选中该文件勾选Generate C# Class 点击 Apply后 Unity 会为我们生成一个 Action 的包装类,方便后续在代码中引用。 Action Map 可以理解为一个组织和管理输入动作的一种方式。通过将相关的输入动作放在同一个Action Map中,可以更好地...
usingUnityEngine;usingUnityEngine.InputSystem;publicclassTestingInputSystem:MonoBehaviour{privateRigidbodyrigidbody;privatevoidAwake(){rigidbody=GetComponent<Rigidbody>();}publicvoidJump(InputAction.CallbackContextcontext){if(context.performed){Debug.Log("Jump!"+context.phase);rigidbody.AddForce(Vector3.up...
InputActionMap是一组InputAction的集合. InputActionAsset是一组InputActionMap的集合。观察刚刚生成的InputSystemAsset.cs 可以看到有InputActionAsset类型的成员变量,并且在构造函数中使用了FromJson函数生成这个asset。构造结束后,从这个asset中找到Player这个ActionMap以及其中的Move这个action.private...
Action Maps:多个Action的组合 Actions:Action Maps中包含的Action,每一个就相当于之前在脚本中定义的InputAction变量 Action Properties:对每一个Action进行设定,同上面的设置面板 左上角的Control Scheme,主要用于InputAction较多时进行分类 Scheme Name可以设置每一类别的名称,下方列表可以添加相应的设备,设置好设备后,...
InputAction Assets,输入行为资产,可以理解成自定义的输入行为(动作)的集合。一个输入动作可以由一种或者多种输入信号组成。比如“前进”这个动作,可以被“W”键触发,也可以被“↑”方向键触发,甚至可以被手柄的“↑”键触发。 Action Map:行为映射表,一个Input Actions可以有多个Map。每个Map下面又有许多Action,可...
当使用了Input System之后,在Project工程目录内的某个文件夹内点击鼠标右键,可以看到我们可以创建一个Input System。 而后输入一个名字,我们的一个输入系统就创建好了。 这里需要解释一下,一个游戏可以有多个输入系统。每一个输入系统只是定义了ActionMap和按键的映射,和游戏本身逻辑无关,所以许多时候,如果游戏存在多个...
如果想要创建跳跃,射击之类的动作,可以双击创建创建的Input Actions或者选中此文件单击Edit asset 进入配置界面 点击加号分别创建Action Map,Action并绑定按键 如上图所示,Behavior有很多种模式,这里使用的Send Messages,使用此模式会调用下方所示信息中的方法。
步骤一:在Package Manager安装Input System 步骤二:右键Create/InputActions,新建一个输入控制器(例如命名为ActionContr...
当使用了Input System之后,在Project工程目录内的某个文件夹内点击鼠标右键,可以看到我们可以创建一个Input System。 而后输入一个名字,我们的一个输入系统就创建好了。 这里需要解释一下,一个游戏可以有多个输入系统。每一个输入系统只是定义了ActionMap和按键的映射,和游戏本身逻辑无关,所以许多时候,如果游戏存在多个...
接下来创建Action Maps,点击 + 号,创建一个Map,将其重命名为PlayerInput【名字无所谓,此处的PlayerInput用于表示在游戏中的控制】,先点击Save Asset进行保存。 然后点击Actions里面的+,新建一个Action,然后重命名为Jump。 Properties中的内容先不用动,目前用于按键的响应足够了。