Интеграция 3D в
фотографию
По роду своей деятельности, а я работаю в
рекламном агентстве, специализирующемся на наружной рекламе, мне часто
приходится иметь дело с проектами, которые требуют размещения рекламных
конструкций прямо на фотографии. Область применения такого подхода
значительно шире: от архитектуры, коллажей до создания видео.
В
сегодняшнем уроке, на примере создания стелы для банка, я попытаюсь
объяснить процесс построения целостного изображения на основе 3D и
фотографии.
Предположим, что у нас есть идея для проекта, ее
конструктивное решение. Но заказчику мало просто описать проект, он хочет
видеть каким он будет в жизни. Ну что ж, попробуем выполнить пожелания
заказчика.
Итак , приступим.
Все начинается с фотографии. Первым
делом нужно определиться с каким качеством мы должны будем распечатать
проект для заказчика, отсюда будет зависеть разрешение при
сканировании. Если фотография 9 х 12, а печать будет на листе формата А4,
то я сканирую с разрешением 300 dpi и предпочитаю работать с форматом
tiff.
Подготовительная часть закончена, запускаем MAX. Первым делом
надо разместить фотографию в качестве background-а в окне перспективы. Для
этого выбираем в меню Rendering > Environment>Environment Map, и в
качестве карты Bitmap выбираем нашу фотографию.
Прошу обратить внимание на то, что когда
откроется диалоговое окно "Select bitmap image file" и Вы активизируете
изображение, внизу, в графе Statistics будет дано разрешение в пикселях,
надо запомнить или записать это значение для параметров рендера.
Жмем
ОК и на кнопке появляется название нашего файла. Хочу заметить, что иногда
требуется небольшая коррекция для фотографии в процессе работы и для того,
чтобы это было возможным в MAX-е, достаточно скопировать ее в редактор
материалов. Для этого открываем редактор Tools>Material Editor и
кликнув по кнопке в окне Environment (если Вы его еще не закрыли)
перетаскиваем ее в любой свободный слот в редакторе материалов, а в
качестве метода копирования выбираем instance. Там, во вкладке Output,
достаточно настроек что бы подкорректировать при необходимости
изображение.
Пол дела сделано. Далее надо прописать это изображение в
окно перспективы. Для этого откроем Views>Viewport Background и
там активизируем Match Bitmap, Display Background, Lock Zoom/Pan и в
последнюю очередь Use Environment Background. В качестве Viewport-а
выбираем перспективу и после нажатия на ОК получаем наше изображение в
окне перспективы. Ну и что бы совсем закончить с настройками, связанными с
фотографией, перейдем к настройке рендера Rendering>Render. Вот тут нам
и пригодится размер фотографии в пикселях - их нужно прописать в Output
Size в качестве ширины и высоты - это сохранит пропорции фотографии и
отрендерит изображение с максимальным качеством. Кроме того для тестовых
рендеров я часто использую настройки Draft Render-a, где сохраняя параметр
Image Aspect ( т.е. пропорции ) уменьшаю в несколько раз размеры
изображения для скорейшего рендера сцены.
Далее приступаем к анализу
нашей фотографии. Надо определить точку, с которой производилась съемка (
что необходимо для правильной постановки камеры в сцене), а так же
проанализировать свет и тени ( это пригодится для выставления
светильников).
Начнем с камеры. Логично предположить , что фотоаппарат
находился на уровне глаз фотографа, значит и камеру в сцене надо выставить
на высоте 1600 - 1700 мм ( за отметку земли возьмем начало координат по
оси Z). Target камеры будет находиться несколько выше т.к. фотография
сделана под небольшим углом. Конечно, идеальным вариантом было бы знать
реальные размеры объектов на фотографии ( например столбов) и расстояния
до точки съемки, но попробуем разобраться без них.
Что касается света,
то судя по теням от машины и столба можно предположить, что солнце
находилось слева и немного впереди.
А сейчас я хочу сделать небольшое
отступление и сказать несколько слов по поводу последовательности в работе
такого характера. Что касается данного примера, то можно было вначале
построить всю геометрию ( плоскость земли и саму стелу), согласно реальных
размеров, а лишь только потом начинать работу с фотографией. Так Вы не
будете загружать понапрасну свой компьютер. Но гораздо чаще приходится
строить объекты используя фотографию, т.е. заниматься подгонкой прямо по
месту (например добавить несколько мелких деталей в интерьер комнаты),
потому я и описал именно такую последовательность.
Ну, что ж, вернемся
к работе.
Предположим, что мы уже раньше сделали модель стелы и
сейчас только экспортируем ее в сцену. Далее "подведем" под ее
плоскость (Create>Geometry>Plane), которая будет лежать на уровне
земли и в дальнейшем будет использована для "принятия" тени от стелы.
Исходя из этих соображений размер плоскости может быть любой, но не менее
того, на который уместится тень ( ведь это ее основное назначение). Кроме
того, как Вы увидите ниже я использую грани плоскости для выравнивания
относительно точек схода. На этом с геометрией закончили - теперь вернемся
к Камере.
Построим на виде сверху камеру (Create>Cameras>Target)
так, чтобы она была направлена на "лицо" стелы, затем, не снимая выделения
активизируем в главной панели значок трансформации (Select and Move) и
кликаем по нему правой кнопкой мыши, после чего появится окно для ввода
числовых значений трансформации, где в поле оси Z введем 1700 ( расстояние
от земли до камеры).
Сейчас можно окно перспективы заменить на
вид из камеры и продолжить настройки. Для согласования линии горизонта
камеры с горизонтом на фотографии надо включить показ горизонта камеры во
вьюпорте. Для этого, при выделенной камере, зайдите в панель Modify и
активизируйте Show Horizont во вкладке Parameters.
На рисунке внизу я
попытался представить составляющие правильной настройки камеры и
освещения. Для наглядности я провел (можно это сделать, подключив
воображение) две красные линии параллельно бордюрному камню и по краю
газона ( в жизни они обычно параллельны). На пересечении мы получили точку
схода, а следовательно и линию горизонта фотографии.
Сейчас используя инструмент Select and
Move передвиньте Target камеры по оси Z так, чтобы черная горизонтальная
линия ( горизонт камеры) совпал с точкой схода. Все, по оси Z камеру
двигать больше не нужно - она заняла свое место. Осталось только
перемещать ее по осям X и Y для того, чтобы объект встал на то место,
которое для него предназначено. Стелу предполагается расположить
перпендикулярно дороге, следовательно по левой грани плоскости Plane 01
можно выставить и стелу. Для того, чтобы проще было настраивать камеру, я
в Object Properties для Plane 01 (окно появляется после нажатия правой
кнопкой мыши на Plane 01) установил Display As Box.
На рисунке вверху
плоскость обозначена белой линией, а крайняя левая красная линия указывает
на то, что она выставлена параллельно дороге. А на рисунке внизу показан
вид сверху, где видно окончательное расположение камеры и
светильников.
Сейчас несколько слов по поводу
освещения. Всего в сцене 4 светильника: три Omni (заполняющие)
и Target Direct. Для источника света, который будет генерить
тени я выбрал Target Direct, как наиболее близкий по отбрасыванию теней к
солнцу ( у солнца лучи почти параллельны). Выставил его согласно
описанному выше анализу - слева и немного впереди ( рис 1). Хочу обратить
Ваше внимание на то, что для более реалистичной тени я применил Shadow Map
с параметрами, которые Вы можете видеть ниже.
Как Вы можете видеть, параметр Bias равен
0. Это не позволяет тени "отрываться" от объекта, который ее отбрасывает.
Выставив Size равным 1000 я сделал тень более ровной, а параметр
Sample Range "генерит" размытые края тени. Все эти параметры подбираются
опытным путем в зависимости от задач и выходного размера
картинки.
Далее поговорим о материалах, точнее об одном материале,
который назначается Plane 01. Это Matte/Shadow материал - именно он
позволяет принимать тени, сам при этом оставаясь невидимым. Ниже Вы можете
увидеть настройки этого материала - они достаточно просты. Просто
установите флажок Receive Shadow и Affect Alfa. Кроме того с помощью
параметра Shadow Brightness можно изменить яркость тени, а параметр Color
меняет цвет тени.
Остальные материалы настраиваются как
обычно.
И напоследок несколько советов. В нашем
случае тень от стелы падала на ровную землю, а что если тень падает на
стену здания с колоннами, окнами и пилястрами? Все не так страшно, просто
надо симитировать выступы и впадины (достаточно если это будет весьма
приблизительно) и с расстояния Вы ничего не заметите. Другое дело если
объект показан крупным планом - тут придется потрудиться. Кроме того
фотографии чаще всего имеют глубину резкости и надо подбирать параметр
сглаживания при рендере чтобы объект не казался инородным телом. Это же
относится и к подбору цвета для светильников ( надо попасть в цветовую
гамму фотографии).
Ну, вот, пожалуй и все, что я хотел рассказать в
данном уроке.
Удачи!