Фотограмметрия в Unity: Превращение объектов реального мира в цифровые активы

Фотограмметрия - это процесс использования нескольких фотографий реальных объектов для создания готовых к игре активов. Он лучше всего подходит для объектов, которые требуют много времени для создания в программах для 3D-скульптуры. В этом посте рассказывается о том, как новые функции Unity помогут вам в работе с фотограмметрией. Мы также выкладываем наш демонстрационный проект фотограмметрии Фонтенбло, включая все сетки, текстуры и материалы.
В прошлом году на выставке Siggraph 2017 мы представили подробное руководство для профессиональных художников. В ней вы шаг за шагом пройдете весь процесс создания высококачественных, пригодных для повторного использования и готовых к игре цифровых активов из фотографий и видео.
В рамках этого рабочего процесса команда выпустила инструмент De-Lighting в Asset Store. Она позволяет художникам и разработчикам удалять информацию об освещении из текстур фотограмметрии, чтобы конечные активы можно было использовать при любом освещении. Мы также выступили на Siggraph с обзором рабочего процесса фотограмметрии и рассказали технические подробности об инструменте De-Lighting.
В этом году мы создали пошаговое руководство, показывающее, как использовать многослойные шейдеры для достижения того же уровня качества, что и в руководстве по работе с фотограмметрией, но при этом оптимизировать бюджет текстурной памяти, чтобы удовлетворить ваши игровые потребности.
Здесь представлен обзор шагов по созданию материала с помощью актива Photogrammetry в Unity:
Ознакомьтесь с полным руководством:
Наложение материалов в Unity с помощью конвейера рендеринга высокой четкости (HD)
Фотограмметрия позволяет получить качественный результат, но требует очень высокого разрешения текстуры для сохранения деталей, как показано здесь:

Это непрактично для создания игр из-за нехватки памяти и не позволяет добавить объекту какие-либо вариации.
В бета-версии Unity 2018.1 появилась предварительная версия Scriptable Render Pipeline. В Unity 2018.1 мы выпустим два встроенных конвейера рендеринга: Lightweight (LW) Render Pipeline и High-Definition (HD) Render Pipeline. HD Pipeline предоставляет шейдер, предназначенный для создания авторских материалов для фотограмметрии: LayeredLit.
Слоистый шейдер определяет визуальное восприятие с помощью комбинации отдельных материалов. Вы можете видеть, что основной материал на картинке выше смешан с другими материалами, такими как камень, элемент земли и мох. Эти другие материалы можно облицовывать плиткой. Это означает, что они могут оборачиваться вокруг объектов, и вы можете повторно использовать их на разных объектах. Использование комбинации материалов позволяет получить визуальное качество, схожее с высоким разрешением текстуры (как при схожей плотности текселей на экране), но с низким разрешением текстуры, что экономит память:

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

Мы создали демонстрацию Fontainebleau, чтобы проиллюстрировать рабочий процесс фотограмметрии и использование шейдера LayeredLit. Эта техническая демонстрация создана с учетом условий разработки игр: она представляет собой репрезентативный уровень игры и ориентирована на стандартную платформу PlayStation 4 при 1080p @ 30fps. Уровень представляет собой часть леса Фонтенбло и использует ограниченный набор сеток и текстур, которые повторно используются с различными вариациями с помощью шейдера LayeredLit. В игре есть режим от первого и от третьего лица, позволяющий ходить по лесу. Ориентируясь на такие консоли, как XboxOne или PlayStation 4, необходимо продумать, как получить максимальную отдачу от этих платформ.

Демо-версия также поддерживает три различных условия освещения, чтобы продемонстрировать, что правильно отрендеренные и отрендеренные активы прекрасно работают при любом освещении:
Дневное освещение:

Освещение на закате:

Ночное освещение при выключенном свете:

Ночное освещение с включенным светом:

Наконец, мы включили 3 режима для изучения демо-версии:
- Кинематографический режим: выберите программу освещения, затем откиньтесь на спинку кресла, расслабьтесь и наслаждайтесь шоу,
- Режимы от первого и от третьего лица: это очень простые режимы исследования, позволяющие вам самостоятельно изучать окружающую среду, с бонусами в режиме от первого лица.
Фонтенбло - это название леса, расположенного недалеко от парижского офиса Unity. Лес - хорошая тема для разговора о фотограмметрии. Природные объекты часто имеют сложную структуру, и их трудно реалистично воспроизвести. Для наших художников было важно иметь объект рядом с собой, чтобы провести все тесты, необходимые для анализа наилучшего рабочего процесса, возможного для игр.

Проект предназначен для работы с версией 2018.3 и использует пакет 4.8.0 HDRP.
Загрузить готовый автономный плеер для ПК можно здесь.
Проект доступен для клонирования только здесь, на GitHub. Это означает, что загрузка zip-файла с помощью зеленой кнопки на Github не будет работать. Вы должны использовать версию git с LFS, чтобы получить проект. Взгляните на него и проверьте активы фотограмметрии: сетки, текстуры и материалы. Вы также можете повторно использовать активы в своем проекте Unity без каких-либо ограничений.

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