InputAction:玩家的每一个输入都可以理解为是一个 InputAction(输入动作)。 InputActionMap:就是管理一些 InputAction 的一个集合(例如前后左右输入动作)。 InputController:就是管理具体硬件设备的输入(可以设置不同设备的按键)。 InputBinding:用于绑定 InputAction 和InputController(设备按键和输入动作关联)。 接下来...
重新启动编辑器之后,打开 project setting 找到 Input System,创建一个设置文件,在支持设备里添加手柄和键盘。 【创建输入配置】 对于InputSystem,Unity 使用了名叫 Input Action 的配置文件来记录键位的信息。所以我们需要在空白的位置,右键创键一个新的 Input action 后双击编辑。 打开后,新建一个 Action Map,然后...
这个中的input.onActionTriggered 事件中包含所有的自定义按键回调,这里我写了一个Move的Vector2,四个按键WSAD,无论按下那个按键,这个事件都会被触发,所以,这个时候就需要进行一次判断处理。 代码,其实内部判断还是主要来源于,CallBackContext这个类中的属性 打印 完成....
继续上文的 Player Input 组件,绑定文件后,将 Behavior 切换成 Invoke Unity Event(这也是Sample推荐的),就可以像UI的按钮之类的绑定事件函数了。要注意的是,绑定的函数需要是InputAction.CallbackContext 这一形参,它的主要作用是获得InputAction的一些回调(比如是否是按住、在输入的哪个阶段)。 除了自己添加的绑定外...
Project面板中右键Create > Input Actions,就会生成一个inputactions文件,取名为GameControls 然后在对应的Inspector面板中勾选自动生成脚本 可以看到同级目录下生成了GameControls.cs脚本 InputActions设置 接下来双击 GameControls.inputactions 配置文件 在打开的界面中,我们创建一个ActionMaps,取名为Player ...
新输入系统主要有两种方式,一种是全局的InputActions直接用new获取 UIInputActions=newPlayerInputActions();UIInputActions.Enable();inputActions.Player.Attack.performed+=OnAttack; 另一种是在组件上挂载PlayerInpput,好处是可以区分不同玩家,精细的禁用单个行为,能自动处理设备断开连接,做本地多人的话也是刚需 ...
Project面板中右键Create > Input Actions,就会生成一个inputactions文件,取名为GameControls 然后在对应的Inspector面板中勾选自动生成脚本 可以看到同级目录下生成了GameControls.cs脚本 InputActions设置 接下来双击 GameControls.inputactions 配置文件 在打开的界面中,我们创建一个ActionMaps,取名为Player ...
创建一个canvas,把生成的EventSystem里的Standard Input Module替换成新的,然后指定给之前创建的PlayerInput组件的UIInputModule属性 其次,所有在NewInputSystem.inputactions这个资源配置里创建的Actions,如果对应绑定的操作触发了,就会有回调,回调函数名就是Action名前加个On,比如触发了Click这个Action,回调方法就是OnClick...
接下来就是设置Player Input组件的回调了,我们在代码中需要给InputAction.CallbackContext变量的输入,这个会将摇杆的输入作为参数传入到函数中,然后通过ReadValue来读取指定的类型。 Player Input中设置如下。 最后的问题,就是关于绑定到屏幕输入上了。 我们只需要一个UI->Button组件(需要将你的event system替换成input ...
需要注意的是,安装好InputSystem之后会有提示询问是否切换到新版输入管理系统,切换后Input Setting面板将失效,游戏中也无法使用Input类获取输入。 此外还有一点,默认的UI事件监听组件StandaloneInputModule无法处理InputSystem的输入,选中EvenSystem之后可以在Inspector中将其替换为InputSystemUIInputModule组件。