Unity 输入系统Input System插入后导致的UI响应失效问题

        最近在进行Unity开发的时候,出现了导入了Input System导致UI响应失效的问题。在使用原来的Input的情况下,我们对于Button组件的交互是没有任何问题的,但是当我们切换到Input System后就出现了不管鼠标是悬浮还是点击,都不会触发事件的问题。

        如上图所示,Button不管怎么点击都没有反应。

        导致这种问题的原因主要有两种:设置原因与组件原因。

        1.设置原因

        在我们导入了新的Input System之后,Unity的默认设置并不会同步兼容Input System,而是需要我们自己设置!我们从Edit->Project Setting打开项目设置,下拉找到Active Input Handling,在后面默认选项是Input Manager(Old),但我们要选择Both,要Unity同时兼容新老输入系统。如图所示:

        2.组件原因

        在我们插入了Standalone Input Module组件之后,会看到组件出现红色报错。此时我们点击报错下的Replace with InputSystemUIInputModule,之后等待Unity将此组件替换成Input System UI Input Module组件即可。

        

        上图为组件替换前

        上图为组件替换后。

        除了以上的组件原因,还可能会有另外一种组件原因,那就是Unity中的Canvas对象没有插入Graphic Raycaster组件,它是图形射线检测组件,用于检测投向Canvas的射线。只有插入了这个组件,画布上的UI才能被射线所检测到。Graphic Raycaster组件如图所示:

        最后,保证以上三点都没有问题,我们的UI便可以成功进行正常的交互了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值