fbpx

3D Web-приложение средствами Blender и Verge3D. Разбор специфики пайплайна

 

Лузянин Михаил. Специалист по компьютерной графике. Soft8Soft.

Трёхмерные приложения в веб-среде — давно не новость, и их количество с каждым годом растёт, но их разработка — всё еще так или иначе прерогатива небольших студий. Во многом этому способствует специфика, которую диктует веб-среда. Разработка 3D-приложений — и так нелёгкая задача, а когда речь заходит о том, чтобы перенести всё непосредственно в браузер, то это добавляет еще множество трудностей. И одна из них — незнание специфики этапов пайплайна при создании типичного WebGL-приложения.

При поверхностном взгляде он не сильно отличается от подготовки 3D-контента для любого игрового движка, но это только на первый взгляд. Когда же начинаешь пробовать и применять те техники, которые широко используются в игрострое, то понимаешь, что здесь они зачастую попросту не работают или работают совершенно не так.

Так давайте же сравним и разберемся в чём отличие: что можно использовать из уже имеющегося арсенала геймдев-разработчиков, а что следует оставить или заменить на что-то из другой (граничащей) сферы применения 3d. А может быть, и нужно использовать что-то совершенно для них не привычное?

— Вступление
— Немного о Verge3D
— В чем преимущество Blender при Web разработке по сравнению с другими 3D-редакторами
— Беглый взгляд на структура проекта
— Подготовка 3d-контента.
— меш: Треугольники, четырехугольники или n-гоны;
— subsurf или Non-Destructive моделирование;
— карта нормалей или mid-poly;
— редактирование вертексных нормалей.
— Текстуры.
— Запекание или тайл;
— оптимизация текстурного пространства UV-развертки;
— оптимизация текстур по RGBA-каналам;
-вертексные цвета вместо картинок;
— процедурное окрашивание;
— подгрузка текстур по необходимости;
— баланс между текстурами и геометрией;
— когда лучше всё запечь и забыть?
— Материалы.
— Убер-шейдер (Principled) или кастомный;
— повторное использование материалов;
— объединение простых шейдеров в сложный;
— объединение объектов по материалам.
— Анимация.
— Костная или объектная;
— Shapekeys (Morph);
— когда лучше шейдерная, чем любая другая.
— Постпроцессинг.
— Тени: запеченные или динамические;
— Bloom, SSR, SSAO и пр.
— Сцена.
— Источники света против HDRI-текстур;
— подгрузка объектов в сцену по необходимости.
— Заключение.

 


Автор.

Лузянин Михаил
Имеет 7-ми летний опыт разработки контента для WebGL-приложений, около 12 лет работы в индустрии компьютерной графики, в целом. Опытный пользователь и фанат Blender.

  ||   CG EVENT MOSCOW 2019, Modeling, Open Source