gpt4 book ai didi

unity3d - 在 unity 5 中让 UI 对象吞下触摸的最优雅的方法是什么?

转载 作者:行者123 更新时间:2023-12-01 03:35:20 35 4
gpt4 key购买 nike

我的游戏使用带有 Canvas 的 unity 5 新 UI 系统。游戏本身可以通过 OnMouseDown() 函数在几个游戏对象上接收触摸来发射弹药,2D 碰撞器指示可触摸区域,我可以通过改变游戏对象的 position.z 来调整不同可触摸区域的优先级。

但是,添加 UI 后,对 UI 元素(按钮、面板等)的任何触摸不仅(如果可能)会触发 UI 元素,而且它们还可以穿过 UI 元素并触发可触摸区域。按下按钮时很奇怪,不仅按钮被按下,还会触发(视觉上)“UI层”后面的拍摄 Action 。

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

有没有什么优雅的方法可以让所有 UI 元素(基本上是面板)吞下触摸?谢谢!

最佳答案

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

关于unity3d - 在 unity 5 中让 UI 对象吞下触摸的最优雅的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35381222/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com