unity3d 当图像滑过文本时,如何显示文本,而文本元素隐藏在另一个图像后面?(Unity 2022.2.5f1)

zqdjd7g9  于 2023-03-19  发布在  其他
关注(0)|答案(1)|浏览(68)

(我使用TextMeshPro作为文本元素)
我试图创建一个动画的UI,在画布上,为我的3D游戏,我需要滑动一个图像(image1)在另一个图像(image2)隐藏它与其子元素,同时我需要它以某种方式显示隐藏在'image2'后面的文本元素显示在'image1'的顶部。
我也不能移动'image2'本身,因为它的子元素会受到它的影响,我需要他们留在一个地方。
我试着在网上找到类似问题的信息,但我找不到任何有用的东西。
尝试使用画布的“Override Sorting”也是无用的,因为隐藏在“image2”后面的文本元素的“排序顺序”总是低于“image1”(因此,“image1”滑过它们时不会显示它们)。
也许有一些使用着色器的解决方案,但我没有使用它们的经验,也不知道它们如何工作以及在哪里使用它们。

kqlmhetl

kqlmhetl1#

老实说,问题中描述的元素的行为对我来说似乎很奇怪。
无论如何,你可以使用transform类中与兄弟索引相关的方法来改变你的顺序。Canvas会根据对象的兄弟索引来渲染对象。
链接:

然而,如果你可以让文本立即可见,这会很有帮助。如果你需要像“重叠的精灵部分变得透明,文本部分显示”这样的东西,那么你唯一的选择就是制作一个自定义着色器。

相关问题