在 Unity 2017 中,我通过制作自己的继承自UnityEngine.UI.Graphic
. 但是我的代码无关紧要,因为您可以使用文档中的SimpleImage 示例来观察这个问题。问题是这些从 Graphic 派生的自定义 UI 行为不能被Mask 组件屏蔽,即使每个本机 UI 元素都可以。这很奇怪,因为根据Graphic.OnPopulateMesh
文档,Text
,Image
和RawImage
都使用相同的方法。
重现:
- 创建一个 UI 画布。
- 创建一个名为 Mask 的 UI Image 作为 UI Canvas 的子级。
- 将 Mask 组件添加到 Mask 游戏对象。
- 添加一个 Image 和一个 SimpleImage 作为 Mask 的子级。
- 观察 Image 被屏蔽,而 SimpleImage 没有。
这对我来说是个问题,因为我需要在滚动视图中使用自定义图形。如何使我的图形与 Unity 的图形一样可屏蔽?