В этом выпуске базовой серии уроков по фотограмметрии на поворотном столе мы рассмотрим, как восстановить геометрию High Poly из изображений с прозрачностью, созданных в Blender в конце предыдущего выпуска.



Текстовая расшифровка видео

Всем привет! В этом выпуске базовой серии уроков по фотограмметрии на поворотном столе мы рассмотрим, как восстановить геометрию High Poly из изображений с прозрачностью, созданных в Blender в конце предыдущего выпуска.

Помимо прочего, мы увидим, как прервать процесс на середине, изменить область реконструкции, а затем продолжить работу с того места, на котором остановились.

Сначала я открываю проект Meshroom, который создал во втором выпуске и сохранил после того, как установил значение параметра Minimal 2D Motion узла Feature Matching равным 2.

Я импортирую изображения, отрендеренные в Blender, на вкладку Image Gallery. Как можно заметить по красному значку затвора, на этот раз изображения не содержат дополнительной информации, поскольку это уже не исходные фотографии, а рендеры, созданные в Blender.

При использовании узла Image Masking, который мы рассматривали во втором выпуске, исходные данные сохраняются, однако удалить зелёный фон будет немного сложнее. С другой стороны, в Blender проще добиться более качественного Color Keying, но ценой потери исходных данных EXIF. Впрочем, это не является серьёзной проблемой, поскольку Meshroom отлично справится с этой задачей, как мы сейчас увидим.

Я сохраняю проект Meshroom с новыми данными и щёлкаю по пустому месту в Graph Editor, чтобы снять выделение со всех узлов. После этого запускаю реконструкцию, нажав кнопку Start.

Если теперь открыть папку, в которой сохранён файл проекта MG, можно увидеть папку Meshroom Cache и её подпапки. Именно здесь Meshroom будет сохранять файлы журналов и промежуточные рабочие данные для различных узлов.

Эта особенность Meshroom очень полезна, поскольку позволяет обрабатывать только определённые части данных по мере их прохождения через узлы.

Во время обработки индикатор выполнения в верхней части окна показывает общий прогресс конвейера, а у каждого узла также есть собственный индикатор выполнения. В обоих случаях зелёный цвет означает, что процесс успешно завершён. Оранжевый цвет означает, что процесс всё ещё выполняется. Красный цвет указывает на ошибку. Голубой цвет показывает, что узел находится в очереди на выполнение.

Эти индикаторы выполнения можно более подробно изучить на вкладке Task Manager. Дополнительную информацию также можно найти в разделе Log каждого узла.

Ещё одна полезная возможность заключается в том, что если мне потребуется прервать процесс и возобновить его позже, Meshroom создаст новые подпапки для различных узлов. Таким образом, предыдущие результаты не будут потеряны, и у меня останется доступ ко всем этапам обработки.

Раз уж речь зашла о прерывании процесса, я нажимаю Stop сразу после завершения этапа Structure From Motion, который является первой частью конвейера. Это позволит мне просмотреть новые данные и настроить область реконструкции, известную как Bounding Box.

Прежде всего, в нижней части вкладки Image Gallery можно увидеть, что Meshroom распознал и обработал все 146 входных изображений. На мой взгляд, это отличный результат.

На вкладке 3D Viewer отображаются значки различных камер. Эти значки обозначают точки съёмки фотографий. Если щёлкнуть по фотографии на вкладке Image Gallery, соответствующая камера будет выделена во вкладке 3D Viewer.

Изменять ракурс во вкладке 3D Viewer можно, удерживая левую кнопку мыши и перемещая курсор для вращения вокруг точки опоры. Масштабирование выполняется колёсиком мыши. Нажатие на колёсико или среднюю кнопку мыши позволяет перемещать вид. Изменить положение точки опоры можно двойным щелчком по любому элементу в 3D-виде.

Теперь я могу выбрать узел Meshing и включить параметр Custom Bounding Box, чтобы задать собственную область реконструкции. Эта сцена не отличается особой сложностью, поэтому данный шаг может показаться необязательным. Однако в других ситуациях эта возможность бывает очень полезной для ограничения реконструкции только необходимой областью.

Однако простое включение параметра Custom Bounding Box не отобразит объём реконструкции. В Meshroom недостаточно просто выбрать узел, чтобы увидеть его специфические данные или функции. Необходимо дважды щёлкнуть по нему.

Теперь я могу интерактивно настроить Bounding Box с помощью манипуляторов трансформации, появившихся в его центре. Стрелки позволяют перемещать центр Bounding Box. Квадраты позволяют изменять его размер вдоль одной из осей. Наконец, круги позволяют вращать его вокруг осей.

После настройки Bounding Box я могу нажать Start, чтобы продолжить конвейер реконструкции геометрии с того места, на котором остановился.

Теперь, если открыть одну из подпапок внутри Cache проекта, можно увидеть, что была создана новая папка. Это произошло потому, что предыдущий конвейер был прерван, и новые данные сохраняются в новой подпапке.

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

Я возобновил запись видео после завершения последнего этапа обработки, которым является Texturing. Перед запуском процесса я не изменял параметры этого узла по умолчанию, поэтому Meshroom должен был создать файл OBJ с текстурой Base Color в формате EXR, используя метод UDIM для UV-развёртки.

Однако в параметрах меню Meshroom я не вижу ничего, что указывало бы на возможность экспортировать эту модель в определённое место на диске.

Но беспокоиться не о чем, поскольку модель и её текстура уже сохранены на диске. Пути к файлам можно найти в нижней части вкладки Attributes узла Texturing.

Ещё проще: эти файлы находятся в самой новой подпапке внутри папки Texturing.

Я копирую файлы EXR и OBJ в основную папку проекта и переименовываю копии в High Poly, чтобы сохранить оригиналы в безопасности и работать с копиями в Blender.

Я сохраняю изменения в проекте Meshroom и закрываю программу. Позже я снова открою её, когда потребуется выполнить Bake текстур с версии High Poly на версию Low Poly. В следующем выпуске я покажу, как импортировать версию High Poly в Blender и очистить её перед созданием версии Low Poly. До встречи в следующем уроке!

Этот сайт предназначен исключительно для демонстрации некоторых моих работ и не имеет рекламных целей. Обратите внимание, что в настоящее время я не ищу и не рассматриваю запросы на индивидуальные заказы, консультации или любые другие формы профессионального сотрудничества.


РАСШИРЕННАЯ ИНФОРМАЦИЯ О ПОЛИТИКЕ КОНФИДЕНЦИАЛЬНОСТИ И ИСПОЛЬЗОВАНИИ ФАЙЛОВ COOKIE