Как только все успели свыкнуться с мыслью, что для подачи на АГР нужно готовить низкополигональную модель, МКА решили подкинуть архитекторам и девелоперам новую порцию хотелок. В Москомархитектуре начали разработку метавселенной Москвы на основе движка Unreal. И, как и в прошлый раз, подготовку моделей для этой вселенной решили поручить архитекторам и девелоперам. Теперь при подаче материалов на АГР нужно сдавать две модели, низкополигональную и детальную, подготовленную под Unreal.
Если вы не хотите разбираться в технических деталях, то можете просто обратиться ко мне, и мы подготовим вам качественную модель в соответствии со всеми требованиями. Наши модели - одни из немногих, которые успешно принимаются МКА.
mail: alexnikz@gmail.com , тел.: +79099177843 (лучше через мессенджеры)
Статья по подготовке низкополигональной модели по старым правилам тут: https://3ddd.ru/blog/post/podgotovka_3d_modeli_k_sdache_materialov_na_agr_v_sootvetstvii_s_novymi_pravilami
На данный момент сформирован предварительный список требований к модели для метавселенной. Скорее всего они ещё будут уточняться, так что постараюсь дополнять и актуализировать статью.
Вкратце пройдёмся по пунктам.
1. Модели должны быть в масштабе 1:1 и очищены от лишних, невидимых снаружи элементов. При этом прозрачность элементов (в основном речь о стеклах) должна сохраняться.
Тут всё понятно, используем Reset XForm для сброса масштаба в единицу и делаем прозрачные стекла.
2. Модели предоставляются в двух форматах: FBX версии не позднее 2014, и GLTF версии не позднее 2.0. Текстуры квадратные, в форматах TGA или PNG, размер кратный степени двойки и не более 4K.
В оба формата есть экспорт из 3dsmax
3. Файлы подаются архивом ZIP, который включает в себя модели в форматах FBX и GLTF и текстуры. Название архива должно формироваться по принципу SM_NazvanieUlici_NomerDoma_Korpus_Stroenie. Если в адресе нет номера корпуса или строения, то они пропускаются.
4. Файлы внутри архива также именуются по тому же принципу.
Модели с префиксом SM_, текстуры с префиксом T_ и т.д.
5. Системные единицы – метры.
Не путайте системные единицы сцены и единицы отображения в максе. Системные настраиваются через меню Customize – Units Setup… – System Unit Setup.
6. Чистая геометрия модели. Отсутствие дублирующихся вершин и фейсов, отсутствие лишних точек на ребрах, правильное направление нормалей, отсутствие дыр и т.д. Удаляем невидимые снаружи полигоны.
В общем, обычные правила аккуратного лоуполи-моделирования архитектуры.
7. Материалы не должны быть созданы при помощи сторонних движков (VRay, Corona, Octane и т.д.)
Используем стандартные или физикал материалы. Тип материала не особо важен, т.к. в движке всё равно он будет делаться заново, главное правильно настроить все текстуры и развертки.
8. Обязательна настройка развертки с использованием UDIM.
Развертка по UDIM используется для минимизации количества материалов в движке.
9. Размер файла – не более 500 Mb на одну модель здания.
10. Количество полигонов – не более 2 млн. полигонов на модель
11. Количество материалов – не более 7 шт. на модель
Абстрактные пункты, которые напрямую зависят от масштаба и размера модели. Особо не обращаем на них внимания.
12. Декоративные элементы, выступающие за основную геометрию здания, нужно делать в 3D. Объекты, выступающие до 50 мм, делаем текстурой.
Всякие русты и небольшие детали, всякую лепнину и т.д., выносим в текстуры и не моделим.
13. Стекло и прочие материалы с прозрачностью выносим в отдельный объект
В движке планируют использовать технологию Nanite, которая не работает с прозрачностью. Поэтому на стекло назначается отдельный от здания материал.
Далее вкратце покажу, как готовим модель. Детально в инструменты углубляться не буду, только общие принципы.
Сначала готовим модель здания. По принципам моделирования я уже писал две статьи, изучите, если есть необходимость.
Сохраняем детализацию, но оптимизируем под движок насколько возможно. В правилах установлено ограничение 2 млн. полигонов на модель, но давайте лучше сразу будем думать о бедных работниках МКА, у которых лопнут компы после загрузки десятка таких моделей в свою метавселенную, и будем делать модели сразу с оптимизацией под движок. Рано или поздно, думаю, этот пункт правил подкорректируют.
- Не делаем всю невидимую снаружи геометрию. В интерьерах делаем только то, что видно снаружи через стекло.
- Металлические ограждения и прочие рельефные поверхности делаем текстурой, не геометрией.
- Все объекты с прозрачностью (в примере это стекло и металлические ограждения) делаем отдельными объектами от основной геометрии дома.
Составляем список материалов, которые будут использоваться. Это нужно продумать заранее, чтобы сразу правильно настраивать UDIMы. В примере получилось 6 материалов (точнее наборов текстур): кирпич плоский, кирпич рельефный, фиброцемент для фасадных элементов, крыша, полы и шестая текстура с разными цветами для материалов без фактуры – рамы окон, интерьеры и т.д.
Далее в соответствии с этим списком для каждого материала настраиваем развертку и размещаем по соответствующим UDIM тайлам. Кирпич приходится разворачивать во-многом вручную, чтобы текстура везде состыковалась аккуратно.
Для развёрток я использую RizomUV. Можно и стандартным анврапом Макса, но в Ризоме быстрее и удобнее.
После настройки всех UDIM общая развертка модели получилась такой. Использовались 6 тайлов UDIM, для каждого тайла – отдельный набор текстур.
Именуем текстуры в соответствии с требованиями. Сначала префикс T_, затем адрес архитектурного проекта, затем название объекта, к которому применяется материал, и далее стандартный префикс типа текстуры – Basecolor, Normal, ORM и т.д. ORM – это совмещённые в трёх каналах одной текстуры карты Ambient Occlusion (красный канал), Roughness (зеленый канал) и Metalness (синий канал). В конце через точку добавляем номер UDIM, для которого предназначена эта текстура.
Набор текстур для модели из примера:
Аттачим всю модель в один объект, за исключением объектов с прозрачными материалами, и назначаем дефолтные пустые материалы с названиями по объектам. Настроек материалов никаких не нужно, они будут отдельно настраиваться в движке с использованием ваших текстурных карт.
Далее совмещаем пивоты всех объектов и ставим их на нулевую отметку здания. После чего на всякий случай делаем Reset XForm и экспортируем модель в формат FBX, проверяя, чтобы при экспорте не вылезло никаких ошибок.
В общем-то всё. Собираем FBX файл и все текстуры в архив zip, и готово.
Попробуем загрузить сделанную модель в Unreal.
Модель загружается с дефолтными материалами, которые мы назначили при экспорте в FBX.
Настроим наши материалы. На стекло можно наложить дефотное стекло. Для настройки основного материала модели нужно в проект Unreal загрузить наши текстуры. Для того, чтобы они объединились вместе для распределения по UDIM, нужно закинуть в Content Browser только текстуру с номером первого UDIM, остальные подцепятся автоматически.
Если все текстуры были квадратные и правильного формата, то они автоматом объединятся по типам текстуры. Буквы VT в углу превьюшки текстуры означают Virtual Texture. Если они у вас появились, значит текстуры импортировались корректно.
Далее цепляем все эти текстуры на материал здания. Каналы карты ORM соединяем с соответствующими параметрами материала (Occlusion, Reflection, Metalness). Точно также настраиваем материал ограждений с прозрачностью.
Крутим модель, проверяем, всё ли ок с материалами, при необходимости дорабатываем карты в фотошопе.
Как-то так. По мере развития темы буду дополнять и возможно корректировать статью.
Обращайтесь с любыми вопросами или предложениями.
Комментарии (71)





















































