Unity的新旧操作系统引起的安卓设备touch无反应,UI点击有反应以及临时解决方案

1,概念介绍:

新输入系统:Input System

旧输入系统:Input Manager

参考链接:

Input System - Unity 手册

Unity Input System 新输入系统的功能及用法介绍_unity 新输入系统_ZeryChen的博客-CSDN博客

 移动设备输入 - Unity 手册

新版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;

 

猜你喜欢

转载自blog.csdn.net/qq_44874004/article/details/131623187