Необходимо создать низкополигональную модель здания (без территории и окружения), упростив геометрию и переработав баланс детализации.
При просмотре на разных масштабах карты должен передаваться характерный и узнаваемый образ здания, но при этом детали не должны «шуметь» и загрязнять картинку.
Геометрия должна соответствовать нашим рекомендациям из дальнейших разделов, а общий вид должен быть консистентен уже имеющимся моделям на карте.
*Мосты, дорожные эстакады, биллборды, фонари и прочие объекты, не являющиеся зданиями, или памятниками, мы не делаем.
Основные принципы:
Сетка: желательно не триангулировать и оставлять N-gon’ы.
Нормали: следить за правильным направлением нормалей в модели. Двусторонний рендеринг нормалей не допускается движком.
Группы сглаживания: необходимо следить за правильной настройкой групп сглаживания для округлых элементов и острых граней там, где необходимо.
Один меш (mesh) в иерархии
Все вершины модели должны быть «слиты» в один меш / одну конструкцию, имеющую один общий материал белого цвета
Без текстур
Модели не должны содержать текстур или карт освещения
Как сдавать модели
В виде zip-архива, содержащего модель в трёх форматах:
.gltf + bin (gLTF Separate, без геометрической компрессии)
.glb (с геометричекой компрессией)
Например, такой можно сохранить в Blender, выбрав опцию Geometry Compression
.fbx (сохранить отдельно)
Модель создаётся без текстур и раскраски материалов, как на примере слева ниже.
Цветные модели на картах — это результат работы профессиональных студий, отбора объектов командой Яндекс Карт с учётом выбора жителей города. Для их создания запекаются цветные текстуры для дневной и ночной версий карты.
Однако для создания однотонных моделей текстурирование не требуется, что значительно сокращает процесс работы над ней
Основные сценарии просмотра находятся между масштабами карты 17.0 и 20.0.
На обзорном 17.0 должен считываться общий образ здания, а мелкие детали не должны скрадываться.
На более близком 20.0 пользователь будет рассматривать здание в деталях, искать входы и лестницы. Поэтому мелкие важные детали должны быть различимы, а мелкие незначительные детали можно удалять.
Стоит помнить, что разные размеры зданий могут подразумевать разные масштабы просмотра. Если здание очень маленькое или очень большое, то масштабы просмотра могут измениться
Не все детали здания нужны для передачи его общего уникального образа.
Оптимизация начинается с крупных деталей: общих габаритов, колонн, арок, окон, входов, лестниц, карнизов, капителей, фронтонов и т. д. Эти детали могут быть укрупнены, сглажены, упрощены, но должны оставаться в модели.
Мелкие детали (барельефы, фрески, паттерны, плитки и прочие) удаляются. Плоскость окрашивается в один тон со зданием
Чтобы некоторые детали были заметнее на разных масштабах, можно гипертрофировать их размеры.
Например, увеличить толщину колонн и карнизов, габариты фронтонов и толщину их скатов, диаметр колонн, размер ступеней и окон.
Это помогает сосредоточить внимание на важных элементах, подчеркнуть их в образе здания. Также позволяет им не ломаться и не скрадываться при отзуме на обзорных масштабах просмотра.
Однако нужно быть аккуратнее и следить за общим балансом масштабов между элементами. Излишнее гипертрофирование множества деталей нарушает восприятие здания на карте относительно других объектов и создаёт слишком игрушечный образ
Сетка:
желательно не триангулировать и оставлять N-gon’ы.
Нормали:
следить за правильным направлением нормалей в модели. Двусторонний рендеринг нормалей не допускается движком.
Группы сглаживания:
необходимо следить за правильной настройкой групп сглаживания для округлых элементов и острых граней там, где необходимо.
Один меш (mesh) в иерархии
Все вершины модели должны быть «слиты» в один меш / одну конструкцию, имеющую один общий материал белого цвета
Без текстур
Модели не должны содержать текстур или карт освещения
Как сдавать модели
В виде zip-архива, содержащего модель в трёх форматах:
.gltf + bin (gLTF Separate, без геометрической компрессии)
.glb (с геометричекой компрессией)
Например, такой можно сохранить в Blender, выбрав опцию Geometry Compression
.fbx (сохранить отдельно)
Большое количество повторяющихся элементов может создавать шум и грязь на картинке. Это будет усложнять восприятие здания для пользователей карт.
Чаще всего приходится сокращать количество этажей, секций, а также окон, колонн, ступеней лестниц, декоративных элементов и т. д.
При прореживании элементов необходимо немного гипертрофировать размеры оставшихся.
Однако это стоит делать аккуратно, подбирая баланс так, чтобы не навредить индивидуальности здания.
К основным принципам можно отнести:
Однако утолщение колонн стоит использовать осторожно. Излишне гипертрофированные колонны портят восприятие масштаба объекта и делают его слишком игрушечным по отношению к остальным зданиям на карте
Некрупные элементы колонн (капители, базы, декоративные элементы) стоит упрощать до примитивов. Это позволит значительно сократить количество полигонов и вписаться в технические требования
Нужно показывать лестницы и ступени, так как они являются не только деталями архитектурного проекта, но и функциональной частью для пользователей, которую мы предоставляем в продукте.
Чтобы добиться лучшей читаемости, можно сокращать количество ступеней. Однако делать это нужно аккуратно, чтобы не сломать восприятие масштаба объекта, как и с колоннами выше.
Например, если лестница небольшая и состоит из пяти ступеней, то можно нарисовать все пять. Если у лестницы много ступеней, то лучше упростить
Окна вдавливаются в фасад на фиксированную глубину. Исключением могут быть здания, где степень вдавленности окон отражает архитектурный замысел.
После уменьшения количества окон (если было) оставшиеся окна можно увеличить для сохранения читаемости на дальних масштабах. Важно сохранять пропорции близкие к изначальным, чтобы не искажался образ архитектуры.
При техническом уменьшении полигонажа окон мы не искажаем их форму. Если где-то были округлые оконные арки — такими они и должны оставаться.
Карнизы и декоративные элементы вокруг окон мы сохраняем и упрощаем, если они важны для архитектуры. Если же эти детали для узнаваемости образа здания не так важны, то их можно сократить, а высвобожденные полигоны отдать на более важные части
Для создания более плавного эффекта скругления граней в условиях малого их количества, нужно следить за правильной настройкой групп сглаживания нормалей.
Особое внимание уделяется входным группам, так как они важны для задачи навигации и последней мили.
Всегда должны иметься все входы, лестницы и пандусы в здании, с которыми может взаимодействовать пешеход (нетехнические, служебные, пожарные и т. д.)
Дизайн стандартизирован и должен соответствовать гайдлайнам ниже
Большие барельефы и скульптуры на здании мы не сокращаем, но оптимизируем. Чтобы вписаться в необходимый поликаунт, нужно преобразовывать округлости и кривые скульптур в треугольники и прямоугольники.
Однако важно при этом сохранить узнаваемость образа.
Создание скульптур и барельефов является самой сложной частью моделинга. Если вы не уверены в своих силах и видите, что скульптура не получается похожей на реальную, то лучше не делать её совсем
Справа: удачный пример — кресты чуть-чуть увеличили и утолщили так, чтобы они читались при обзорном масштабе