这是Input System 系列的第二个视频,我们将深入探讨如何使用 Input System 编写脚本来控制第三人称角色。您将学习如何编写代码来使用输入系统资源移动和跳跃第三人称角色,并支持游戏手柄以及鼠标和键盘输入。我们还将添加一个简单的暂停菜单,以演示如何动态切换 Action
InputAction Assets,输入行为资产,可以理解成自定义的输入行为(动作)的集合。一个输入动作可以由一种或者多种输入信号组成。比如“前进”这个动作,可以被“W”键触发,也可以被“↑”方向键触发,甚至可以被手柄的“↑”键触发。 Action Map:行为映射表,一个Input Actions可以有多个Map。每个Map下面又有许多Action,可...
当使用了Input System之后,在Project工程目录内的某个文件夹内点击鼠标右键,可以看到我们可以创建一个Input System。 而后输入一个名字,我们的一个输入系统就创建好了。 这里需要解释一下,一个游戏可以有多个输入系统。每一个输入系统只是定义了ActionMap和按键的映射,和游戏本身逻辑无关,所以许多时候,如果游戏存在多个...
当使用了Input System之后,在Project工程目录内的某个文件夹内点击鼠标右键,可以看到我们可以创建一个Input System。 而后输入一个名字,我们的一个输入系统就创建好了。 这里需要解释一下,一个游戏可以有多个输入系统。每一个输入系统只是定义了ActionMap和按键的映射,和游戏本身逻辑无关,所以许多时候,如果游戏存在多个...
InputActions资产 在Project任意位置右键菜单创建InputActions资产,里面可以设置多个InputAction InputActions文件是一个Json格式的文件 双击打开创建的资产,会弹出一个窗口,有三个区域 Action Maps:多个Action的组合 Actions:Action Maps中包含的Action,每一个就相当于之前在脚本中定义的InputAction变量 ...
wasPressedThisFrame) { //开启名称为UI的ActionMap playerInput.SwitchCurrentActionMap("UI"); } } public void Jump(InputAction.CallbackContext context) { Debug.Log(context); if(context.performed) { Debug.Log("Jump!" + context.phase); rigidbody.AddForce(Vector3.up, ForceMode.Impulse); } }...
PlayerInput组件 该组件是新版InputSystem中包含的玩家输入组件,它需要和ActionAsset资源配合使用,挂载到操作对象上之后,将ActionAsset设置到Actions项上并为它选择默认的ActionMap即可将两者连接。 随后注意到Behavior选项,其下有四个选项,分别是SendMessage,BroadcastMessage,InvokeUnityEvent和InvokeCSharpEvent。
对于InputSystem,Unity 使用了名叫 Input Action 的配置文件来记录键位的信息。所以我们需要在空白的位置,右键创键一个新的 Input action 后双击编辑。 打开后,新建一个 Action Map,然后我们需要在 Actions 里添加上需要响应的动作,并绑定上想要的键位。
PlayerInput组件 该组件是新版InputSystem中包含的玩家输入组件,它需要和ActionAsset资源配合使用,挂载到操作对象上之后,将ActionAsset设置到Actions项上并为它选择默认的ActionMap即可将两者连接。 随后注意到Behavior选项,其下有四个选项,分别是SendMessage,BroadcastMessage,InvokeUnityEvent和InvokeCSharpEvent。
voidInputTest(){GameInput inputAction=newGameInput();//GameInput为场景中的InputSystem控制器inputAction.Enable();inputAction.Gameplay.MouseDown.performed+=ctx=>{Debug.Log("按下:"+UnityEngine.InputSystem.Mouse.current.position.ReadValue());};inputAction.Gameplay.MouseDrag.performed+=ctx=>{Debug.Log(...