新的输入系统有三个关键的类:InputActionAsset,InputActionMap,InputAction。 InputAction就是逻辑行为,代表它是跳跃,还是移动还是射击。比如我们上面创建的资产中的Move。这个逻辑行为可以和多个设备进行绑定。 InputActionMap是一组InputAction的集合. InputActionAsset是一组InputActionMap的集合。 观察刚刚生成的InputSys...
那么,我们就可以通过Input.GetAxis("Horizontal "); 来获取游戏手柄默认主摇杆水平X轴的输入。同理,也可以通过Input.GetAxis("Vertical "); 来获取游戏手柄默认主摇杆垂直Y轴的输入。接下来,我们在看看Fire1,Fire2,Fire3,Jump的设置,以Fire1为例说明 在“Positive Button”一项中我们设置的游戏手柄的按键名称为...
创建测试脚本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"键按下,抬起...
ENABLE_INPUT_SYSTEM :检测是否开启新输入系统 ENABLE_LEGACY_INPUT_MANAGER:检测是否开启旧输入系统 设备连接状态 获取设备输入 重要:使用Keyboard.current,Mouse.current,TouchScreen.current等方法获取设备时,最好做一次判空 键盘 获取键盘按键输入 KeyboardcurrentKeyboard=Keyboard.current;//按下if(currentKeyboard.aKey...
一、导入Input System包 二、使用方式1:直接从输入设备对应类中获取输入 三、使用方式2:用代码创建InputAction获取输入 四、使用方式3:用Player Input组件获取输入 五、使用方式4:用Input Action Asset生成C#代码获取输入 一、导入Input System包 打开包管理器,搜索Input System,点击右下角安装。
然后就是写代码的时间!打开代码编辑,这里最重要的就是需要用到 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,表示鼠标移动。此时对应...
Player Input中设置如下。 最后的问题,就是关于绑定到屏幕输入上了。 我们只需要一个UI->Button组件(需要将你的event system替换成input system专用的)。然后给这组件挂上相应的组件。 例如按钮,我们给按钮挂一个On-Screen Button组件,不需要填OnClick中的内容,也不需要再回到Input Setting中绑定按键。点击Control ...