3D и шейдеры

3D и шейдеры

Стоимость
от 250 000 ₽
Срок
3–6 недель
Опыт
100+ проектов · 10+ лет · 9+ стран

WebGL-сцены на Three.js и собственные шейдеры: частицы, искажения, живые фоны

Инструменты
  • Three.js
  • WebGL
  • Nuxt

Базовый набор. Под задачу и требования проекта подключаем и другие инструменты.

3D и шейдеры делают сайт непохожим на другие: живой фон, частицы, которые реагируют на курсор, объекты, которые меняются при прокрутке.

Пишем сцены на Three.js и собственные шейдеры, настраиваем уровни качества под мощность устройства и следим, чтобы эффект не мешал скорости и чтению.

Что делаем

  • Сцены на Three.js с камерой, светом и постобработкой
  • Собственные шейдеры: частицы, шум, искажения, переходы
  • Реакцию сцены на курсор, прокрутку и разделы страницы
  • Уровни качества и контроль частоты кадров
  • Подключение 3D-моделей и их оптимизацию
Задачи

Задачи для 3D и шейдеров

  • 3D-модель продукта весит сотни мегабайт и не грузится в браузере

    Ретопология, запекание текстур, сжатие Draco и KTX2. Модель уходит в glTF и грузится частями: сначала лёгкая версия, детали — следом.

  • Фон на шейдере выглядит как у всех — шум и градиент

    Пишем шейдер от идеи бренда: формы знака, фирменной палитры, фактуры материала. Параметры выводим в панель, чтобы подобрать вид прямо в браузере.

  • Частицы и постобработка превращают сцену в слайд-шоу

    Переносим расчёт частиц на GPU, урезаем проходы постобработки и меряем время кадра на каждом уровне качества. На слабых устройствах эффект упрощается, а не тормозит.

  • На ноутбуке с Retina сцена выглядит мыльной или лагает

    Ограничиваем pixel ratio и динамически меняем разрешение рендера по времени кадра. Картинка остаётся резкой там, где это заметно, и не съедает GPU.

  • Сцену нужно встроить в Nuxt или Next, а пример на голом Three.js

    Оформляем сцену как компонент с жизненным циклом: инициализация при появлении, освобождение памяти при уходе со страницы, без утечек между переходами.

Подходит ли вам

Когда стоит писать свою сцену

Подойдёт, если

  • Нужен живой фон или объект, которого нет в готовых библиотеках эффектов
  • Есть 3D-модель продукта, и её хочется показать в браузере без плагинов
  • Сайт на Vue, Nuxt, React или Next, и сцена должна жить внутри него
  • Эффект должен быть фирменным, а не узнаваемым шаблоном с маркетплейса

Не подойдёт, если

  • Хватит плавного появления блоков и переходов — посмотрите анимации и переходы
  • Нужен конфигуратор товара с сотнями вариантов — это отдельное веб-приложение со своей оценкой
Подход

Сцена, которая не мешает

  1. Плавность важнее полигонов

    Сложность сцены подбираем под стабильную частоту кадров, а не наоборот: дёрганый эффект хуже никакого.
  2. Сцена ведёт по странице

    Движение, цвет и форма меняются вместе с разделами и подсказывают, куда смотреть дальше.
  3. Запасной вариант всегда

    Если WebGL недоступен или устройство слабое, страница остаётся полноценной и красивой.
  4. Настройка вместе с вами

    Выносим параметры сцены в панель и подбираем цвет, скорость и плотность вместе на живой странице.
Процесс

Как мы работаем

  1. 01

    Референсы и раскадровка

    2–3 дня

    Собираем референсы и описываем, как сцена отвечает на прокрутку, курсор и касание.

    Итог этапа Раскадровка сцены и список взаимодействий
  2. 02

    Прототип шейдера

    1–2 недели

    Пишем шейдеры и собираем черновую сцену на Three.js, чтобы оценить эффект вживую.

    Итог этапа Прототип эффекта в браузере по ссылке
  3. 03

    Модели и сцена

    1–2 недели

    Готовим или чистим модели, ставим свет, сжимаем геометрию и текстуры, чтобы сцена быстро загружалась.

    Итог этапа Финальная сцена с моделями в glTF и сжатыми текстурами
  4. 04

    Встраивание

    3–4 дня

    Встраиваем сцену в сайт и связываем её с прокруткой и элементами интерфейса.

    Итог этапа Сцена на тестовой версии сайта
  5. 05

    Производительность

    2–3 дня

    Профилируем на слабых телефонах, настраиваем уровни качества и статичную замену для устройств без WebGL.

    Итог этапа Уровни качества, статичная замена и 3 месяца гарантии на ошибки после запуска
Старт

Что нужно для работы над сценой

Что понадобится от вас
  • Референсы: сайты, видео, арт — с пометкой, что именно нравится
  • 3D-модели в FBX, OBJ или glTF, если сцена строится вокруг продукта
  • Фирменная палитра и материалы, которые должна передавать сцена
  • Доступ к репозиторию, если встраиваем сцену в готовый сайт
  • Устройства, на которых сцена обязательно должна идти плавно
До старта

Разбор идеи и референсов

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

3D и шейдеры

Нужна сцена,
которая отвечает
на курсор?

Напишем сцену на Three.js и собственные шейдеры, настроим уровни качества под устройство и проследим, чтобы эффект не мешал чтению.

Меня интересует...
Бюджет проекта

Нажимая «Отправить заявку», вы соглашаетесь
с Политикой обработки персональных данных и Пользовательским соглашением

FAQ

Частые вопросы

Связаться с нами

Да, на упрощённом уровне качества: меньше частиц и эффектов, но тот же характер.

От 250 000 ₽. Стоимость зависит от числа состояний сцены и переходов между разделами, от того, нужны ли 3D-модели или хватит абстрактных шейдеров, и от интерактива: реакции на курсор, прокрутку, звук. Смету даём после обсуждения референсов.

Да: задаём состояния сцены для разных блоков, и она плавно перетекает между ними при прокрутке.

Для сложных моделей — да, для абстрактных сцен и шейдеров — нет, мы делаем их сами.

Сцена загружается после основного контента и не блокирует первый экран.

Мы — команда мирового уровня, ведущие профессионалы индустрии, постоянно внедряющие новые технологии