Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

Привет, это Лиза из Лиги А.! Глаза ��оятся, руки делают — официально девиз этого проекта. Внутри статьи расскажем, как разработали главную страницу сайта по сложной дизайн-концепции и оживили космические корабли. Как итог, потратили больше 300 часов и реализовали больше 10 видов анимаций.

Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

Кто мы и чем занимаемся

Мы создаём сложные цифровые сервисы для стартапов и растущего бизнеса. Особенно круто у нас получается разрабатывать личные кабинеты, интернет-магазины и корпоративные продукты — надёжные, удобные и масштабируемые.

Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

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

Кратко о результатах

  • Помогли дизайнеру доработать макеты с учётом UX и технических ограничений;
  • Оптимизировали анимации, чтобы каждый элемент блока грузился быстрее 2 секунд;
  • Добавили плавный скролл, чтобы пользователи не видели резкий переход между блоками;
  • Потратили больше 300 часов и реализовали больше 10 видов анимаций.

А теперь расскажем и покажем, как этот проект попал к нам в руки и почему выдался сложным.

Проект нам принесли ребята из креативного агентства Zapal — их клиент Аванпост больше 15 лет помогает работать предприятиям защищённо

Аванпост — крупный российский вендор. Компания занимается разработкой продуктов для предприятий, а их платформа помогает клиентам перейти от разных способов проверки доступа к одной общей системе безопасности для всей компании.

В 2024 году Аванпост пришёл к Zapal с задачей обновить стиль компании и переделать старый сайт, чтобы выделиться среди конкурентов.

А причём тут мы?

В прошлом году мы активно рассказывали всем, что на анимациях «собаку съели». Эти рассказы довели до того, что ребята из Zapal обратились именно к нам за разработкой своей дизайн-концепции для Аванпост. Мы стали копаться в задаче, чтобы понять цели и задачи клиента.

На старой версии сайта стали видны косяки в дизайне и совсем отсутствовала динамичность

У клиента была старая версия сайта, которая со временем потеряла актуальность. Стали видны косяки в дизайне и на страницах совсем не было анимаций. Изначально же клиент хотел решить задачи:

  • Увести главную страницу с ограниченной Тильды;
  • Сделать главную более динамичной и запоминающейся;
  • Обновить дизайн в космической стилистике..
Старая выглядела версия главной Аванпост 

С нашей стороны нужно было:

  • Разработать главную страницу по готовым макетам;
  • Повторить космическую атмосферу дизайн-концепции через анимации;
  • Оптимизировать всё так, чтобы сайт был и красивым, и не терял от этого в скорости;
  • Подобрать такие инструменты реализации, которые не сломают придуманную дизайнером концепцию и погрузят пользователя сайта в атмосферу космоса.

Дизайнеры из Zapal передали нам макеты и моушен-ролик с анимациями

По опыту мы знаем, что макеты могут быть не идеальны, поэтому в первую очередь анализируем материалы, которые нам передают. Ошибки и недочёты в макетах встречаются довольно часто. Иногда они возникают из-за незнания технических особенностей или банального отсутствия опыта — дизайнер мало взаимодействовал с разработчиками и ещё не набил руку.

Обычно мы подмечаем недочёты в макетах перед стартом и просим дизайнера их поправить

Если у него появляются сомнения или вопросы по поводу технических моментов, то выходим на созвон — на примерах объясняем что к чему и где нужно поправить.

В этот раз мы обратили внимание на такие моменты:

  • Большая высота в макетах — за основу взяли просто разрешение экрана, а не высоту в браузере. В итоге, контент может не помещаться в экранное пространство браузера, а пользователям придётся лишний раз прокручивать страницу;
  • Заголовки со сложными ромбовидными градиентами, которые при экспорте становятся радиальными. В итоге, дизайн теряет задуманный вид из макета, а повторить такое в коде становится всё сложнее;
  • Избыток блюров, которые мы не сможем повторить технически. На реализацию такой задумки придётся потратить много ресурсов, вдобавок будет высокая нагрузка на производительность.

Эти пункты было важно отловить на старте и исправить, чтобы потом по итогам разр��ботки не получилось неудачи в цепочке «ожидание → реальность»

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

Начали работать с блюрами, но быстро заметили, что они лагали и по-разному отображались с браузерах

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

Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

Не заметить такой недочёт при просмотре сайта было бы трудно, поэтому мы начали думать о том, как это оптимизировать. А лучше сделать так, чтобы ничего не лагало и выглядело красиво.

Оптимизировать сияние звезды было сложно, но мы справились

Приходилось создавать сияние и эффект блюра за счёт картинок на фоне. Мы наложили их друг на друга, немного размыли и выиграли по производительности.

Такой результат получился:

Выбирали карточки для блока с новостями, чтобы на всех устройствах они выглядели одинаково хорошо

На сайте блок состоит из нескольких карточек с текстом. На десктопе карточки выглядели одним образом, на планшете — уже другим.

Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост
Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

Проблема в том, что на одном устройстве расположение карточек не работало бы так же, как на других. Поэтому мы вместе с дизайнером выбрали один вариант. Если карточки с анимациями можно было оставить, то логику отображения нужно было поменять.

В итоге, остановились на втором варианте. Получили классный результат, который устроил и дизайнера, и нас

Такой вариант расположения карточек более продуманный с точки зрения UX. Мы тестировали его на себе — можем сказать, что ориентироваться в новостях стало проще

Работа с анимациями или хотели как лучше, а получилось…

Изначально в работе с анимациями мы опирались на моушен-ролик, который нам предоставили на старте. Сначала сделали упор на креатив, но клиент ожидал более простое решение, чтобы сайт оставался информативным. Из-за кучи анимаций информация воспринималась хуже, а пользователи могли просто закрыть страницу. Кроме того, анимации было трудно оптимизировать из-за их количества, поэтому многие работали с лагами и не так, как хотел клиент.

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

Мы поняли, что нужно ещё раз пройтись по концепции с дизайнерами и вновь всё обсудить. Мы не могли оставить результат, который не соответствует ожиданиям клиента. Теперь перед нами стояла другая сложность — словить баланс между качеством и производительностью. При этом не перегрузить пользователя спецэффектами и отдавать результат за несколько секунд.

Мы быстро перестроили работу с макетами, чтобы получить красивые анимации и быструю загрузку блоков

Для более правильной реализации концепции в дизайн пришлось вносить изменения по ходу работы и начали мы с появления элементов.

Например, на сайте есть несколько элементов и самые важные из них — тексты и картинки с космическими кораблями. По макету они должны появляться друг за другом, последовательно. Мы попробовали повторить это решение, но заметили, что скорость получается низкая.

Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

Чтобы пользователь увидел блок целиком и понял, о чём ему говорят, должно пройти до 5 секунд. А это достаточно долго для информационного сайта. Поэтому решили увеличить скорость с помощью чуть иного появления элементов.

Раньше: элементы на странице появлялись друг за другом, что тормозило анимацию и пользователь дольше оставался на одном блоке. Цепочка получалась длинная.

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

Изменения в процессе помогли нам продвинуться в проекте и сделать сайт более быстрым

Как мы заставили анимации летать без лагов

С некоторыми анимациями всё ещё пришлось повозиться. Но и здесь у нас нашлось решение, хоть и немного кастомное.

Например, мы знатно попотели над анимацией кругов на фоне, чтобы пользователи не видели резкий переход. Если зайдёте на сайт, то увидите большие круги на фоне. По задумке дизайнера они должны постоянно крутится и меняться при скролле. Но сделать это было не так просто — приходилось ловить баланс между качеством и производительностью.

Внимание на фон:

Как мы анимировали сайт в космическом стиле для крупного российского вендора Аванпост

Сначала мы планировали анимировать круги с помощью Lottie

В нашем случае, когда все анимации привязаны к скроллу, это оказалось бесполезно. В Lottie мы не можем управлять отдельными анимациями, только общей. То есть, в результате нас ждут 2 варианта: круг может только крутиться или только меняться по скроллу. В других случаях — они остаются статичными.

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

Дело в неоднородности. Пока круги крутятся, а пользователь скролит страницу, их начальные точки у анимации не совпадают с конечной. И к тому моменту, как они будут в другом положении, мы заметим скачок.

Мы не хотели, чтобы пользователи видели резкий переход в анимации кругов, поэтому выбрали PixiJS

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

Для реализации мы взяли те же круги, но работали с ними вместе

Закинули их в Canvas с помощью PixiJS, чтобы спокойно анимировать. Затем перевели на WebGL, чтобы отобразить точки и линии круга в виде привлекательных 3D’шек. Это позволило улучшить производительность кругов и в целом сайта. В итоге, получили плавный и красивый результат:

Ещё одна механика, на которую потратили много времени — таймлайны кругов и конфликты между ними

Дизайнер продумал не только движение кругов, но и время, когда они появляются и когда исчезают. Это называется таймлайнами. Мы много раз сталкивались с ними на проектах и запомнили, что рано или поздно они начинают конфликтовать, как ни крути.

Дело в том, что одна и та же анимация привязана к разным триггерам. Например, пользователь скролит страницу, а элементы не двигаются так, как задумано. В нашем случае, таймлайны кругов конфликтовали с нативным скроллом, но мы нашли решение: подключили lenis-scroll — инструмент, который улучшает взаимодействие пользователя с помощью плавных и естественных анимаций прокрутки.

Теперь всё работает плавно и круги нигде не застревают

Спустя 300+ часов, которые мы потратили на анимации, получилось закрыть все задачи

Рады, что добились на проекте:

  • Плавных анимаций без задержек;
  • Быстрых страниц, которые летают, как и корабли на сайте;
  • Результата, который был заложен в концепцию и дизайнерские решения;
  • Довольного клиента

Работа над этим проектом в очередной раз показала нам, что ключик к успешному результату — это коммуникация

Без диалога и готовности слушать и помогать друг другу решать стоящие на пути задачи, проект такого уровня сложности вряд ли бы получился. Рады, что ребята из Zapal были настолько вовлечены в процесс и открыты к предложениям.

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

Стек проекта

Вёрстка: Astro

Анимации: GSAP, Lenis, Pixi.js

Плагины для GSAP: Scroll Trigger

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

3
Начать дискуссию