1,概念介绍:
新输入系统:Input System
旧输入系统:Input Manager
参考链接:
Unity Input System 新输入系统的功能及用法介绍_unity 新输入系统_ZeryChen的博客-CSDN博客
新版Unity InputSystem系统使用教程 - 知乎
Unity知识记录--Input System(6)--关于UI各种响应失效的问题 - 哔哩哔哩
2,问题描述:
情况1:安卓手机UI按钮点击有反应,但是手指点击屏幕或者手指滑动,无法转动视角
也就是Input.touchcount这些值无法获取
原因分析:由于此项目需要发布在pico设备,因此使用了UNITY新的操作系统Input System,导致旧的API无法使用。所以脚本无法获取屏幕触摸信息。但是新的操作系统,UI是正常的
解决办法:使用旧的操作系统
情况2:改变操作系统后,安卓手机UI按钮点击无反应,但是手指手指滑动,可以转动视角
原因分析:UI系统还在使用新的APi.input,导致旧的操作系统获取不到UI按钮的点击操作
解决办法:使用旧的输入UI,standalone InoutModule.
UI自带的管理器,EventSystem的组件正在使用新的inputSysteamUIInoutModule,需要换回对应的老的inputManager----standalone InoutModule.
3,总结:
新输入系统:Input System对应inputSysteamUIInoutModule
旧输入系统:Input Manager对应standalone InoutModule
4,反思:
可能是新输入系统:Input System使用的api不是Input.touchcount,而是其他的api或者Using的类,导致新的输入系统下,无法触摸移动
5,后续
Struct Touch | Input System | 1.3.0
新输入系统:Input System使用的api确实不是Input.touchcount,而是using Touch = UnityEngine.InputSystem.EnhancedTouch.Touch;