В прошлой статье я очень кратко описал, что такое фотограмметрия на примере создания текстуры для персонажа в игре The Pharody / Цэ Пародья. А сейчас хочу продолжить тему и поведать процесс создания модели в домашних условиях.
Если ты дока в 3Д моделировании, то эта статья точно не для тебя. Закрой ее! Дальнейшее прочтение может понизить твои высокие чувства и испортить настроение. Ведь я не профи. Но мне очень хотелось попробовать.
Существует анекдот, дескать, любая инструкция должна начинаться со слов «Ну что, поломал!». Жизненно, но не совсем точно. Теорию я заблаговременно изучил. Иначе, как бы я додумался до такого эксперимента? Т.е. условную инструкцию я читал. Но умудрился нарушить ее по всем пунктам, замутив полнейшую отсебятину. Назовем это творческим экспериментом.
Итак. Понеслось. Что там в инструкциях говорится? Начинайте с простых примитивных объектов, типа игрушечного кубика. Ну, да, щаззъ! Кубик, это ж так скучно. Сходу, с напора, будем оцифровывать человеческую тушку, не меньше!
Первое. Нужны фотокамеры. Штук 100. Расположенные по кругу / сфере вокруг объекта сканирования. И нейтральный, т.е. без лишних «шумов» фон. А что было у меня? Зеркалка. Камера старенькая, но качественная. Возможно именно поэтому эксперимент не провалился.
Еще одна ошибка / нарушение инструкции. Фон в домашних условиях сами понимаете, не однотонный. Программы по 3D реконструкции с трудом справляются с поиском точек на разных фотографиях с пестрящим фоном, появляется шум и даже посторонние объекты.
Я пришвартовался на стуле, а моя супруга сделала несколько десятков снимков вкруговую. Не так красиво и ровно, как на схеме ниже, но с шагом градусов этак 10, не больше.
Далее. Нужен был соответствующий софт. В моем случае я рассматривал исключительно бесплатное ПО. Халява, сэр!
Мой выбор пал на Zephyr. По очень простой причине. Другие программы не понимали железо сборки 2009 года и хныкали на тему, ой, а твоя видюха то совсем [censored]. А Зефирка работала и не жаловалась. Хотя процесс протекал не гладко.
Первые несколько попыток были провальными. Но все есть опыт. Я более-менее понял принципы 3д оцифровки и даже приспособился под скорость обработки. Все просто. Запускаешь программу вечером и смело идешь баиньки. Утром смотришь на результат. Иногда приходится откатывать и начинать заново. И так несколько дней. Ведь процесс реконструкции объекта по снимкам проходит не в один этап.
Про эти этапы особо рассказывать не хочу. Программа сама подсказывает, что делать. Шаг 1, 2, 3… Сперва строится так называемое облако точек. Точек программа найдет много и не все они нужны. Нужно очистить от лишних, оставив только точки, принадлежащие целевому объекту. По этим точкам выстраивается высоко полигональная модель. В конце создаются текстуры.
На этом фотограмметрия заканчивается. А если мы хотим использовать полученную модель, например, в игровом движке? Тогда нужны доработки. Уменьшение полигонов (ретопология), оптимизация развертки и запекание текстур. Однако, «оживление» персонажа, это уже другая тема.
Вот финальный персонаж, которого я вставил в игру. Демоверсия игры в открытом доступе. Скачать можно здесь.