Современные информационные технологии. Программное обеспечение

Магистрант Ибадулла С.И.

Кызылординский государственный университет имени Коркыт ата

Интеграция 3D в фотографию

Все начинается с фотографии. Первым делом нужно определиться с каким качеством мы должны будем распечатать проект для заказчика, отсюда будет зависеть разрешение при сканировании. Если фотография 9 х 12, а печать будет на листе формата А4, то я сканирую с разрешением 300 dpi и предпочитаю работать с форматом TIFF. Подготовительная часть закончена, запускаем MAX. Первым делом надо разместить фотографию в качестве background-а в окне перспективы.

Для этого выбираем в меню Rendering > Environment>Environment Map, и в качестве карты Bitmap выбираем нашу фотографию.

Background
Прошу обратить внимание на то, что когда откроется диалоговое окно "Select bitmat 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 ( расстояние от земли до камеры).


Move Сейчас можно окно перспективы заменить на вид из камеры и продолжить настройки. Для согласования линии горизонта камеры с горизонтом на фотографии надо включить показ горизонта камеры во вьюпорте. Для этого, при выделенной камере, зайдите в панель Modify и активизируйте Show Horizont во вкладке Parameters. На рисунке внизу я попытался представить составляющие правильной настройки камеры и освещения. Для наглядности я провел (можно это сделать, подключив воображение) две красные линии параллельно бордюрному камню и по краю газона ( в жизни они обычно параллельны). На пересечении мы получили точку схода, а следовательно и линию горизонта фотографии.

TopPictureСейчас используя инструмент Select and Move передвинте Target камеры по оси Z так, чтобы черная горизонтальная линия ( горизонт камеры) совпал с точкой схода. Все, по оси Z камеру двигать больше не нужно - она заняла свое место. Осталось только перемещать ее по осям X и Y для того, чтобы объект встал на то место, которое для него предназначено. Стеллу предполагается расположить перпендикулярно дороге, следовательно по левой грани плоскости Plane 01 (а стелла согласована с этой плоскостью) можно выставить всю геометрию. Для того, чтобы проще было настраивать камеру, я в Object Propertis для Plane 01 (окно появляется после нажатия правой кнопкой мыши на Plane 01) установил Display As Box. На рисунке вверху плоскость обозначена белой линией, а крайняя левая красная линия указывает на то, что она выставлена параллельно дороге. А на рисунке внизу показан вид сверху, где видно окончательное расположение камеры и светильников.

Shadow MapСейчас несколько слов по поводу освещения. Всего в    сцене 4 светильника: три Omni (заполняющие) и Target Direct. Для источника света, который будет генерить тени я выбрал Target Direct, как наиболее близкий по отбрасыванию теней к солнцу (у солнца лучи почти параллельны). Выставил его согласно описанному выше анализу - слева и немного впереди (рис 1). Хочу обратить Ваше внимание на то, что для более реалистичной тени я применил Shadow Map с параметрами, которые Вы можете видеть ниже.



Как Вы можете видеть, параметр Bias равен 0. Это не позволяет тени "отрываться" от объекта, который ее отбрасывает. Выставив Size равным 1000 я сделал тень более ровной, а параметр Sample Range "генерит" размытые края тени. Все эти параметры подбираются опытным путем в зависимости от задач и выходного размера картинки. Далее поговорим о материалах, точнее об одном материале, который назначается Plane 01. Это Matte/Shadow материал - именно он позволяет принимать тени, сам при этом оставаясь невидимым. Ниже Вы можете увидеть настройки этого материала - они достаточно просты. Просто установите флажек Receive Shadow и Affect Alpha. Кроме того с помощью параметра Shadow Brightness можно изменить яркость тени, а параметр Color меняет цвет тени.

Shadow

Остальные материалы настраиваются как обычно.

End

И напоследок несколько советов. В нашем случае тень от стеллы падала на ровную землю, а что если тень падает на стену здания с колоннами, окнами и пилястрами? Все не так страшно, просто надо симитировать выступы и впадины (достаточно, если это будет весьма приблизительно) и с расстояния вы ничего не заметите. Другое дело, если объект показан крупным планом - тут придется потрудиться. Кроме того фотографии чаще всего имеют глубину резкости и надо подбирать параметр сглаживания при рендере, чтобы объект не казался инородным телом. Это же относится и к подбору цвета для светильников (надо попасть в цветовую гамму фотографии).

Литература:

1.  http://dlight.use.ru