Цифровой двойник Москвы: инструкция по изготовлению

С 1 января 2024 года для того, чтобы проект в Москве получил «путевку в жизнь» — свидетельство АГР — потребуется вместе с обычным пакетом данных и чертежей предоставлять в экспертизу высокополигональную модель объекта. Что это такое, зачем это нужно Москомархитектуре и что конкретно предпринять, чтобы будущие объекты капитального строительства прошли проверку по новым требованиям — объясняем на пальцах-зачеркнуто-моделях.

Архитектор компании UNIDRAFT

Зачем это нужно МКА

Нововведения связаны с идеей создания цифрового двойника Москвы — реалистичной виртуальной копии города (об этом мы уже рассказывали для РБК). Подобные копии городов уже функционируют в разных точках мира и с разными целями: где-то это инструмент для виртуального путешествия по городу, максимально приближенного к реальным сценариям прогулок (с покупками, посещением выставок, случайными знакомствами и т.д.). А где-то это скорее инструмент стратегического пространственного планирования: так, цифровой двойник Москвы создается прежде всего для архитекторов и проектировщиков. 

В виртуальном двойнике города будет множество слоев, один из них — как раз слой АГР. Именно в него будут интегрированы высокополигональные модели, созданные по новым требованиям МКА. Реалистичная копия столицы в цифровой среде будет функционировать на базе движка Unreal Engine. В перспективе с его помощью можно будет получить целостную картину развития города: что уже построено, что еще только предстоит построить, как это между собой взаимоувязано. Рассматривается в том числе и возможность, что метавселенная Москвы станет доступна всем желающим. Но прежде необходимо проделать еще большой пласт работ. Оцифровать всю Москву — отдельная амбициозная задача.

Что конкретно изменится в правилах подачи

Проектирование здания в BIM-программах так или иначе предполагает создание 3D-модели. 3D-модель может содержать в себе не только архитектурные, но и конструктивные элементы, а также инженерные системы (хотя последнее для высокополигональной модели не нужно). Сейчас для получения свидетельства АГР МКА требует предоставлять низкополигональную модель здания — для нее характерны низкая детализация и упрощенные фасады, отражающие лишь общий силуэт объекта. Но с января 2024 года потребуется еще и высокополигональная, то есть намного более сложная и детализированная, 3D-модель — как раз такой тип модели подходит для формирования метавселенной. Новые стандарты подготовки таких моделей были анонсированы Москомархитектурой в 2019 году и даже вступали в силу в апреле этого года, но в начале лета их внедрение было отложено. Архитекторам и проектировщикам дали время освоить и обкатать новый формат.

Как сделать модель по новым требованиям (осторожно: требуется квалификация 3D-моделлера)

Предлагаем подробнее остановиться на процессе подготовки высокополигональной модели, отвечающей требованиям МКА (следите за обновлениями требований!), и ключевых моментах, на которые стоит обратить внимание в процессе подготовки модели: количество полигонов (формообразующих треугольников); текстуры модели; UV-развертка по технологии UDIM; создание единого меша модели.

Первым делом необходимо понять, какие элементы нужно будет исключить, а какие оставить. Тут все зависит от объекта, также важно помнить об ограничении по количеству полигонов. При корректировке исходной модели важно оставить фасады (включая выступающие элементы), видимый конструктив, все элементы стекла. Обращаем внимание на то, что через светопрозрачные элементы здания могут быть видны стены и интерьеры. Согласно требованиям, сложные внутренние перегородки удаляем, но заменяем их сплошными стенами, создавая видимость наличия интерьеров внутри.

Экспортируем подготовленную модель в формат fbx и импортируем в вашу любимую программу по 3D-моделированию. В этой статье подготовка высокополигональной модели рассматривается на примере работы в 3Ds Max.

Прежде чем загрузить модель в программу, убедимся, что выбраны требуемые единицы измерения (метры) и масштаб 1:1. В 3Ds Max мы для удобства импортируем модель «по материалам», чтобы в дальнейшем было легко подготовить UDIM-карту и разбить модель по текстурам и материалам.

После импорта модели в первую очередь проверяем количество полигонов. Даже если полигонов меньше 2 миллионов, есть чудесная возможность оптимизировать модель за счет модификатора ProOptimizer.

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

Пример плохой оптимизации
Пример плохой оптимизации

Открываем слои модели и проверяем их наличие в нулевом слое default — если отсутствуют, перемещаем в него. Обозначаем для себя, какая текстура будет у тех или иных элементов. К основному мешу Main будут относится все элементы, кроме меша стекла Glass и меша коллизий UCX, — таким образом, по итогу всего в модели будет два основных меша и нужные меши коллизий UCX.

Выбираем слой стекла, изолируем и проверяем, что выделены все существующие на объекте стекла, триангулируем и аттачим (при необходимости). Назначаем модификатор Unwrap UVW и выполняем развертку стекла, выделяем все полигоны с помощью Ctrl+A. Нажимаем Open UV Editor, распределяем полигоны в слоте. Сразу можем переименовывать меш и назначить стандартный материал стекла, например, следующим образом:

Переходим к основному мешу Main. Поскольку в большинстве своем объекты достаточно объемные и сложные, при создании разверток импорт по материалам не всегда может спасти — скажем, элементы фасада, выполненные одним материалом, могут иметь очень большое число полигонов, и при попытке выполнить развертку компьютер может не справиться. А так как предварительно для себя мы уже определили текстуры и элементы, относящиеся к ним, и их «порядковый номер», теперь нужно отдельно, по очереди поработать с каждым элементом.

Выбираем первый и изолируем его для удобства, триангулируем и проверяем количество его полигонов. Прикидываем, сможет ли компьютер выполнить развертку элемента сразу или же стоит поделить его на части. Элементы с большим количеством полигонов рекомендуем поделить на несколько частей с помощью инструмента detach.

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

Теперь выбираем первую часть и аттачим к ней вторую и третью. Открываем развертку и видим, что все части в своем слоте. По очереди выбираем полигоны второй и третьей частей и перетаскиваем их в первый слой. Вспоминаем, какой номер в нашем распределении присвоен этому элементу, и переносим его в соответствующий слот (для ясности: если этот элемент фасада был второй, следовательно, все полигоны на развертке должны быть на U2V1).

Проводим такие же манипуляции с каждым оставшимся элементом модели. Убеждаемся в том, что развертки каждого элемента находятся на слоте именно под тем номером, который был изначально присвоен элементу, и аттачим все элементы, относящиеся к мешу Main (без стекла). Открываем UDIM и радуемся, что каждый элемент в своем слоте. Переименовываем меш по требованиям МКА.

Проверяем допустимое разрешение текстур в требованиях МКА и приступаем к их подготовке: закидываем готовые текстуры в папку, которую впоследствии нужно будет отправлять на проверку. Внимательно читаем требования по наименованию файлов. Переходим в 3Ds Max и создаем материал для меша Main с помощью MultiTile. Переименовываем материалы согласно требованиям.

Переходим к созданию меша коллизий. В зависимости от сложности объекта определяем, сколько нам понадобится простых элементов в виде боксов для создания «оболочки» модели, то есть все элементы других мешей должны быть внутри. Каждый меш должен быть отдельным слоем внутри слоя default и назван по требованиям МКА.

Переносим опорную точку всех мешей в их геометрический центр по осям X и Y; ось Z переносим в ноль. Проверяем правильное нахождение мешей в слоях, их наименование и наименования материалов.

Экспортируем готовую модель в формат fbx в папку с текстурами, отключив сохранение текстур в модели.

Заключительным этапом в подготовке модели будет создания файла с расширением .geojson. Для тех, кто сталкивается с этим впервые — все проще, чем кажется на первый взгляд. В приложении к требованиям четко написано, что значит каждая строчка: нужно найти все корректные данные по вашему объекту, подготовить картинку объекта в нужном разрешении и закодировать в формат JSON, после чего полученный текст вставить в подготовленный файл .geojson.

Сохраняем файл в ту же папку, проверяем корректность названных файлов, сжимаем папку и отправляем на проверку.

Кто может это сделать

Если вы честно прочли предыдущий раздел, то уже поняли, что понадобится специалист. Можно нанять его на стороне, а можно вырастить внутри бюро. С учетом того, насколько часто будет востребована компетенция работы с 3D-моделями в ближайшем будущем, как минимум один человек в окружении должен быть способен на это. А сколько специалистов понадобится подготовить дополнительно — на благо новой виртуальной Москве — покажет время.

 

читать на тему: