Беру на себя интерактивную трёхмерную графику для сайтов и веб-приложений. Работаю на Three.js и низкоуровневом WebGL и делаю так, чтобы объёмная сцена крутилась прямо на странице, без плагинов и тяжёлых установок. Это могут быть конфигураторы, где клиент собирает товар из вариантов и сразу видит результат, витрины с вращением изделия на 360 градусов, объёмные презентационные страницы, компактные браузерные игры или наглядные визуализации цифр и процессов. Держу в голове две цели одновременно: чтобы выглядело дорого и чтобы плавно шло — и на игровом компьютере, и на обычном смартфоне со слабым каналом.
Оптимизацию закладываю в основу проекта, а не приклеиваю в конце. Сжимаю и запекаю текстуры, вывожу повторяющуюся геометрию пакетами, подбираю освещение и постэффекты под целевые устройства, откладываю загрузку тяжёлого, чтобы первый кадр показывался почти мгновенно. Слежу и за неприметным: правильная работа с цветом, дисциплинированное освобождение видеопамяти, аккуратный запасной сценарий там, где WebGL не поддерживается, управление и мышью, и пальцем на экране. Если сцена должна отражать реальные данные, подключаю её к вашему бэкенду, а не оставляю красивую, но мёртвую демонстрацию.
Опишите задачу и ощущение, которое хотите оставить у посетителя, — я предложу структуру сцены, схему взаимодействия и честные рамки по числу полигонов, вызовам отрисовки и весу загрузки. Передаю читаемый и сопровождаемый код с комментариями и короткой памяткой, как своими силами заменить модели, текстуры и палитру.
— Конфигураторы и объёмные витрины товаров
— Визуализация данных и схем процессов
— Браузерные игры и презентационные сцены
— Замер и вылизывание производительности
— Подготовка моделей и конвейер GLTF
Оптимизацию закладываю в основу проекта, а не приклеиваю в конце. Сжимаю и запекаю текстуры, вывожу повторяющуюся геометрию пакетами, подбираю освещение и постэффекты под целевые устройства, откладываю загрузку тяжёлого, чтобы первый кадр показывался почти мгновенно. Слежу и за неприметным: правильная работа с цветом, дисциплинированное освобождение видеопамяти, аккуратный запасной сценарий там, где WebGL не поддерживается, управление и мышью, и пальцем на экране. Если сцена должна отражать реальные данные, подключаю её к вашему бэкенду, а не оставляю красивую, но мёртвую демонстрацию.
Опишите задачу и ощущение, которое хотите оставить у посетителя, — я предложу структуру сцены, схему взаимодействия и честные рамки по числу полигонов, вызовам отрисовки и весу загрузки. Передаю читаемый и сопровождаемый код с комментариями и короткой памяткой, как своими силами заменить модели, текстуры и палитру.
— Конфигураторы и объёмные витрины товаров
— Визуализация данных и схем процессов
— Браузерные игры и презентационные сцены
— Замер и вылизывание производительности
— Подготовка моделей и конвейер GLTF