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

SEBASTIEN LAGARDE / UNITY TECHNOLOGIESContributor
Mar 12, 2018|4 Мин
Фотограмметрия в 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.

Слоистый шейдер определяет визуальное восприятие с помощью комбинации отдельных материалов. Вы можете видеть, что основной материал на картинке выше смешан с другими материалами, такими как камень, элемент земли и мох. Эти другие материалы можно облицовывать плиткой. Это означает, что они могут оборачиваться вокруг объектов, и вы можете повторно использовать их на разных объектах. Использование комбинации материалов позволяет получить визуальное качество, схожее с высоким разрешением текстуры (как при схожей плотности текселей на экране), но с низким разрешением текстуры, что экономит память:

Фотограмметрия в изображении Unity

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

Фотограмметрическое изображение
Демонстрация Фонтенбло

Мы создали демонстрацию 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 в целом в этой теме форума.