Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
motion_capture_final.doc
Скачиваний:
12
Добавлен:
17.08.2019
Размер:
18.51 Mб
Скачать

2.2.2 Realviz Movimento

Загрузка данных в проект

Мы получили данные для загрузки в программу захвата движения – папки с тремя секвенциями равной длины и одинакового разрешения. Теперь приступаем непосредственно к цели работы.

Запускаем программу Movimento и настраиваем интерфейс для работы. Щёлкаем по стрелке рядом с иконкой Viewport и выбираем Four Viewports (Рис. 24).

Рис. 24 Выбор четырёх вьюпортов для работы

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

Приступаем к загрузке данных. В горизонтальном меню выберем File – Load sequence (Рис. 25)

Рис. 25 Выбор пункта Load sequence в горизонтальном меню

В появившемся диалоговом окне выбираем папку с первой секвенцией. Затем выделяем первый файл секвенции и устанавливаем в блоке настроек Camera Settings значение Frame rate равное 25 (рис. 26). Нажимаем ОК и повторяем операцию с остальными двумя секвенциями.

Рис. 26 Настройки в диалоговом окне Load Sequence

Для удобства работы после загрузки данных необходимо настроить окна так, чтобы в каждом из них отображались разные картинки. Это можно сделать, кликая по названиям камеры и секвенции в верхней части окна. Настройте окна так, чтобы в левом и правом верхнем были показаны кадры секвенций, а правое нижнее переведите в трёхмерный вид щелчком по значку в углу окна (рис. 27)

Рис. 27 Рабочие окна с разными данными в них

Расстановка статичных треков

Теперь можно приступать к расстановке треков для захвата движения. Трек – это условная точка или область, которой программа отмечает маркер во время захвата.

Сейчас мы расставим треки, необходимые для просчёта первоначального положения трёх камер. Для этого нужно перемотать запись на самое начало с помощью полосы прокрутки, либо покадровой перемотки (Рис. 28)

Рис. 28 Слева – полоса прокрутки, справа – инструмент покадровой перемотки

В проекте мы используем 14 статичных треков. 8 из них нужны для калибровки статичных камер, остальные 6 – для построения траектории движения подвижной камеры. Треки расставляются для всех трёх камер - отдельно в каждом окне секвенции.

Нам нужно будет расставить треки только на те маркеры, которые отмечены на рисунке 29

Рис. 29 Маркеры, необходимые для калибровки статичных камер

В меню с иконками нажимаем на кнопку New Track . Затем кликаем по нужному маркеру в первом окне, но кнопку не отпускаем. Появилось вспомогательное окно, необходимое для точной расстановки треков на маркеры (Рис. 30)

Рис. 30 Вспомогательное окно для расстановки треков

Установим трек точно в середине маркера. Установленный трек выглядит так (рис. 31):

Рис. 31 установленный на маркер трек

Одновременно с этим новый трек появился в списке Static tracks группы Point tracks в меню иерархии сцены (рис. 32)

Рис. 32 Новый трек в списке Static Tracks

Теперь этот трек необходимо поставить в окнах других секвенций. Сделайте это, не отменяя выделения трека. Если же вы уже отменили выделение, просто выделите его в первом окне, либо в списке Static tracks.

После того, как вы поставили этот трек во всех трёх записях, отметьте треками остальные маркеры, выделенные на рисунке 29. Для этого после установки трека во всех трёх окнах, снова нажимаете New track .

После установки всех треков (рис. 33) мы можем просчитать первоначальное положение всех трёх камер.

Рис. 33 Все треки расставлены на маркеры.

Для просчёта мы выбираем в горизонтальном меню Solving – Solve for camera или нажимаем F9. (Рис. 34)

Рис. 34 выбор пункта Solve for camera в горизонтальном меню

После просчёта мы видим результат. Треки окрасились в разные цвета, картинка в окне с трёхмерной проекцией изменилась (Рис. 35). Если все треки зелёные, это очень хороший результат, если какие-то из них жёлтые, это тоже неплохо. Если же присутствуют красные треки, то что-то не так.

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

Рис. 35 Рассчитанные результаты для первоначального положения камер

Задание системы координат в проекте Realviz Movimento

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

В меню иерархии сцены выделяем список Coordinate systems, кликаем на нём правой кнопкой мыши и выбираем New Coordinate system (рис. 36)

Рис. 36 Создание новой системы координат

После этого в этом списке появится пункт Coords 01. Зададим ему параметры. Они задаются в правой части проекта, где сейчас появилась вкладка Coords 01 (Рис. 37)

Прежде всего, задаём начало координат, то есть в блоке General в пункте Origin выбираем трек, который отмечает маркер, принятый нами за 0 (рис. 2). В нашем случае это Track 04. Затем задаём масштаб. В пункте Distance задаём расстояние от какого-либо трека до какого-либо другого, указанных в пунктах From и To. Нет принципиальной разницы, расстояние между какими треками вы укажете, главное, чтобы оно было правильным. На основании этого расстояния программа будет рассчитывать масштаб для всей сцены.

Осталось задать только оси координат. Выберите вкладку Axis 1 и установите там ось X, from origin to, а затем трек, установленный на маркер, являющийся концом оси Х (Рис. 2). Затем выберите вкладку Axis 2 и аналогичным образом установите ось Y.

Система координат готова, не забудьте нажать Apply Coordinate System для применения её к сцене.

Еще один немаловажный момент. По умолчанию программа рассматривает ось Z как ось глубины, а ось Y – как ось высоты. Это необходимо исправить. Нажмём ещё раз Solve for Camera или нажмём F9. После просчёта снимем выделение со всех объектов, щёлкнув по какой-либо пустой области окна и зайдём во вкладку Project, она находится там же, где до этого была вкладка Coords 01. В блоке 3D Parameters найдём пункт 3D Up Axis и поменяем значение на Z (Рис. 38)

Рис. 37 Настройки системы координат

Рис. 38 Изменение оси высоты в проекте

Реконструкция подвижной камеры

Теперь займёмся просчётом траектории для подвижной камеры. Для этой цели мы оставили пустыми 6 статичных маркеров.

Выберем из окон с секвенциями то, которое отображает запись, снятую подвижной камерой. Выберем в меню New Track и установим трек на свободный маркер. А затем нажмём Track Forward или клавишу F3. Программа начнёт отслеживать траекторию движения маркера на записи. Появится новое окно – Tracking Monitor, (Рис. 39) которое будет показывать этот процесс в увеличенном виде. После просчёта мы увидим новую траекторию в окне проекции (рис. 40).

Рис. 39 Tracking Monitor Рис. 40 Траектория трека в окне проекции

Эти же действия, то есть установку трека и нажатие Track Forward, нужно повторить во всех трёх камерах. Разумеется, в статичных камерах трек будет стоять на месте и никакой видимой траектории не появится, однако сделать это необходимо.

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

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

Это производится вводом ограничений для камеры. В меню иерархии сцены открываем список Cameras и выбираем из них ту, которая должна двигаться (Рис. 41). У неё уже есть одно ограничение (Constraint) и называется оно Fixed. Оно указывает на статичность камеры, поэтому его нужно удалить. Кликните по нему правой кнопкой и выберите Delete Constraint (Рис. 41)

Рис. 41 Удаление ограничения для подвижной камеры

После удаления ограничения нужно ввести новые. Но перед тем, как их вводить, вспомните, как двигалась ваша камера. При съёмке нашей записи камера была установлена на штативе с колёсами, проще говоря, она ездила по полу. Значит, она перемещалась в плоскости XY. Это значит, что как по оси X, так и по оси Y она должна двигаться свободно. Введём необходимые для этого ограничения.

Правой кнопкой мыши нажимаем на камеру в меню и выбираем New constraint (Рис. 42). В появившемся окне нажимаем ОК. Оно предупреждает нас о том, что ограничения при создании отключены, и после его настройки необходимо сделать их активными.

Рис. 42 Создание нового ограничения для камеры

В правой части проекта во вкладках появятся параметры ограничения. В пункте Parameter выберите Dolly on X (движение по оси X) и поставьте галочку Enable (рис. 43)

Рис. 43 Параметры ограничения для камеры

После этого создайте ещё ограничение, но в этот раз в пункте Parameters выберите Dolly on Y (Движение по оси Y). Таким образом, мы задали для камеры параметры движения, необходимые для просчёта её траектории.

Для начала просчёта в горизонтальном меню выберите Refine Solution (Рис. 44), либо нажмите Shift + F9.

Рис. 44Выбор пункта Refine Solution в горизонтальном меню

Refine solution отличается от Solve for camera тем, что при выборе этого пункта просчёт ведётся не с нуля, а к уже имеющимся данным добавляются новые. То есть к калибровке неподвижных камер мы добавили просчёт траектории подвижной, взяв эту калибровку за основу.

Также существует пункт Extend solution. Он сбрасывает результаты просчёта в том случае, если они вас не устраивают. Также его нужно использовать, если вы имеете новые данные, но пришлось отредактировать старые результаты просчёта, которые использовались для получения некоего промежуточного результата.

После окончания просчёта мы видим, что все треки на маркерах стали зелёными, либо жёлтыми, что говорит о неплохом результате, а в окне трёхмерной проекции появилась траектория, по которой движется камера (Рис. 45).

Рис. 45 Результат просчёта траектории подвижной камеры

Захват движения актёра в Realviz Movimento

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

До этого момента мы создавали статичные треки (Static Tracks), теперь будем создавать подвижные (Motion Tracks). Поэтому в верхнем левом углу экрана переключим режим работы программы с Calibration на Motion (Рис. 46)

Рис. 46 Переключение режимов работы программы

Затем создадим New Track и установим его на какой-либо из подвижных маркеров на актёре (Рис. 47). Он сразу же появится в группе Motion Tracks в меню иерархии сцены.

Рис. 47 Установка подвижного трека на маркер, его появление в группе Motion Tracks.

Нажмём F3, проделаем то же самое во всех трёх камерах. Получим траекторию движения подвижного трека, то есть какой-либо части тела актёра (рис. 48).

Рис. 48 Просчитанная траектория для подвижного трека

Возможные проблемы и пути их решения

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

Делается это в нескольких случаях. Первый – когда программе не нравится качество изображения. И она вдруг на середине трекинга выдаёт сообщение о низком качестве материала (рис. 49)

Рис. 49 Сообщение о низком качестве записи

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

Прежде всего нужно найти то место, где оборвался трекинг, причём именно для той камеры, в которой это произошло. На таймлайне это место отмечено ромбиком, а ключевые кадры за ним отсутствуют. Поставим бегунок именно в этот кадр, а затем щёлкнем по треку в окне камеры правой кнопкой мыши и выберем там Set Key – End. Мы установили, что в этом месте трекинг нужно прервать (рис. 50).

Рис. 50 Установка отметки об окончании трекинга

Мы прерываем его для того, чтобы пропустить то место в записи, которое не нравится программе. Но затем трекинг необходимо возобновить. Отмотаем запись на пару кадров вперёд и в окне камеры заново установим трек на тот же маркер. Затем щёлкнем по нему правой кнопкой мыши и выберем Set Key – Begin (Рис. 51). С этого момента трекинг продолжится.

Рис. 51 Установка отметки о возобновлении трекинга

Можно нажимать F3 и продолжать трекинг.

Эту процедуру также нужно проводить, если в какой-то момент что-то или кто-то закрывает маркер (рис. 52). Необходимо найти последний кадр, когда маркер остаётся незакрытым и установить там отметку конца трекинга, а затем выяснить где маркер снова появляется в поле зрения и установить отметку о возобновлении трекинга.

Если маркер заслонён долгое время, вы можете установить его положение вручную, перемотав запись на нужный кадр и примерно определив его положение.

Рис. 52 Момент заслонения маркера посторонними предметами

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

Рис. 53 Слияние маркеров на записи

Важное замечание: треки, которые вы заново ставите для обозначения окончания и возобновления трекинга для какого-либо маркера – это тот же трек, который отмечает этот маркер в начале записи, просто в установленный в другом месте (Рис. 54).

Трек, отмечающий маркер в начале записи Точка окончания трекинга

Трек отсутствует Точка возобновления трекинга

Рис. 54. Установка одного и того же трека для отметки конца и возобновления трекинга

Номера этих треков должны совпадать. Поэтому, когда отмечаете начало и конец трекинга, ни в коем случаем не нажимайте New Track – этим вы создадите лишний трек и запутаетесь. Вам нужно просто выделить трек, поставленный на нужном маркере в начале записи, отмотать запись до необходимого момента, а затем поставить его ещё раз. New Track же вы нажимаете, когда переходите к работе со следующим маркером.

Для качественного захвата движения необходимо отследить все подобные моменты. А затем сделать трекинг всех маркеров во всех камерах. Вы получите траектории всех частей тела актёра. В завершении работы вы должны запустить просчёт всей сцены. Нажимаете Refine Solution (Shift + F9) и ждёте какое-то время.

Если всё просчиталось нормально и траектория движения камеры похожа на ожидаемую, то остаётся сохранить проект, а затем экспортировать данные в трёхмерный редактор. Если же траектории представляют собой что-то нереальное (линию, образующую сферу с множеством радиусов, фигуру непонятной формы, образованную из кольев, сходящихся где-то в отдалённой точке, ломаную линию, скачущую на несколько метров вверх – в общем, любую траекторию, которую ваша камера ну никак не могла описывать), то нужно сбросить результаты просчёта, то есть Extend Solution, а затем заново запустить просчёт с нуля (Solve For Camera).

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

Рис. 55 Конечный результат трекинга всех маркеров

Экспорт данных в трёхмерный редактор

После всей проделанной работы можем приступать к экспорту данных в трёхмерный редактор.

Для этого выбираем в горизонтальном мен File – Export, в появившемся диалоговом окне заполняем поле File name, а затем выбираем в выпадающем списке File type пункт 3D Studio Max (*.ms) (рис. 56)

Рис. 56 Экспорт данных из Movimento в формат 3D Studio Max

Нажимаем Save. Теперь можно сохранить проект и закрыть Movimento. Работа с ним закончена.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]