Но даже в идеальной армии все солдаты не могут выглядеть абсолютно одинаково. Возникает необходимость как-то разнообразить персонажей. На них можно накладывать цветокоррекционные фильтры, изменять их размер и пропорции и, как уже было сказано, составлять одно целое из частей разных персонажей. Для этого чаще всего используется метод 2D-трекинга. При этом программа отслеживает положение какой-то заданной на одном кадре точки во всех остальных кадрах последовательности. После чего к координатам точки можно «привязывать» различные объекты, будь то шапка кавалериста или же половина чайки. Только в одном случае шапка «привязывается» к какой-то выразительной точке на голове человека, а в другом – к углу обрезанного тела чайки.
Для того чтобы на отснятый городской пейзаж добавить рекламный плакат, висящий на стене дома, необходимо «протрекать» (получить последовательность координат точки на каждом кадре) точки, соответствующие тем углам дома, за которые будет крепиться плакат, и просто как четырехугольник по четырем углам прикрепить картинку с плакатом. Степень достоверности сцены зависит лишь от мастерства художника. Но при изменении положения камеры освещение может меняться, а так как наш плакат остается двухмерным, то имитировать правильное освещение – достаточно непростая задача. Что при работе с трехмерными объектами перестает быть столь большой проблемой.
Встает проблема совмещения трехмерной и двухмерной информации. Чаще всего приходится работать в трех направления: вживлять 3D-персонажей в отснятый фон (возможно, с актерами), переносить изображения с актерами в 3D-декорации и изменять внешний вида актера при помощи 3D-объектов.
Две видеопоследовательности снимаются разными по своей природе камерами – реальной и виртуальной. Если камера неподвижна, то первых двух проблем не возникает – достаточно лишь подобрать свет и положение камер. Но если нам нужна сцена с пролетом камеры, то обе камеры должны двигаться идентично. Для виртуальной камеры мы всегда точно знаем ее параметры и траекторию движения, ведь они задаются цифрами. А для материалов, отснятых настоящей кинокамерой, обычно известно только фокусное расстояние объектива, да и то если информация не потеряна после съемок.
Конечно, можно перемещать камеру в пространстве по строго определенному закону, но для этого потребуется специальный дорогостоящий робот. Гораздо проще восстановить параметры камеры и способ ее движения по уже отснятому материалу. Метод для восстановления параметров и движений камеры называется мачмувингом. Метод основан на принципах проективной геометрии. Понятно, что если точки на трехмерной сцене, которую мы снимаем камерой, неподвижны друг относительно друга, то они не могут двигаться на видео независимо друг относительно друга.
Входными данными для алгоритмов восстановления параметров камеры являются последовательности координат некоторых точек на каждом кадре. Эти точки могут выбираться программой автоматически – например, как самые яркие или как содержащие пересечение выделяющихся линий (уголки), но более точный результат обычно получается, если они заданы вручную. Человек указывает некоторые точки на одном кадре, после чего программа сама следит за их перемещением и находит их координаты на всех остальных кадрах, если, конечно эти точки все еще видны на них.
Далее при помощи различных математических моделей восстанавливается траектория камеры и трехмерные координаты тех точек, что были использованы в качестве входных данных. Например, для ролика, снятого в комнате, в качестве опорных точек можно выбрать углы стола и комнаты, или яркие колпачки на авторучках, а также другие мелкие хорошо видимые предметы. Результаты работы программы можно импортировать в 3D-редактор, для каждой опорной точки будет создан маркер, а камера будет полностью соответствовать той с помощью, которой был снят исходный ролик. Теперь, чтобы положить на стол новый предмет, надо провести воображаемую плоскость между точками, соответствующими углам стола, и на ней разместить 3D-объект. Если наложить на исходный клип изображение, полученное виртуальной камерой, то вживленный предмет будет выглядеть неподвижным относительно стола, как будто он там просто лежит.
Сразу же встает проблема с освещением. Ведь для того, чтобы «вживленный» объект выглядел органично, его освещение должно соответствовать сцене в целом. Более того, было бы совсем неплохо, если бы он отбрасывал тень на другие части сцены. С освещением все делается достаточно естественным путем. Если есть информация о свете, который был установлен на съемочной площадке, то делается подобная структура из виртуальных осветительных приборов, а потом их параметры подгоняются, грубо говоря, на глаз. Если же такой информации нет, то сразу переходим ко второй стадии – подбору параметров, только теперь необходимо подобрать еще количество и расположение источников света.