Данная статья будет полезна не только тем, кто работает в архитектурных бюро либо с частными архитекторами. В ней также разобран метод быстрого моделирования типового здания, что может быть полезным любому, кто работает с экстерьерами.
А если вам просто необходима модель без сложностей с пониманием правил и потерей времени из-за многократной подачи моделей и последующих их корректировок, то обращайтесь напрямую ко мне, сделаю быстро и правильно. С момента введения новых правил сделал уже около сотни моделей, которые были успешно приняты МКА.
Также работаем над высокополигональными моделями по новым требованиям от 19 апреля 2023 г. Наши модели - одни из немногих, которые успешно принимаются МКА.
alexnikz@gmail.com , +79099177843 (связь желательно через мессенджеры)
Ссылка на статью по высокополигональным моделям: https://3ddd.ru/blog/post/podgotovka_modelei_dlia_metavselennoi_na_dvizhke_unreal_dlia_podachi_na_agr_v_mka
Как многие уже знают, с 31 октября изменились правила получения свидетельства АГР. Важным изменением является обязательное предоставление 3D-модели здания и участка. Эти модели нужны для дополнения интерактивной 3D-карты Москвы, которая разрабатывается Мосгоргеотрестом.
Сейчас модель Москвы находится в состоянии, скриншот которого в начале статьи.
Для сравнения напомню, что трёхмерная карта Google выглядит так:
Но, как говорится, это уже совсем другая история. Перейдём к теме статьи.
Перечислю ещё раз требования к 3D-модели, сразу добавив краткие комменты к некоторым пунктам.
Архитектурно-градостроительное решение объекта капитального строительства представляется заявителем в форме трехмерной цифровой модели, в отдельном файле в форматах: DAE, FBX, SKP, МАХ.
3.1. Требования к координатной привязке:
3.1.1. Все объекты в сцене должны иметь координатную привязку в Московской системе координат и высот.
Вопрос координатной привязки – один из самых частых. Для привязки к Московской системе координат надо попросить у архитекторов плаз ПЗУ (СПОЗУ), ситуационный план или любой другой план с крестиками, в котором чертёж уже расположен в нужных координатах, и привязаться к нему.
3.1.2. Направление осей трёхмерной модели:
3.1.2.1. X - ширина.
3.1.2.2. Y - высота.
3.1.2.3. Z - глубина.
Этот пункт касается экспорта в формат FBX. При экспорте можно выбирать, какая из осей будет направлена вверх. По умолчанию для FBX ось Y направлена вверх, как и нужно.
3.2. Требования к геометрии:
3.2.1. Трехмерная модель должна быть представлена в виде низкополигональной геометрии.
3.2.2. Точка вставки целого объекта (PIVOT) должна находиться в геометрическом центре проекции на плоскость XY (при условии направления вверх оси Z) или на плоскость XZ (при условии направления вверх оси Y), при этом высота PIVOT-a должна располагаться в 0.
Для каждого объекта центрируем pivot и затем опускаем pivot на ноль по Z.
3.2.3. Развёртка должна быть аккуратной и экономичной.
3.2.4. Направление нормалей в сторону наблюдателя.
В модели не должно быть инвертированных полигонов.
3.3. Требования к структуре:
3.3.1. Все модели должны быть представлены в едином файле.
3.3.2. Имена объектов (или слоёв) и их элементов должны быть понятными и логичными, написанными латиницей, не превышать значения в 15 символов, вместо пробелов необходимо использовать нижнее подчёркивание.
3.3.3. Элементы модели объекта должны быть разбиты по слоям.
3.4. Требования к текстурам (минимальные):
3.4.1. Формат хранения текстур - TGA 32-bit.
3.4.2. Текстура прозрачности помещается в alfa-канал diffuse.
Для материалов с текстурой диффуза и прозрачностью карта прозрачности должна быть помещена в альфа-канал файла TGA. Затем при настройке материалов этот файл используется и в слоте diffuse, и в слоте opacity, где надо в разделе Mono Channel Output переключиться на Alpha.
3.4.3. Текстуры должны содержать чётное количество пикселей и быть кратными 32-м.
3.4.4. Текстуры должны быть квадратными либо с соотношением сторон не более 1 к 2.
Не знаю насчёт критичности этих пунктов. Мы на них забиваем, пока никто не жаловался.
upd: в комментариях подсказали, что для интерактива на самом деле соотношение сторон текстуры имеет большое значение, так что в дальнейшем, если вдруг очередь дойдёт до детальной проверки моделей, эти параметры будут важны.
3.4.5. Желательно использовать текстуры в виде структуры файлов.
Имеется в виду одинаковое базовое название для карт diffuse, bump, reflect и т.д.
3.4.6. Не использовать запекание текстур.
3.4.7. Не использовать текстуры больше 2К.
3.5. Внутренние настройки при создании моделей:
3.5.1. Система координат метрическая.
3.5.2. Единицы измерения - «1 единица = 1 метр».
Представитель организации, для которой эти модели и делаются, на семинаре озвучивал требование к полигонажу модели: количество фейсов должно быть порядка 3-5 тыс. Для больших моделей допускается разумное увеличение количества полигонов до 20-30 тыс, но в любом случае речь не идёт о сотнях тысяч или миллионах полигонов. Но при этом вроде как говорил, что модель, выгруженная из Ревита без внутрянки и мелких деталей, тоже сгодится.
Мне в итоге никак не удалось добиться из Ревитовской модели чего-то относительно удобоваримого, всё равно счёт всегда идёт на 200-300к полигонов минимум.
Вообще, сейчас при приёме материалов АГР никакой проверки модели не производится. Скорее всего, про эти модели вспомнят, только когда здание будет реально построено, и его надо будет добавить на карту. Да и вообще портал Москомархитектуры, через который производится загрузка материалов АГР, не позволяет передавать архивы, а исключительно файлы форматов DAE, FBX, SKP или МАХ. Поэтому пока в принципе нет возможности загрузить модель с текстурами. Я стучался и в Мосгоргеотрест, и в разные отделения Москомархитектуры, включая разработчиков портала, никто толком не может ответить на вопросы и только отфутболивают друг к другу. Поэтому не надо сильно бояться новых правил касательно 3D-моделей. На данном этапе новые правила приняты, но толком не реализована возможность их выполнения, и эти модели никому не нужны. Возможно, в дальнейшем ситуация изменится.
Далее покажу три разных подхода к подготовке модели к сдаче на АГР.
1. (с августа 2021 не актуальный, т.к. такие модели больше не принимаются) Модель нужна срочно, заказчик завтра подаёт материалы в Москомархитектуру и вспомнил/узнал, что нужна модель.
Сейчас процесс чаще всего происходит именно по этому сценарию. Соответственно, не особо паримся над качеством модели и выполняем только основные формальные требования к модели. В качестве исходника вполне можно взять модель, выгруженную из Ревита.
Для начала по возможности удаляем всю мелочёвку и внутрянку здания. Всякие внутренние двери, дверные ручки, лифты, фаски, если они сделаны модификатором и т.д. Вместо сложных внутренних стен и дверей хватит пары плейнов внутри, чтобы здание не просматривалось насквозь. Затем аттачим модель по материалам и типам объектов. Всё стекло – один объект. Все рамы – другой. Стены – третий и т.д. Именуем объекты и раскладываем по понятной структуре слоёв. Если имеется несколько секций, то лучше делать отдельные объекты для каждой секции.
Вот пример такой модели:
Как видите, тут несколько секций, и каждая секция состоит из нескольких объектов.
Все материалы должны быть сконвертированы в стандартные. Для этого можно использовать скрипт MultyConvertor . Только он не работает с мульти-материалами, так что их лучше либо избегать, либо конвертировать вручную.
Все процедурные карты должны быть убраны или переведены в растр. Никаких Tiles, Color Correction, Gradient и т.д. быть не должно. Все карты, привязанные к рендер-движку (CoronaBitmap, VRayDirt и т.д.), также должны быть убраны или сконвертированы в стандартные.
Все текстуры должны быть переведены в формат TGA 32bit. Проще всего переписать текстуры в файле можно через Asset Tracking, который вызывается по Shift-T. Правой кнопкой кликаем по текстуре, которую нужно заменить, нажимаем Browse, и далее выбираем TGA-текстуру.
И таким образом вручную меняем каждую текстуру.
Когда всё вышеперечисленное сделано, выбираем все объекты, включаем режим работы с Pivot, размещаем всем объектам Pivot в их центры и затем все пивоты вместе опускаем на нулевую отметку, просто сбросив координату Z на ноль.
Всё то же самое касается и благоустройства участка. Если у вас на участке имеется какой-то ландшафт, то его тоже нужно включать в модель. Не нужна никакая растительность, трава и прочая мелочёвка, не нужны мелкие МАФы и т.д. Только основные поверхности травы, мощений, дороги.
Если на вашем участке есть рельеф, то в модели он также должен присутствовать и учитываться.
Не забудьте проверить, чтобы системными единицами файла были метры. Если у вас не метры, то нужно сделать пустую сцену в метрах и замержить туда вашу геометрию.
Завершив работу с геометрией и материалами, нужно расположить здание с привязкой к Московской системе координат. Для этого у архитекторов берём ситуационный план, план ПЗУ, геоподоснову или любой другой план с крестами, в котором чертёж привязан к Московским координатам. Затем нужно этот план почистить, оставив только габариты здания, и сохранить его, не изменяя положения чертежа и не копируя часть чертежа в другой файл. После чего этот чертёж импортировать в 3dsmax и выровнять по нему положение здания. Карта Москвы учитывает высотные отметки, поэтому необходимо также поднять всю геометрию в соответствии с линиями вертикалей в том же ситплане.
Экспортируем модель в формат FBX. Если при экспорте вы получаете сообщения об ошибках, значит вы не до конца сконвертировали материалы и карты.
Пункт Material export failed показывает, какие материалы не переведены в стандартные.
Пункт Texture export incompatibility показывает, что не все карты были сконвертированы в растр, а какие-то остались процедурными либо нестандартными.
Как только экспорт в FBX прошёл без ошибок, подготовка модели готова. Собираем архив максовского файла с текстурами, добавляем туда же экспортированный FBX, и отдаём всё заказчику. И забываем про эту модель до того времени, когда она наконец кому-то понадобится.
2. Способ подготовки модели, лучший для разработчиков карты.
Не исключено, что рано или поздно процесс приёма моделей для АГР наладят и введут внимательную проверку моделей при подаче материалов, и тогда большая часть моделей, подготовленная по описанному выше сценарию, банально не подойдёт из-за излишней проработки, корявости геометрии и, соответственно, слишком большого количества полигонов. Тогда придётся для каждой модели заново делать низкополигональный вариант.
Вкратце покажу, как делается низкополигональная модель на примере дома с простым регулярным фасадом, т.к. такие чаще всего строятся в Москве, и с ними чаще всего приходится работать.
К примеру, к нам из Ревита прилетел вот такой вот домик.
Почти 200 тысяч полигонов, такая модель никак не пройдёт по требованиям. И это ещё относительно хорошая и чистая модель, часто всё бывает на порядок хуже. Сделаем низкополигональную модель этого дома.
Начинаем с простого плейна и набираем фасад, копируя с шифтом рёбра сначала по горизонтали, потом весь ряд целиком по вертикали до низа.
То же самое повторяем с остальными фасадами. Когда шкурка фасада готова, удаляем полигоны окон.
Накладываем модификатор Shell. Для того, чтобы откосы были сразу в другом материале, включаем у шелла функцию Override Edge Mat ID и накладываем мультисаб материал. Можно удалить внутренние полигоны шелла для дополнительного уменьшения общего количества полигонов.
Делаем простые модели окон. Оставляем только полигоны, которые будут видны снаружи.
Раскладываем окна по фасаду. Разного рода решётки делаем плоской геометрией с текстурой. Не забывайте, что текстура должна быть растровой, процедурные не годятся. И вообще все мелкие детали типа решёток, руста, резных деталей и прочего мелкого рельефа всегда делаем только плоскими объектами с текстурой.
Вот пример, сверху геометрия из Ревита, снизу новая модель:
Когда типовые этажи набраны, делаем первые этажи. Идеальная точность не нужна, достаточно в целом обозначить основные знаковые элементы типа входов, решёток, въездов в паркинги и т.д.
Плоскостью закрываем крышу, добавляем простые детали кровли. Делаем внутренние стены просто в виде нескольких боксов, чтобы дом не просматривался на просвет.
И напоследок делаем стёкла плоскостями сразу на весь фасад, а не по полигону в каждое окно.
Модель готова. На эту модель у меня ушёл 1 час 20 мин вместе с сохранением скриншотов в процессе.
3. Совсем быстрый способ, боксы с текстурами
Если у вас есть фронтально отрендеренные фасады (а для АГР часто их всё равно приходится рендерить), то можно совсем упростить процесс, наложив на плоский фасад текстуру, затем с помощью Slice Plane нарезав основные линии и добавив минимальный объём, заглубив окна и сделав какие-то заметные рельефные элементы типа карнизов, корзин для кондиционеров и т.д. Детально расписывать не буду. Думаю, тут ни у кого никаких сложностей не возникнет.
Вот пример геометрии такого рода.
Это будет совсем малополигональная модель, которая, тем не менее, тоже отлично сгодится для сдачи в АГР и соответствует всем требованиям.
Да и на рендере даже такая модель выглядит довольно прилично. На каждом из рендеров ниже суммарный размер всей геометрии в пределах тысячи полигонов.
Вроде написал всё, что касается подготовки моделей для сдачи на АГР. Если есть какие-то вопросы или я о чём-то забыл написать, пишите обязательно в комментариях, дополню статью.
Update август 2021
Модели начали проверяться наконец. Теперь из описанных выше способов наиболее близким к правде является третий вариант, второй 50/50, зависит от уровня низкополигональности модели, первый вариант точно не годится. И вообще, сейчас прорабатываются изменения требований к моделям, скоро будут опубликованы новые.
Ну и ещё раз в качестве рекламы: сейчас стало очень сложно неподготовленному человеку правильно сделать модель с первого раза, так что если вы хотите быть уверенными и не терять время, то обращайтесь, я делаю модели для АГР на коммерческой основе.
Ссылки на предыдущие статьи по архвизу:
Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8