Избранное Все заметки GitHub icon Мой Github Обо мне

Использование альфа маски

Обновлено 19.10.2018
Эта маска не работает внутри стандартной маски и RectMask2D :(

В Unity стандартная маска (компонент Mask) работает без альфа канала, т. е. красивые «мягкие» края сделать не получится. Особенно это актуально, если у вас маска сложной формы.

Но тут нас спасет очень хорошая библиотека скриптов от Simon Jackson — Unity UI Extensions. И один из скриптов из этой библиотеки как раз и позволяет делать «soft smooth ui alpha mask».

Нужно скопировать в свой проект скрипт SoftMaskScript.cs и шейдер с таким же именем. И кинуть скрипт на UI Image.

Получим такой результат. Намного лучше чем стандартная маска.

Да и вообще, в этой либе много других интересных и полезных вещей, рекомендую.

Поделиться
Отправить
Запинить
Отправить
2 комментария
Иван Таранов 14 февраля 2018, 03:05, GMT+03:00

В Unity 2017.3 не работает... А жаль...

Игорь Лопатин 14 февраля 2018, 09:26, GMT+03:00

Почему же? Работает, только что проверил.

Александр Стефаницкий-Моздор 15 декабря 2018, 16:09, GMT+03:00

Спасибо огромное! 2 часа ломал голову над тем, как исправить эту проблему... Пробовал и настройки импорта менять, и уже стал грешить на фотошоп, что не так что-то сохраняю, пробовал разные разрешения, а оказывается все дело в стандартном скрипте. Еще раз спасибо, очень выручили.

Игорь Лопатин 18 декабря 2018, 11:02, GMT+03:00

Не за что. Но знайте, лучше не использовать его на большом количестве элементов одновременно. Довольно затратное дело, шейдер не оптимизирован.

Популярное