Saul Clemente подробно описал создание фотореалистичного граната с помощью инструментов Фотограмметрия и 3DFlow. Вкусный!

Вступление

Привет, я Сол Клементе. Я живу в Удине, маленьком городке в Италии, и я художник по 3D-окружению. Я провожу много времени за изучением 3D-графики и очень увлечен своей настоящей работой. 8 лет назад я создал RTView и начал делать только фотореалистичные рендеры для разных клиентов - от архитектуры до дизайна.

Год назад я вместе с двумя коллегами основал Виртью. Virtew - это стартап, где мы создаем эмоциональные переживания для виртуальной реальности. Мы выпустили нашу первую инди-игру в виртуальной реальности RUN OF MYDAN, доступную в Steam.

Цели проекта

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

Основными задачами проекта были:

  • Создание высокополигональной 3D-модели с использованием фотограмметрии без потери деталей фотографии;
  • Моделирование низкополигональной версии с помощью упрощенного УФ-атласа для постпроизводственного текстурирования;
  • Создание набора текстур для имитации каждого материала моего объекта в соответствии с рекомендациями шейдера PBR;
  • Создание одного шейдера для моделирования всех материалов;
  • Сочинение эмоциональной сцены в Unreal Engine.

Подготовка к фото / сканированию

Я использовал программу 3D Zephyr PRO, ​​которая позволяла как автоматизировать фотограмметрию с помощью предустановок, так и способ непрерывного просмотра каждого отдельного отрывка.

Недавно я купил портативную фотостудию, чтобы снимать небольшие объекты и делать хорошие снимки для фотограмметрии. В Интернете я нашел продукт, который позволяет мне получать однородный свет на всем снимаемом объекте, варьируя интенсивность отдельных источников света.

Единственная проблема заключалась в форме - это был сферический объект со всех сторон. Я рисковал потерять детали в зависимости от того, как они были размещены на фотосессии. Я вот так исправил.

Я настроил камеру таким образом, чтобы объект всегда был в фокусе, низкие значения ISO и высокие значения выдержки компенсировали слабое освещение. Я использовал дистанционное управление через свой смартфон, чтобы уменьшить размытость кнопки спуска затвора.

Во время подготовки я решил подкрепить свою тему деревянной разделочной доской, которая была у меня на кухне. Его текстура очень детализирована, потому что его использовали для нарезки салями и сыра!

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

Сначала я сфотографировал весь гранат, затем половину и, наконец, четверть.

Вот количество снимков, сделанных для каждого предмета:

Гранат FULL 54

ПОЛОВИН 88 граната

ГРАНАТОВЫЙ КВАРТАЛ 68

Разделочная ДОСКА 41

Я сделал фотографии в формате Raw, чтобы можно было исправить виньетирование, искажение объектива, уменьшить шум изображения, применить полученный цветовой профиль и сохранить их в формате Tiff.

Фотограмметрия: 3DF Masquerade

Программное обеспечение 3DF Masquerade устанавливается автоматически во время первой установки 3D Zephyr и позволяет создавать маски на фотографиях для улучшения выравнивания. Простыми шагами вы можете вырезать объект. Создаваемые файлы автоматически считываются программой Zephyr 3D. Кроме того, алгоритм Turnable позволяет анализировать созданную маску и передавать ее следующему изображению. Я вырезал 45 фотографий менее чем за 10 минут с помощью нескольких щелчков мышью, добавив немного смазывания.

Фотограмметрия: 3D Zephir

Моей целью было получить трехмерную реалистичную сетку. Я потратил несколько часов, чтобы изменить параметры, чтобы найти правильный результат между

  • Плотное облако точек
  • Сетка
  • Текстурированная сетка

Я импортировал изображения в программу Zephyr 3D: она автоматически нашла маски, сгенерированные непосредственно перед этим (установите флажок «Изображение маски»), а также модель камеры, которую я использовал. Программа имеет доступ к хорошо оснащенной онлайн-базе данных камер.

Когда я выровнял фотографии, я начал генерировать точку плотного облака в режимах Fas, High и Raw, чтобы увидеть эффективность.

Довольный результатом точки облачности с высокой плотностью, я обработал ее с помощью предустановки fast, чтобы сгенерировать сетку. Результат был почти мгновенным.

На этом этапе я протестировал новую функцию 3D Zephyr - Фотосогласованную оптимизацию сетки.

Ребята из 3Dflow создали алгоритм, который позволяет еще больше улучшить качество сетки без изменения формы объекта. На практике он применяет другой процесс фотограмметрии, начиная с точки помутнения, пытаясь улучшить детализацию поверхности.

Фотографии, которые я сделал, были полны отражений из-за «шероховатости» кожуры граната. Это одновременно ясно и грубо! Результат был очень удовлетворительным, потому что алгоритм игнорировал эти типы проблем!

Я применил в программе несколько фильтров, которые позволили мне создать полностью закрытую сетку (также подходящую для 3D-печати), чтобы воссоздать скрытые области объекта.

Фильтры были:

  • Заполнить сетку - выборочно: позволяет выбрать отверстия для заполнения.
  • Заполнить сетку - Водонепроницаемость: выполняет тесты, чтобы убедиться, что в сетке нет отверстий. Если есть, он их заполнит.

Когда я исправил сетку, я перешел к созданию текстуры.

Хороший! Я достиг той детали, которую хотел. От фото до 3D сетки с текстурой я в качестве не потерял!

Я экспортировал текстуру в несжатом формате (.PNG). это отличная отправная точка для сбора максимальной информации о текстуре, особенно полезной для удовольствия!

Низкополигональная сетка и УФ-атлас

Фотограмметрия генерирует подробную гипер-сетку и очень сложный УФ-атлас, которым нужно управлять при пост-продакшене.

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

Я импортировал сетку высокого разрешения в ZBrush с относительной текстурой.

И я провел чистку форм, чтобы лепить части, не соответствующие реальности.

Я использовал базовые кисти, следуя текстуре, созданной мной в фотограмметрии, в качестве образца:

  • STANDARD_DEM
  • В КВАРТИРЕ
  • ГЛИНА
  • ГЛАДКИЙ; ПЛАВНЫЙ

Как только сетка была исправлена, я приступил к созданию низкополигональной версии.

Я разделил сетку на несколько полигрупп, чтобы создать простой атлас управления UV в Substance Designer.

Substance Designer

Я использовал Substance Designer для создания всех вспомогательных текстур, необходимых для создания текстур в соответствии с методом PBR для Unreal Engine.

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

Затем я перешел к другим текстурам:

  • Нормальная сетка
  • Окружающая окклюзия форма Mesh

После всех процессов коррекции и объединения каналов я реализовал следующие текстуры:

  • Базовый цвет
  • Грязь
  • Зеркальный
  • Шероховатость
  • Нормальная карта
  • Окружающая окклюзия
  • Рост
  • Рассеяние

Материалы

Для этого проекта я создал основной материал, из которого взял экземпляры.

Я создал только одну текстуру для каждого актива. Шейдер очень сложный из-за количества материалов, которые я могу моделировать:

  • Внешняя оболочка светлая, но есть микрорельефы.
  • Часть внутренней кожуры стала непрозрачной и впитала немного сока.
  • Мембрана полупрозрачная в разных точках, но непрозрачная.
  • Зерна полупрозрачные, и свет проходит через то место, где семена видны внутри.

Я выбрал параметры, которые позволили бы мне лучше настроить производительность текстуры в зависимости от кадрирования и освещения сцены.

Я также добавил небольшой фрагмент кода, который позволяет сжигать объект, делая его менее цифровым и холодным.

Отображение различных каналов / буферов.

Осветительные приборы

Для освещения сцены я ничего особенного не делал. Я использовал базовую технику освещения в фотостудии. Во-первых, я установил камеру, пытаясь сфокусировать объект в соответствии с правилами третьих лиц. Затем я разместил источники света по бокам: один слева от композиции и один справа рядом с камерой.

Финальный рендер в UE4

Два прожектора - это прожекторы, мобильность установлена ​​в статический режим для максимальной производительности. В качестве фона я использовал файл HDR (Soft_1Front_2Backs). Его можно найти в папках Substance Designer. Затем я применил текстуру HDR к сфере с излучающим материалом.

Мансардный люк имеет кубическую карту с преимущественно красными цветами, и я установил стационарную мобильность. Для статической сетки в композиции я установил для карты освещения разрешение 1024 пикселей. Постпроцесс имеет дневное время LUT с интенсивностью 0,15.

Я использовал камеру CineCamera, чтобы лучше имитировать настройки камеры, а затем добавил некоторый эффект.

Чтобы ускорить рендеринг Lightmass, я использовал вариант Unreal Engine с рендерингом Lightmass GPU. Я отрендерил сцену за несколько секунд в сверхвысоком качестве.

Оптимизация

Для этого проекта я не выполнял какой-либо конкретной оптимизации, за исключением создания УФ-атласа, который легко редактировать в конструкторах субстанций.

Текстуры генерируются с разрешением 4k, чтобы иметь как можно больше деталей, и каждая текстура экспортируется индивидуально, чтобы не вводить артефакты сжатия. Настройки для рендера малой массы очень высокие из-за графического процессора Lightmass.

Окончательный рендер:

Заключение

Объект создан с целью использования его в будущих визуализациях высокой четкости с сильным фотореалистичным эффектом. Обычно меня просят визуализировать с разрешением более 8k для печати в каталогах мебели и требовать деталей даже при 200% увеличении.

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

Saul Clemente, художник по 3D-окружению в Virtew

Интервью провел Кирилл Токарев.

Больше статей ищите на Уровне 80.