36 0 1562
8 мин.

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 1

Все дневники разработки:

Lost Story Dev.Log №1
Lost Story Dev.Log №2
Lost Story Dev.Log №3 (Часть 1)
Lost Story Dev.Log №3 (Часть 2)
Lost Story Dev.Log №4 (Часть 1) <- Вы здесь
Lost Story Dev.Log №4 (Часть 2)

Помните, что входе GamesJam Kanobu мы публикуем как старые, так и новые дневники разработки Lost Story. Вы всегда можете поддержать разработку проекта лойсом на странице джема тут или тут.

Введение

Дорогие друзья и фанаты вселенной Half-Life!

Зима, наконец, отступает и сдаёт свои позиции весне, и мы ради приветствовать её новым дневником разработки! Изначально тема этого дневника должна была стать лишь небольшой частью Dev.Log №3, подготовленного для конкурса Indie DB - 2015 Indie of the Year Awards, но жизнь вносит свои коррективы и мы не успели осветить её в прошлом дневнике. Но, как говорится, всё что ни делается - всё к лучшему! У нас появилось больше времени и в итоге небольшая заметка переросла в полноценный дневник разработки, да такой большой, что нам пришлось разделить его на две части!

Касательно темы дневника, как вы уже возможно знаете, некоторое время назад мы намекнули на неё, загадав нашим подписчикам загадку: «Что общего между пасмурным днём и пятнадцатисантиметровым саморезом?». К великому удивлению, мы получили просто массу всевозможных ответов: глупых, странных, смешных и даже вполне серьезных. :) К сожалению, никто так и не смог дать полностью правильный ответ, хотя несколько человек были очень близки.

Ну что ж, барабанная дробь… Что общего между пасмурным днём и пятнадцатисантиметровым саморезом? Правильный ответ - и то и другое позволяет получить мягкий рассеянный свет, так необходимый для получения качественных результатов в процессе фотограмметрии. И как вы уже догадались, фотограмметрия, а точнее процесс создания игрового контента на её основе, и есть тема сегодняшнего дневника. В первой части мы расскажем вам о создании моделей, вторую же часть, которая будет чуть позже, посвятим материалам.

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

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

Почему фотограмметрия?

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

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 2

О главной же причине расскажем подробнее. Действие Lost Story: The Last Days of Earth будет разворачиваться на обширной территории, игроку предстоит преодолеть десятки километров, и уже в самом начале нам стало ясно, что открытые пространства и природные локации займут как минимум половину этого путешествия.

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

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

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

Съёмки на натуре

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

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

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 3

В целом, съёмки на натуре не вызывают особых трудностей, и один человек за один рабочий день может качественно отснять 4-5 объектов, а если работать в паре то можно и больше 10, что довольно внушительно. Кроме зависимости от погоды обнаружился лишь ещё один неприятный момент - чтобы найти интересные объекты иногда забираешься в самую чащу леса. Там, как правило, невозможно работать даже с моноподом и приходится проявлять чудеса акробатики и растяжки.

После нескольких наших вылазок мы теперь точно знаем как именно тренировался знаменитый актёр боевиков 90x на фото выше :D

Съёмки в "студии"

О съёмках в «студии» мы задумались, когда стало понятно, что камни, снятые на натуре, не слишком удобно использовать для создания уровней. Дело в том, что большинство валунов глубоко сидят в земле и в финальной модели одна из шести сторон у них будет отсутствовать полностью. Из-за этого с такими валунами сложно работать при создании локации. «Дыра» в основании такого камня ограничивает углы поворота, что в свою очередь не даёт использовать копии моделей близко друг к другу - очень заметно что это одна и та же модель. В силу всех этих причин было решено собрать несколько небольших камней с интересной фактурой и отснять их в «студии».

Почему я пишу «студия» в кавычках? Да потому, что съёмки проводились в домашних условиях, где мы создали импровизированную «студию» из подручных материалов! Для качественной съёмки нужно много света, которого в обычной квартире конечно же не хватает, что ж пришлось отправиться за покупками. Навестив пару фотомагазинов и пустив скупую мужскую слезу на ценники профессионального осветительного оборудования, мы не пали духом и решили действовать иначе.

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 4

Спустя пару дней и несколько походов по строительным магазинам «студия» была готова. При помощи наших очумелых ручек: шесть белых простыней превратились в шатёр Аладдина - он же софтбокс для рассеивания света; к мощным уличным светильникам добавились вилки для розетки, удобные выключатели и подставки; из трёх металлических ножек, небольшой столешницы и ткани получилась удобная подставка.

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

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 5

Съёмки в «студии» идут медленнее, т.к. света всё равно намного меньше чем на улице и приходится использовать штатив. Тем не менее за один рабочий день можно отснять 3-4 объекта. Основной трудностью является монотонность процесса, но мы таки справились и отсняли десяток камней, а также несколько других предметов.

Обработка фото

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

В результате обработки мы получили модели с полигонажем от 9 до 13 млн треугольников и альбедо картой размером 16 384 пикселей для каждой модели (представлены ниже).

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 6

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

Результаты

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

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

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 7

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 8 Gfycat
Dev.Log №4 - Rocks

ССЫЛКА НА ГИФКУ (ЕСЛИ НЕ РАБОТАЕТ ТО, ЧТО СВЕРХУ)

Финальным этапом работы стала подготовка материалов и моделей для движка и настройка цвета альбедо карты, чтобы все модели лучше подходили друг к другу и вписывались в окружение. Но это ещё не всё! В финале мы провели ещё один небольшой эксперимент.

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

«Но мох же должен быть пушистым!» - скажете вы. Верно! Вот тут то мы и вспомнили про метод времён Play Station 2, а именно про многослойную геометрию с альфа каналом. Результат нас вполне устроил: выглядит отлично, при этом ресурсов почти не требует! Вот так, работая над фотограмметрией, у нас появился метод для создания пушистых материалов, будь то мох, ворс или даже шерсть ;)

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

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 9

Lost Story: Dev.Log #4 - Часть 1: Фотограмметрия для моделей - Изображение 10 Gfycat
Dev.Log №4 - Rocks

ССЫЛКА НА ГИФКУ (ЕСЛИ НЕ РАБОТАЕТ ТО, ЧТО СВЕРХУ)

В заключении хотелось бы отметить, что по нашим подсчётам на получение одной финальной модели из фотографий у нас ушло в среднем 2-3 дня (не учитывая время на съёмку). При этом занимался этим только один 3D художник, и это впечатляет, учитывая финальное качество.

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

Ваши мартовские ежи в затемнённых очках из
Rock Path Collective.

#gamesjam #loststorygame #gamedev #indiedev #halflife #hl3 #source #valve #gaben

Нет комментариев

"Кровавая" история гейминга