Разработка шейдеров воды и жидкостей для графики

Вода в играх часто выглядит как студень — слишком ровная, без пены и реалистичного волнения. Обычный шейдер с parallax mapping не даёт нужной глубины. Мы разрабатываем шейдеры воды и жидкостей, где каждый параметр заточен под платформу: от мобильных до PC и консолей. Реалистичная вода требует синхро

Наши компетенции

Другие услуги студии

VR/AR/MR приложения на заказ

Впечатляйте клиентов и обучайте команду в виртуальной реальности

Разработка игр на Unity

От идеи до релиза — игры, которые запоминаются

3D-моделирование и анимация

Оживим ваш продукт в объёмной графике и анимации

VR-тренажёры промышленного оборудования

Тренируем операторов на технике без риска и простоя

AR-инструкции для производства

Пошаговые подсказки прямо на оборудовании — без бумаги

Safety-тренажёры

Отработка ЧС и техники безопасности без выхода на объект

VR/AR-тренинги

Обучаем персонал сервису, адаптации и soft skills в VR

Обучающие викторины

Проверка знаний в формате игры — легко и без стресса

Корпоративные видеоинструкции

Понятные ролики для обучения сотрудников и клиентов

Геймификация бизнес-процессов

Мотивируем команду через игровые механики в KPI и HR

Приложения для инфокиосков

Интерактивные экраны для магазинов, стендов и офисов

VR/AR-инсталляции

Wow-эффект для брендов на выставках, ивентах и в шоу-румах

Виртуальные выставки и музеи

Ваша экспозиция доступна из любой точки мира — 24/7

Event-квесты и брендированные игры

Запоминающиеся игры для конференций и клиентских ивентов

Часто задаваемые вопросы

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1526
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    1030
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    657
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    738
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    142

Вода в играх часто выглядит как студень — слишком ровная, без пены и реалистичного волнения. Обычный шейдер с parallax mapping не даёт нужной глубины. Мы разрабатываем шейдеры воды и жидкостей, где каждый параметр заточен под платформу: от мобильных до PC и консолей. Реалистичная вода требует синхронизации нескольких систем: поверхностный шейдер с fresnel, нормал-мап анимация, foam маска, vertex displacement для волн и правильно настроенный underwater эффект. Каждая часть влияет на производительность, и баланс между качеством и frame budget — основная инженерная задача. Наш опыт: 30+ проектов с водными эффектами, гарантируем стабильный FPS на целевых устройствах. Инвестиции в кастомный шейдер окупаются за счёт оптимизации и уникального внешнего вида. Получите консультацию инженера с 7-летним опытом — свяжитесь с нами.

Какие параметры шейдера воды влияют на производительность?

Ключевые факторы: количество draw calls (batching), разрешение текстур (нормал-мапы, пена), использование Opaque Texture для рефракции, количество волновых компонентов в вершинном дисплейсменте. Для мобильных платформ критично: два scrolling normal map (256×256, ASTC 6x6), Fresnel на NDotL аппроксимации, foam через Depth Texture (без Opaque Texture), один Sine для волн — такой шейдер укладывается в 0.3ms на Galaxy A53.

Как создать кастомный шейдер воды для URP?

  1. Выбор типа графа: для мобильных — Unlit с fake lighting через нормальную карту, что экономит vertex shader invocations. Для PC/console — Lit с PBR-параметрами.
  2. Scrolling normal maps: два texture sample с разными UV tiling и направлениями scroll (Time + UV offset). Overlay или Blend Normal для объединения. Разные скорости scroll исключают повторение паттерна через ~5 секунд.
  3. Fresnel эффект: нода Fresnel Effect + Lerp между двумя цветами воды (глубокий и мелкий). Exponent 2–5 для мягкого перехода. Для URP используем NDotL через Normal и View Direction — точнее встроенного Fresnel.
  4. Depth Fade для пены: Scene Depth минус Fragment Position даёт относительную глубину. Smoothstep = маска foam у берега. Требует Opaque Texture (дополнительный blit pass) — для мобильных альтернатива: Depth Texture.
  5. Vertex Displacement для волн: Sine нода по UV + Time с разными частотами/амплитудами для 2–3 волн. Суммируем с разными Direction — Gerstner wave approximation. Displacement 0.1–0.5 единицы, иначе z-fighting с объектами.

Почему custom шейдер лучше готового для стилизованной графики?

В HDRP начиная с последней стабильной версии Unity есть Water System — готовый high-quality компонент с tessellation, caustics, underwater. Но он не подходит для стилизованной (cartoon, cel-shading) графики: vertex-animated foam не поддерживается, Shader Graph customization ограничен Water surface нодами. Кастомный шейдер в ShaderGraph даёт полный контроль — от цвета до формы волн.

Параметр URP кастомный HDRP Water System
Производительность 0.3–1.0 ms (mobile) 1.5–3.0 ms (desktop)
Кастомизация Полная через ShaderGraph Ограничена
Подводный эффект Требует Custom Renderer Feature Встроенный

Что входит в разработку шейдера воды?

  • Исходный шейдер в ShaderGraph/Amplify/HLSL с комментариями
  • Настройки для целевых платформ (мобильные, PC, консоли)
  • Документация по параметрам (Fresnel Exponent, скорость волн, цветовая гамма)
  • Обучение вашей команды (1-2 часа онлайн)
  • Поддержка в течение 30 дней после деплоя

Кейс: вода для мобильной игры (из нашей практики)

Мобильная 3D-стратегия на Unity LTS (URP Mobile). Требование: море на фоне, 60fps на mid-range Android. Ограничение: не более 0.5ms на water shader. Итоговый шейдер: два scrolling normal maps (256×256, ASTC), Fresnel на NDotL, foam через Depth Texture, один Sine для волн. Никакого reflection — только cube map на Specular. Frame cost: 0.3ms на Galaxy A53. Результат — стабильный 60fps без просадок. Unity Documentation: Optimizing Shaders for Mobile

Сроки и стоимость

Тип шейдера Срок
Базовый (mobile, URP, без displacement) 2–4 дня
Средний (PC/console, URP Lit, foam и fresnel) 4–8 дней
Высококачественный (HDRP или кастомный с tessellation) 1–2 недели
Подводный эффект + рефракция 3–5 дней дополнительно

Стоимость рассчитывается индивидуально после анализа вашей сцены и платформы. Закажите разработку шейдера воды для вашей игры — получите консультацию инженера с 7-летним опытом в геймдеве.

Технические нюансы для advanced

  • Для рефракции на мобильных: fake refraction через нормальную карту с UV offset на backdrop plane — без grab pass, что экономит 0.5ms.
  • Vertex displacement: использование Gerstner waves в вершинном шейдере (сумма 2–3 синусов) даёт реалистичное волнение без физики. Для LOD объектов — упрощённый вариант с одной волной.
  • Пена: маска depth fade — один из самых дешёвых способов, но при сильном волнении добавляем noise texture для разрыва пены.