Бесплатный шейдер, позволяющий постепенно «открывать» объект по оси Y
Ключевые параметры:
- Hidden Color (цвет скрытой области) — задаёт цвет той части объекта, которая ещё не «открыта»;
- Boundary Color (цвет границы) — цвет границы между открытой и скрытой областями, что позволяет визуально подчёркивать зону перехода;
- Boundary Thickness (толщина границы) — контролирует ширину переходной зоны, позволяя либо сгладить, либо сделать переход более резким;
- Smoothness и Metallic — стандартные свойства материала Unity, позволяющие задать внешний вид поверхности в открытой и скрытой зонах
Простота использования достигается благодаря компоненту RevealByProgress. Чтобы применить эффект к объекту, достаточно:
- Добавить на нужный GameObject компонент RevealByProgress.
- Получить референс на этот компонент в коде:
public RevealByProgress reveal;
Установить значение прогресса (от 0 до 1), которое определяет высоту «линии» между открытой и скрытой зонами:
reveal.progress = 0.5f;
Таким образом, при изменении progress в рантайме шейдер автоматически обновляет видимую и скрытую части объекта, позволяя создавать динамические эффекты без сложных анимаций
Совместимость и требования:
- Шейдер разработан исключительно под встроенный рендер-пайплайн (Built-in). На данный момент не поддерживается URP и HDRP
- Минимальная версия Unity — 2022.3.30 +. Однако, благодаря простоте самого шейдера, он должен корректно работать и на более ранних версиях, где доступен стандартный встроенный рендер-пайплайн
Больше статей:
6 комментариев