如何在Unity UI中打洞?

时间:2019-09-27 05:20:42

标签: unity3d

我想为我的游戏制作一个可重用的教程系统。我的想法是使用半透明的黑色面板阻止包括点击在内的所有事物,但在其上切一个洞(使用自定义的转换,例如您要引导玩家点击的其他层上的按钮)以揭示隐藏在背后的东西。漏洞,用户的点击也可以遍及整个漏洞,仅与漏洞背后的事物进行交互。

我已经在互联网上搜索了许多小时,但仍然找不到解决方案。那么正确的方法是什么呢?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以对可视部分使用遮罩,而对交互部分使用“画布组”。


有关视觉部分,请参见Unity's official UI Mask tutorial


对于交互部分,由于我自己还没有完成,因此我不能完全确定这是否可行,但是根据Unity文档,您应该可以使用Canvas Groups来做到这一点。

让一个父画布组的Block Raycasts标志设置为true(标记),然后,对于非阻塞区域,使用另一个画布组,将Block Raycasts标志设置为false(未标记) ),并将Ignore Parent Groups标志设置为true(已标记)。因此,第二组应该优先于父组的阻止行为。