Зараз можна призначити координати і відзначити потрібні точки для експорту. Якщо в 3D пакеті об'єкти будуть розміщуватися на дорозі, то в цьому випадку можна відзначити лише ті точки, що відповідають поверхні дороги і встановити для них Flag for export.
Так за допомогою масок можна добитися більш точного результату, в першому проекті маскою закривлся рухається актор, а в цьому проекті закривався статичний об'єкт.
У наступному прикладі буде розглянуто спосіб трекінгу за допомогою 3D об'єкта.
З початку створимо ключові кадри. Повертаємося в 3D Tasks, вибираємо рядок Initialize Key Schedule і натискаємо на неї, так будуть створені ключові кадри, їх можна побачити на таймлайн в рядку User Solve.
маніпулятори для переміщення і обертання моделі.
перехід в режим Fly align, для масштабування 3Dмоделі. Для того, що б міняти масштаб, натискаємо на іконку Fly align і за допомогою комбінації Shift + права кнопка миші, змінюємо розмір моделі. Тут же можна і переміщати і обертати модель за допомогою комбінацій Shift + ліва кнопка миші (обертання) Shift + середня кнопка миші (переміщення). Але все ж більш точно розташувати модель, краще за допомогою маніпуляторів.
Зараз необхідно створити або Target Track або Locator. У Toolbox вибираємо Locator і встановлюємо його в першому кадрі так, що б його положення збігалося з вершиною знятого об'єкта (коробки) і переходячи по таймлайн встановлюємо у відповідних місцях створений локатор, так що б на протязі всієї довжини, положення локатора збігалося з положенням вершини знятого об'єкта. Це вкаже програмі розташування вершин і трекінг об'єкта буде більш точним. Для успішного трекінгу необхідно мінімум 4 Locator (локатора) або Target Track. При цьому ключові кадри локатора повинні збігатися з ключовими кадрами, створеними програмою. Що б переміщатися тільки по ключовим кадрам, можна скористатися кнопками Next / Previous Solved Frame, що знаходяться під таймлайн.
Натискаючи на кнопки Next / Previous Solved Frame, переміщення відбуватиметься лише по ключових кадрах.
Але при переміщенні по таймлайн видно, що положення 3D моделі і знятого об'єкта збігається тільки в першому кадрі, тому що саме в першому кадрі відбувалося суміщення моделі з об'єктом (корбка). Що б суміщення було на пртяжении все довжини і у всіх ключових кадрах, необхідно пов'язати вершини 3D моделі з Locator (локаторами), які були встановлені на вершинах знятого об'єкта і у всіх ключових кадрах. Перед тим як зв'язати вершини з локаторами, скористаємося інструментом Vertex align, це допоможе точніше розмістити вершини 3D моделі, щодо локаторів.
Vertex align використовується для переміщення вершин 3D моделі. Для активації даного ІНТСРУМЕНТ необхідно натиснути на зазначену іконку.
Відзначаємо вершину моделі і переміщаємо так, що б вона збігалася з положенням Locator. Ці дії необхідно виконати все в тому ж першому кадрі.
Як тільки всі вершини будуть суміщені з локторамі (Locator) їх потрібно зв'язати. Для цього відзначаємо вершину і локатор, потім натискаємо правою кнопкою миші і вибираємо рядок Connect Survey Point, теж саме робимо з іншими вершинами і локаторами. Якщо все зроблено правильно, вершина і локатор забарвляться в помаранчевий колір.
Сумісний 3D з об'єктом в інших ключових кадрах. З огляду на що положення локаторів (Locator) відповідає положенню вершин об'єкта (коробки), при цьому вершини 3D моделі пов'язані з локаторами, можна скористатися функцією Solve View from Known 3D, натискаючи на цю кнопку, Boujou буде розміщувати 3D модель виходячи з положення локаторів до яких прив'язані вершини цієї моделі.Для того що б скористатися кнопкою Solve View from Known 3D, необхідно перейти в робоче вікно Model. Переходячи по ключеввим кадрам, в кожному з них натискаємо на кнопку Solve View from Known 3D, після цього положення 3D моделі буде відповідати знятому об'єкту (коробці) .Але тільки в ключових кадрах.
Переходимо в праву, нижню частину прогрмма і вибираємо Model.
У вікні Model Tools натискаємо на зазначену кнопку в кожному ключовому кадрі.
Якщо перейти в режим 3D проекції (вид з верху), можна побачити розміщення камери. Камера розташована по своєму шляху, але при цьому тільки в ключових кадрах.
Що б заповнити порожнечу між ключовими кадрами, перейдемо в 3D Tasks далі вибираємо рядок Solve from Existing Camera, ця функція виконує ту ж роль, що і Camera Solve, але якщо Camera Solve створює камеру, то Solve from Existing Camera працює з уже існуючою камерою. Тепер можна додати тестові об'єкти і включити відтворення. Завдяки всім проробленим діям, 3D модель точно повторює рух знятого об'єкта, а вершини моделі відповідають вершинам коробки. Так само, при експорті, можна виділити потрібні точки і в 3D пакеті по ним створити модель.
В даному прикладі ніяких складнощів при суміщенні немає. У 3D пакеті відкривається скрипт і по точках створюється 3D об'єкт.
І в завершенні розглянемо Object Tracking, це можливість відстежити рух об'єкта тільки за даними 2D трекінгу (Track Features).
Після завершення процесу іпортіруем 3D об'єкт, в даному випадку 3D об'єкт повинен бути таким же, як і знятий об'єкт. У проекті буде використовуватися частина котячої голови.Переходім в 3D Tasks далі до рядка Import OBJ Model, в вікні встановимо галочку, Create User Solve, таким чином імпортуємо, заздалегідь приготовлену модель.
Для зручності можна змінити параметри 3D моделі, приховати вершини, сітку, змінити прозорість. Так буде легше поєднати модель із зображенням. Для цього потрібно перейти в вікно Taskview і змінити параметри моделі.
Може вийде так, що в якому-небудь кадрі модель почне зміщуватися щодо знятого об'єкта, в цьому випадку необхідно зупинити трекінг, натиснувши на Cancel, перейти в той кадр, де почалося зміщення і знову поєднати модель з об'єктом, таким чином створиться додатковий ключовий кадр, а потім натискаємо кнопку Track backward і трекінг буде проходити у зворотному напрямку, тобто до першого кадру.Еслі все пройшло без зсувів, переходимо в той кадр, де трекінг був зупинений і знову натискаємо кнопку Track forward, при необхідності повторюємо дії.
Ось результат трекінгу, в цьому проекті процес був зупинений один раз і створений один ключовий кадр. Тепер можна експортувати дані.
Відкриваємо скрипт в 3D Max, в даному випадку скрипт містить камеру і тільки дві точки boujou_data і reference_points, замість звичайного «хмари» точок (Predictions). Потім імпортуємо 3D об'єкт, що використовувався для трекінгу.
Що стосується безпосередньо 3D Tracking, на цьому все. Що хотілося б додати, в кожному проекті можуть виникнути проблеми і ці проблеми можуть вирішуватися по-різному. В процесі освоєння програм для 3D Tracking, кожен користувач знаходить свій шлях і своє рішення задач. Якщо в розпорядженні є матеріал з маркерами, з плавним рухом камери, без розмиття зображення, є дані про камеру, в кадрі відсутні рухомі об'єкти, в такому випадку багатьох дій можна уникнути і отримати хороший результат з першого разу. Але на практиці все інакше, тому і були описані різні способи виправлення неточностей в трекінг.
Відкриваємо програму і завантажуємо отриманий скрипт.
Зараз нам знадобиться послідовність кадрів з першого прикладу, яка була зроблена в програмі Boujou, з урахуванням спотворення (Distortion). Переходимо в Rendering, далі вибираємо Environment або клавіша 8 і завантажуємо послідовність, після цього необхідно завантажити ту ж послідовність у Background, натискаємо комбінацію Alt + B і в откришемся вікні вибираємо файл і встановимо галочку Use Environment Background, інакше при поєднанні з Background все буде виглядати добре, а при прорахунку об'єкти будуть розміщені не правильно, щодо Environment.
Що б перевірити масштаб сцени, можна створити лінійку Tape і розмістити її між маркерами, яким було вказано відстань. У Boujou було вибрано 2 маркера і вказану відстань було 15 см (6 дюймів). Створюємо Tape і перевіряємо довжину, вона дорівнює 15-ти сантиметрів. Тепер можна створювати об'єкти.
Для контролю за станом об'єктів і актора, можна створити допоміжний об'єкт, що б не робити зайвих, промежточних прорахунків. Створимо прямокутник по крапках, що знаходяться навколо актора, в цьому випадку так само можна скористатися лінійкою Tape. Зростання актора і довжина рук становить приблизно 180 см, такої довжини і буде лінійка і відповідно вспомгательний об'єкт.
Тепер можна заповнити сцену 3D об'єктами. У проекті використовувалася готова модель цистерни. Параметри залізничної цистерни знаходимо в інтернеті. Середня довжина даного вироби 10-12 метрів, а висота 4,5-5 метрів. Знову скористаємося лінійками, встановимо одну на 1200 см, іншу на 500 см і за цими параметрами створимо потрібний об'єкт. Зручно перемістити Pivot об'єкта в ту точку, яка буде взаємодіяти з актором, так буде простіше точно встановити об'єкт.
Переміщаємо об'єкт так, що б він збігся з точкою на руці, ця точка (Target Track) була додана в Boujou, перед експортом камери.Контроліруя положення об'єкта з різних ракурсів, встановлюємо так, що б його край збігся з точкою.
Після розстановки об'єктів в сцені, можна зробити контрольний прорахунок одного або декількох кадрів. Якщо все збігається, прораховуємо всю сцену.
Розглянемо розміщення об'єктів в наступному проекті. Можна встановити крісло в останньому кадрі (кадр 145), в цьому кадрі зручно контролювати стан об'єкта, щодо актора. Але при переміщенні до початку видно, що об'єкт зміщується щодо актора. У проміжному кадрі (кадр 85) зсув не дуже велике, але вже помітний, а в початковому кадрі (кадр 0) явна невідповідність, крісло змістилося в ліву частину. Якщо поєднати об'єкт в початковому кадрі, перемістивши його в право, тоді в кадрі 145 об'єкт зміститься в праву частину.
Для того, що б об'єкт був суміщений з актором на пртяжении всієї довжини, крісло необхідно перемістити по осі X, до тих точках, що відповідають положенню АКТР, це локатори, що були встановлені перед експортом даних на жовтому маркері.
Зараз, переміщаючись по таймлайн, можна побачити що об'єкт суміщений з актором по всій довжині.
Якщо актор буде поміщений в об'єкт, що рухається, в даному проекті в автомобіль, в цьому випадку автомобіль і актор повинні переміщатися щодо оточення. Для цього необхідно виділити точку boujou_data і анімувати її положення, потім прив'язати потрібні об'єкти до точки boujou_data. При цьому будуть переміщатися всі точки і сама камера, що не порушить шлях руху камери, отриманий в результаті трекінгу.
Для створення поверхні дороги можна використовувати шлях камери, так буде швидше і точніше. Для цього виділяємо камеру, переходимо в Motion, делее до Trajectories і конвертуємо шлях камери в Spline, потім переміщаємо створений Spline до краю дороги і опускаємо вниз, так що б становище лінії відповідало положенню точок, які в свою чергу були відзначені при експорті даних. Далі можна скопіювати лінію і перемістити копію до протівопложному краю дороги, в завершенні конвертувати лінії в сітку (Mesh).
Якщо в сцені використовуються статичні об'етов, в такому випадку достатньо створити об'єкт і розмістити в сцені, а якщо будуть використовуватися рухомі об'єкти, можна також використовувати шлях камери і анімувати об'єкт за допомогою контролера Path Constraint.
Зараз можна прорахувати один кадр і подивитися як виглядає сцена. Якщо отриманий потрібний результат, можна прорахувати всю сцену.
Об'єкти, які взаємодіють з актором, необхідно прораховувати розділивши їх на частини так, що б елементи знаходяться за актором і перед ним, були окремо. При складанні сцени буде можливість розміщувати шари у відповідному порядку.
В уроці не розглядається ні рендер, ні композинга. Докладний урок про це, від mentor. можна постотреть ТУТ.
На цьому все. Сподіваюся урок буде корисним.
Дякую за приділеною увагу.