首先在InputAction的资源文件Inspector窗口中,勾选Generate C# Event选项,下面可配置生成的文件路径、类名、命名空间,这里取默认值,点击Apply,Unity编辑器会为我们对这个InputAction资源生成一份代码文件。 随后在脚本中使用生成的代码文件进行事件处理: public class TestController : MonoBehaviour { // 编辑器为自动生成...
首先InputSystem将Action的配置都放入一个类型为InputActions的文件,同时将配置进行可视化,这样依赖所有的修改都基于可视化窗口对配置文件进行修改,极大得提高我们的开发效率。 创建一个InputActions文件 Project窗口中右键菜单栏中点击InputActions。 打开InputActions窗口 双击打开我们InputActions文件,可看到如下图的界面 Input...
1.PlayerInput组件实现交互 Invoke Unity Events实现 Invoke C Sharp Events实现 2.C#脚本实现交互 CallbackContext 3.切换ActionMap 4.触摸屏交互 新的inputsystem较于老的inputsystem兼容性更强,也让我们不用再去关注输入的条件判断。所以还是值得学习一下。 一.InputSystem的安装 点击Window-PackageManager 里搜Inpu...
InputActionMap是一组InputAction的集合. InputActionAsset是一组InputActionMap的集合。 观察刚刚生成的InputSystemAsset.cs 可以看到有InputActionAsset类型的成员变量,并且在构造函数中使用了FromJson函数生成这个asset。构造结束后,从这个asset中找到Player这个ActionMap以及其中的Move这个action. private readonly InputActio...
PlayerInput组件 该组件是新版InputSystem中包含的玩家输入组件,它需要和ActionAsset资源配合使用,挂载到操作对象上之后,将ActionAsset设置到Actions项上并为它选择默认的ActionMap即可将两者连接。 随后注意到Behavior选项,其下有四个选项,分别是SendMessage,BroadcastMessage,InvokeUnityEvent和InvokeCSharpEvent。
完成上述操作后点击Save Asset保存当前映射表,这样做可以绑定多个物理输入得到的输入值也只会影响同引用的 Action 对象。 通过代码监听映射表中的按键 创建测试脚本TestInputSystem(命名可随意),我们需要使用之前的 TestInputControls ,通过监听 started 和 canceled 实现按键按下抬起操作。具体可参考下述代码 ...
Action Type为Value,Control Type为Vector 2 删除下方绑定 右键该Action 创建一个上下左右的组合 绑定对应的按键 创建如下脚本: using UnityEngine.InputSystem; using UnityEngine; public class PlayerController : MonoBehaviour { void OnMove(InputValue value) ...
InputAction Assets,输入行为资产,可以理解成自定义的输入行为(动作)的集合。一个输入动作可以由一种或者多种输入信号组成。比如“前进”这个动作,可以被“W”键触发,也可以被“↑”方向键触发,甚至可以被手柄的“↑”键触发。 Action Map:行为映射表,一个Input Actions可以有多个Map。每个Map下面又有许多Action,可...
重新启动编辑器之后,打开 project setting 找到 Input System,创建一个设置文件,在支持设备里添加手柄和键盘。 【创建输入配置】 对于InputSystem,Unity 使用了名叫 Input Action 的配置文件来记录键位的信息。所以我们需要在空白的位置,右键创键一个新的 Input action 后双击编辑。
重新启动编辑器之后,打开 project setting 找到 Input System,创建一个设置文件,在支持设备里添加手柄和键盘。 【创建输入配置】 对于InputSystem,Unity 使用了名叫 Input Action 的配置文件来记录键位的信息。所以我们需要在空白的位置,右键创键一个新的 Input action 后双击编辑。