Как устроен Soft Mask

Кто работал с UI в Unity, мог столкнутся с одной особенностью стандартного компонента Mask: он работает через stencil и потому не поддерживает прозрачность. Пиксель либо полностью виден, либо полностью маскирован. В некоторых случаях это не проблема, поскольку мы можем “прикрыть” маскированный элемент какой-нибудь рамкой:

Обратите внимание на пикселированные края картинки слева. Но иногда нам нужен плавный переход:

Добиться такого эффекта в Unity без сторонних компонентов или написания своих шейдеров невозможно. Именно этот недостаток стандартной маски и призван устранить мой ассет — Soft Mask.

Continue reading “Как устроен Soft Mask”