9 сентября 2015 г.

Blur Behind UI


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

За это время я ушел с дизайнерской работы, сделал два проекта как программист (не вполне игровых, но на Unity), возобновил разработку Talk to Me (yEd себя не оправдал, пришлось доделать редактор диалогов), и частично вернулся на прежнюю дизайнерскую работу. Впереди мерещатся казуальные дорожно-строительные головоломки и сетевые физические авиа-песочницы.

Но сегодня это не главное.

Главное, что в Unity Asset Store появился мой первый платный продукт — Blur Behind UI, — компонент, позволяющий реализовать эффект размытия фона под полупрозрачным интерфейсом.

Посмотреть на его работу можно в WebGL-демонстрации.

Под капотом у компонента находится image effect, хватающий результат отрисовки выбранной камеры, размывающий его и сохраняющий в глобальную текстуру. Потом специальные UI-шейдеры заливают этой текстурой нужные части экрана, создавая подложку под полупрозрачные UI-элементы.

Главное преимущество такого подхода состоит в том, что на один относительно затратный image effect может приходиться огромное количество UI-элементов, отрисовка которых занимает почти то же время, что и у обычных спрайтов.

Недостатком является неизбежность обработки всего содержимого экрана, даже если размытие требуется только на небольшом участке. Ну и ограниченна совместимость с некоторыми платформами, как у большинства image effect'ов.

Купить компонент можно здесь, а ознакомиться с его онлайн-документацией (на английском) — тут.

Если у вас есть вопросы или предложения, не стесняйтесь делиться ими всюду, докуда дотянетесь: под этим постом, по почте или даже прямо в руководстве — оно открыто для комментирования и рекомендаций.

1 комментарий: