Unity报错 之 版本升级到2020对输入系统封装不好用了

Posted 陈言必行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity报错 之 版本升级到2020对输入系统封装不好用了相关的知识,希望对你有一定的参考价值。

Unity报错 之 版本升级到2020对输入系统封装不好用了

一,问题描述:

   原项目是使用Unity 2018版本开发的,由于某种原因需要升级到2020版本。版本升级之后,我发现原来封装的Input Manager的相关内容都不能用了。经过不懈努力最终解决方案记录如下。

  网传:随着VR的兴起,各种VR厂商的设备输入各不相同,各种VR设备都有自己的Unity SDK,并且SDK代码风格迥异,所以老的输入系统不能很好地满足各种需求变化,于是有了新的 Input System 输入系统。

  在手游开发上使用老的 UnityEngine.Input 还没发现什么问题。

所以产生问题的根本原因是:Unity 2020 对Input Manager 进行了升级


二,问题报错:

从 Unity 的主菜单转到Edit —> Project Settings —> Input Manager 报错如下:

原文:
This is where you can configure the controls to use with the UnityEngine.Input API. But you have switched input handing to “Input System Package” in your Player Setting. The Input Manager will not be used.
翻译:
你可以在这里配置控件来使用UnityEngine.Input 的API。但是你已经在Player设置中将输入操作切换到“输入系统包”。输入管理器将不会被使用。

1.1
上面报错说了要在Player设置中解决。


三,解决方案:

Player —> Other Settings —> Active Input Handing 选择 Input Manager(Old) 如下图:
2.2
选择Input Manager(Old) 后,点击Apply 应用,重启Unity即可。
2.3
重启后查看Input Manager ,如下图:
2.4

可以看到有个提示,大致意思是: 可以在这里配置与Input API一起使用的控件。考虑使用新的输入系统包代替;

现在就可以兼容旧版的输入系统了。

以上是关于Unity报错 之 版本升级到2020对输入系统封装不好用了的主要内容,如果未能解决你的问题,请参考以下文章

brew upgrade升级php版本后报错

oracle数据库升级dbua操作阻塞解决方法(解决ORA-32004报错)

unity inputfield 过滤emoji输入

升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法

Unity3d 2020版本发布WebGL报错Uncaught SyntaxError: Invalid or unexpected token 和unityFramework is not...修正

pip升级到18.0版本过程中报错解决方法