Использование альфа маски
Обновлено 19.10.2018
Эта маска не работает внутри стандартной маски и RectMask2D :(
В Unity стандартная маска (компонент Mask) работает без альфа канала, т. е. красивые «мягкие» края сделать не получится. Особенно это актуально, если у вас маска сложной формы.
Но тут нас спасет очень хорошая библиотека скриптов от Simon Jackson — Unity UI Extensions. И один из скриптов из этой библиотеки как раз и позволяет делать «soft smooth ui alpha mask».
Нужно скопировать в свой проект скрипт SoftMaskScript.cs и шейдер с таким же именем. И кинуть скрипт на UI Image.
Получим такой результат. Намного лучше чем стандартная маска.
Да и вообще, в этой либе много других интересных и полезных вещей, рекомендую.
В Unity 2017.3 не работает... А жаль...
Почему же? Работает, только что проверил.
Спасибо огромное! 2 часа ломал голову над тем, как исправить эту проблему... Пробовал и настройки импорта менять, и уже стал грешить на фотошоп, что не так что-то сохраняю, пробовал разные разрешения, а оказывается все дело в стандартном скрипте. Еще раз спасибо, очень выручили.
Не за что. Но знайте, лучше не использовать его на большом количестве элементов одновременно. Довольно затратное дело, шейдер не оптимизирован.