定义的行为也会越来越多,显示的内容可能会很多,Control Scheme 可以帮我们更好的管理定义的行为,方便切换平台等。 创建 点击左上角菜单 → AddControl Scheme 新建 Add Control Scheme:添加一个方案。 Edit Control Scheme :编辑一个方案。 Duplicate Control Scheme :复制一个方案。 Delete Control Scheme :删除一个...
让我们打开一个InputActionAsset文件,如Packages/com.unity.inputsystem/InputSystem/Plugins/PlayerInput/DefaultInputActions.inputactions。这里会接触几个新名词,如InputActionMap(InputAction的集合)、InputControlScheme(用于筛选InputControl)、InputBinding(用于绑定InputAction和InputControl)等。 ①管理InputControlScheme和...
三.InputActions的参数 1.Scheme scheme主要用来分类控制器的 我们上面一套设置后,可以算键盘的输入。如果我们需要别的输入系统,如手柄的输入。我们则须先把原先设置好的添加为Keyboard Scheme。如下图所示 需要注意的是 我们添加完后 需要运用到该scheme的按键都要勾选use in control scheme。我们的键盘配置就好了。
新版InputSystem对大部分常用的输入设备都定义了详细的控制类,其中具体的控制项则基于InputControl基类派生出的各种处理类,包括但不仅限于AxisControl,ButtonControl,TouchControl等。 如果考虑多个同类型的输入设备,比如多个手柄或者多个键盘,那么应使用InputSystem.devices列表来获取所有可用设备并从中找到自己所需的那个。
在脚本中声明InputAction变量。在Inspector中创建和绑定按键事件,如按键开始、执行和取消。InputActions资产允许以Json格式管理多个InputAction,通过Control Scheme进行分类,并为每个Action设置设备限制。PlayerInput配置:在PlayerInput部分,可以配置游戏的默认输入方案和UI输入模块。处理玩家加入、离开和控制器切换...
首先点击编辑器菜单Window下Package Manager,确认Input System已经安装。这里使用的是老版本的0.2.1,从Unity网站上直接下载即可。 接下来解释如何定义按键。 当使用了Input System之后,在Project工程目录内的某个文件夹内点击鼠标右键,可以看到我们可以创建一个Input System。
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(...
新版InputSystem对大部分常用的输入设备都定义了详细的控制类,其中具体的控制项则基于InputControl基类派生出的各种处理类,包括但不仅限于AxisControl,ButtonControl,TouchControl等。 如果考虑多个同类型的输入设备,比如多个手柄或者多个键盘,那么应使用InputSystem.devices列表来获取所有可用设备并从中找到自己所需的那个。
紧接上一篇Input System的内容,我们来创建控制器。 首先可以先新建这个Schemes【这个是用于分类控制器的,比如使用手柄就只能使用手柄不能和键盘混用】。 右键绿色框的位置,会出现下面这个界面。 输入好名字,然后点击+添加设备(我研究了8个小时,终于找到我的Input system没有响应的原因,就是创建了Scheme但是没有添加...
usingUnityEngine;usingUnityEngine.InputSystem;publicclassTestingInputSystem:MonoBehaviour{privateRigidbodyrigidbody;privatePlayerInputplayerInput;privatevoidAwake(){rigidbody=GetComponent<Rigidbody>();playerInput=GetComponent<PlayerInput>();playerInput.onActionTriggered+=PlayerInput_onActionTriggered;}privatevoidPla...