Unity UI按钮不对点击或悬停做出反应

Wal*_*tie 2 unity-game-engine

我正在使用Unity 3D的新UI系统为我的游戏构建暂停菜单.目前我正试图让我的按钮响应鼠标点击.我的一些层次结构如下:

画布层次结构

当我在游戏中点击我的一个按钮时没有任何反应,这包括在悬停时应该发生的按钮动画缺失.我的"主画布"游戏对象包含以下组件:

画布组件

我已经确保我的Image组件已经选中了"Raycast target"并且我的Button组件已经选中了"Interactable".

按键

这可能是因为我的Canvas'渲染模式在屏幕空间(相机)?我需要将渲染模式设置为此,因为我在游戏过程中添加了在UI前面添加的3D模型.

我已经尝试/检查过的事情:

  • 确保存在EventSystem
  • 检查另一个UI元素是否未覆盖按钮,从而阻止了光线投射
  • 确保渲染UI的相机位于连接到播放器的主相机上方.渲染UI相机的图层为1,而玩家相机的图层为0.

Pro*_*mer 14

您的EventSystem GameObject缺少Standalone Input Module脚本组件.

选择您的EventSystem - > 添加组件 - > Standalone Input Module.完成!

下面的gif决定了两种方法.

在此输入图像描述

  • 哈!你看一下,按钮现在可以工作了。@Programmer 我最初有独立输入模块,但在发送此问题以进行测试之前将其删除。我认为可能是 UI 缩放模式把事情搞砸了。无论如何,你一直是一个巨大的帮助,所以非常感谢你! (3认同)

小智 5

如果这里有人遇到这个问题并且这些修复都不起作用,请转到“编辑”>“项目设置”>“输入”,然后在检查器选项卡中单击右上角的小齿轮图标,然后单击“重置”。这应该可以修复你所有的按钮!


Cod*_*ker 5

确保 EventSystem 组件存在于层次结构中。如果没有 EventSystem,unity 就无法跟踪特定场景中发生的任何事件

  • 这。如果将 Canvas 复制到新场景,它不会自动创建 EventSystem。所以只需创建一个EventSystem:右键单击-> UI -> EventSystem (2认同)