新的输入系统有三个关键的类:InputActionAsset,InputActionMap,InputAction。 InputAction就是逻辑行为,代表它是跳跃,还是移动还是射击。比如我们上面创建的资产中的Move。这个逻辑行为可以和多个设备进行绑定。 InputActionMap是一组InputAction的集合. InputActionAsset是一组InputActionMap的集合。 观察刚刚生成的InputSys...
创建测试脚本TestInputSystem(命名可随意),我们需要使用之前的 TestInputControls ,通过监听 started 和 canceled 实现按键按下抬起操作。具体可参考下述代码 // 输入控制类的实例privateTestInputControls InputControls;voidOnEnable(){ InputControls =newTestInputControls();// 创建输入控制实例InputControls.Player.Fire...
安装完毕后我们来对比一下,新老版本的使用差别,下面提供一个官方的文档连接,如果有需要可以查看https://docs.unity3d.com/Packages/com.unity.inputsystem@1.1/manual/Migration.html#unityengineinputanykeydownhttpsdocsunity3dcomscriptreferenceinput-anykeydownhtml 新旧版的键盘按键监听对比: 以监听"A"键按下,抬起...
通过Window->Analysis->Input Debugger来打开Input Debugger窗口;通过PlayerInput组件下方的按钮也可以打开 双击Devices即可打开查看输入设备的信息的窗口 此时按下按钮,即可在Events窗口中查看按键信息
以上三个方法主要用于键盘按键的获取。接下来,我们就使用代码来演示。我们创建一个新的“InputManagerDemo”工程,然后在默认的场景中创建“InputScript.cs”脚本文件,如下 using System.Collections; using System.Collections.Generic; using UnityEngine; public class InputScript : MonoBehaviour ...
本文将在InputSystem中获取键盘鼠标的新API做一个简单总结整理。 键盘相关 键盘事件监听 voidUpdate() { if(Keyboard.current.spaceKey.wasPressedThisFrame) { Debug.Log("空格键按下"); } if(Keyboard.current.aKey.wasReleasedThisFrame) { Debug.Log("A键抬起"); ...
然后就是写代码的时间!打开代码编辑,这里最重要的就是需要用到 OnMove()也就是刚刚我们添加输入后产生的新的函数。不要忘记使用这个函数需要添加 UnityEngine.InputSystem 的命名空间。之后就可以通过 OnMove()获取移动对应按键的值。 在能够获取这个值后就可以正式开始写移动功能了。
然后就是写代码的时间!打开代码编辑,这里最重要的就是需要用到 OnMove()也就是刚刚我们添加输入后产生的新的函数。不要忘记使用这个函数需要添加 UnityEngine.InputSystem 的命名空间。之后就可以通过 OnMove()获取移动对应按键的值。 在能够获取这个值后就可以正式开始写移动功能了。
//获取扳机键是否被按下 bool triggerValue; privatevoidUpdate() {if(InputDevices.GetDeviceAtXRNode(XRNode.RightHand).TryGetFeatureValue(UnityEngine.XR.CommonUsages.secondaryButton,outtriggerValue) &&triggerValue) { RightBYButtonDown(); } }
首先Window->Package Manager,搜索Input System安装。 2. Edit->Project Settings->Player->Other Settings->Active Input Handling,改成new或者both。 3. Unity的Project中右键->Create->Input Actions。 4. Action Maps取名,如Player。Actions右边小“+”添加New action,取名如:Action_Move,表示鼠标移动。此时对应...