Бесплатный шейдер, позволяющий постепенно «открывать» объект по оси Y

Ключевые параметры:

  • Hidden Color (цвет скрытой области) — задаёт цвет той части объекта, которая ещё не «открыта»;
  • Boundary Color (цвет границы) — цвет границы между открытой и скрытой областями, что позволяет визуально подчёркивать зону перехода;
  • Boundary Thickness (толщина границы) — контролирует ширину переходной зоны, позволяя либо сгладить, либо сделать переход более резким;
  • Smoothness и Metallic — стандартные свойства материала Unity, позволяющие задать внешний вид поверхности в открытой и скрытой зонах

Простота использования достигается благодаря компоненту RevealByProgress. Чтобы применить эффект к объекту, достаточно:

  1. Добавить на нужный GameObject компонент RevealByProgress.
  2. Получить референс на этот компонент в коде:
public RevealByProgress reveal;
  • Установить значение прогресса (от 0 до 1), которое определяет высоту «линии» между открытой и скрытой зонами:

reveal.progress = 0.5f;

Таким образом, при изменении progress в рантайме шейдер автоматически обновляет видимую и скрытую части объекта, позволяя создавать динамические эффекты без сложных анимаций

Совместимость и требования:

  • Шейдер разработан исключительно под встроенный рендер-пайплайн (Built-in). На данный момент не поддерживается URP и HDRP
  • Минимальная версия Unity — 2022.3.30 +. Однако, благодаря простоте самого шейдера, он должен корректно работать и на более ранних версиях, где доступен стандартный встроенный рендер-пайплайн

Больше статей:

9
3
6 комментариев