UG3L14——Mask 遮罩

遮罩

在不改变图片的情况下,让图片在游戏中只显示其中的一部分

如何使用遮罩

实现遮罩效果的关键组件时 Mask​ 组件
通过在父对象上添加 Mask 组件即可遮罩其子对象
Show Mask Graphic 是否显示遮罩的图形,不勾选,遮罩用的图片不显示

image

注意!

  1. 想要被遮罩的 Image​ 需要勾选 Maskable
  2. 只要父对象添加了 Mask​ 组件,那么所有的UI子对象都会被遮罩(包括子对象的子对象)
  3. 遮罩父对象图片的制作,不透明的地方显示,透明的地方被遮罩

矩形遮罩

除了 Mask​ 以外,Unity 还提供了 RectMask2D​,它直接通过 RectTransform​ 的范围决定遮罩范围,而不需要通过 Image​ 实现
可用于显示较大区域的小部分。使用 RectMask2D​ 可框定此区域。对于共面且只需要 2D 矩形遮罩的情形下相比 Mask 具有性能优势

  • RectMask2D 控件的局限性包括:

    • 仅在 2D 空间中有效
    • 不能正确掩盖不共面的元素
  • RectMask2D 的优势包括:

    • 不使用模板缓冲区
    • 无需额外的绘制调用
    • 无需更改材质
    • 高速性能

image

  • Padding:边距,决定每个边遮罩和 RectTransform 实际每个边的边距
  • Softness:边缘柔和度,可以决定 X 方向和 Y 方向的遮罩边缘的柔和程度

显示效果:

image