一.前言

最近Unity版本全面升级到Unity2021了,着色器也全面使用URP,接下来毫无疑问,输入系统也要全面升级InputSystem,这也是Unity官方希望我们做的,毕竟现在都2023年了,我们的技术是需要跟上时代的步伐。

二.新老版本区别

老版本的InputSysten系统,其实就一个Input静态类,官方给我们预定了一些常用的输入,供我们是使用,一般情况下是够用的,但是无法快速满足我们的很多个性化需求,比如多设备输入,切换输入,自定义输入,自定义输入返回值等,要么无法实现,要么需要较复杂的方式实现。

新版本的输入方式,是一种完全自定义输入方式的系统。而且我们定义的不是按键,而是一种动作行为,使用时我们只需要和对应的动作行为进行监听即可,而不用关心行为对应的按键,这样一来,我们就可以随时更换设备,更换输入方式了。

了解虚幻引擎的朋友应该知道,虚幻引擎就是自定义InputSystem的。自定义InputSystem的有点比较明显,比较容易扩展和模块化。

好了,废话不多说,现在就让我们来全面学习一下新版本的InputSystem

三.新版本特点

动作和输入控件分离

刚才我们讲到Actions把输入的逻辑含义和设备的Controls控件分离,这有什么意义呢?

如果没有 Actions,我们的输入和设备控件的含义最终会硬编码在脚本中,虽然可以快速实现,但无法兼容不同设备的不同输入方式,在这个设备多变的时代,显得非常