什么是让UI对象吞下团结触摸的最优雅方式5?

时间:2016-02-13 14:41:41

标签: unity3d unity5 unity3d-2dtools

我的游戏使用统一的5个新UI系统和画布。游戏本身可以通过功能OnMouseDown()在几个游戏对象上接收触摸射击ammos,其中2D碰撞器指示可触摸区域,并且我可以通过改变游戏对象来调整不同可触摸区域的优先级。 position.z。

然而,添加了UI后,UI元素(按钮,面板等)上的任何触摸不仅会(如果可能)触发UI元素,而且还可以通过UI元素并触发可触摸区域。按下按钮时非常奇怪,不仅按下了按钮,还触发了(视觉上)" UI层"背后的拍摄动作。

我可以想到一种方法是在UI元素中添加一个碰撞器,然后在运行时将其位置和大小更改为世界空间,并调整它的position.z值以吞下UI上的所有触摸。然而,这似乎非常丑陋和不安全。

是否有任何优雅的方式让所有UI元素(基本上是面板)都可以吞下触摸?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在相机上使用2d或3d物理raycaster来完成此操作。 BoredMormon有一个很棒的5分钟视频,关于如何做到这一点,我建议你查看它! https://www.youtube.com/watch?v=EVZiv7DLU6E