Вписывание модели в окружающую среду
Фрагмент рукописи книги "3ds Max в промышленном дизайне"
Одной из интереснейших задач трехмерной графики было и остается вписывание трехмерных объектов в окружающую, “живую”, среду, будь то фотография или видео. В библиотеке шейдеров Production, поставляемой вместе с 3ds max 2009, имеется все необходимое для быстрого и качественного решения этой задачи. На примере вписывания данного объекта в фотографию, показанную на рисунке, рассмотрим основные возможности.
Первое, что нужно сделать – это настроить перспективу и создать камеру. Лучше настроить камеру и освещение сначала в новом файле, ориентируясь на ”шарики”.
-- Создайте новую сцену.
-- Размеры изображения установите кратным размерам картинки, которая будет использована для рендеринга (1200 на 1800), для ускорения тестовых расчетов можно ограничиться 400 на 600 пикселей
Главное меню > Rendering > Render Setup > вкладка Common
-- В окне проекции вида перспективы включите Safe Frame
Контекстное меню окна проекции > Show Safe Frame
-- Загрузите файл desk.tif в качестве фонового изображения и включите его отображение
Главное меню > Views > ViewPort Backround > ViewPort Backround
-- Создайте камеру и настройте ее так, чтобы сетка примерно соответствовала фоновому изображению
Пояснение. К сожалению, навигация при виде из камеры возможна только при помощи панели навигации.
Съемка проводилась со штатива с расстояния примерно 1 метр. Использовалось фокусное расстояние 50 мм. Именно так установлена камера и ее параметры.
Чтобы удобнее было подбирать ракурс, установите шаг сетки 100 мм (Главное меню > Tools > Grid and Snaps… ).
-- На виде из камеры создайте плоскость. Чтобы не делать ее большой, но при этом она заведомо распространялась за пределы вида при рендеринге, увеличьте в ее параметрах значение Render Multiplier (помечено стрелкой)
-- Создайте две сферы. Чтобы они точно лежали на плоскости, при их созданнии установите флажок Base to Pivot (основание к точке привязки)
-- На одну из этих сфер назначьте материал с предустановкой Chrome, на вторую – Finish Matte. Вы получите результат, показанный на рисунке ниже. Ничего интересного? Все только начинается!
-- На окружение назначьте шейдер Environment Probe/Chrome Ball (mi) (окружение/зеркальный шар), перенесите его в редактор материалов и настройте так, как показано на рисунке.
Главное меню > Rendering > Environment
Пояснение. Кроме самой фотографии стола, мы сделали фотографии хромированного шара и собрали из них файл в формате HDRI. Так как все делалось с одного ракурса, то совпадение почти полное. Небольшое расхождение, связанное с неточной установкой камеры в 3ds Max, не критично.
Файл BallOnDesk.hdr нужно ввести в шейдер напрямую, так как при переносе через карту Bitmap нет возможности использовать его необходимым образом (стрелка 1)
Используя множитель и небольшой коэффициент гамма-коррекции (стрелка 2) добейтесь нужного уровня и контрастности отражений
-- Ориентируясь на тени на фоновом изображении и отражения в хромированном шаре, установите источники света примерно так и с такими параметрами, как на рисунках. В этом вам может помочь операция Place Highlight (расположить блик).
-- И, наконец, создайте источник небесного освещения, и введите в него шейдер окружения в качестве карты
-- Проведите тестовый рендеринг с включенным окончательным сбором. При небходимости измените параметры источников света и их положение.
В принципе, все хорошо, за исключением одного – слишком яркие блики на хромированном шаре (помечено стрелками), несовпадающие с отражениями. А теперь задайте себе вопрос – а нужны ли вам эти блики, которые являются имитацией отражения источников света? И если вы ответите отрицательно, а именно так вы и ответите в данном случае – отключите их у источников света!
Контрольная панель > свиток Advanced Effects > снимите флажок Specular
Замечание. На самом деле, в “реальной сцене” имеется еще одна настольная лампа, это хорошо видно по теням. Если хотите, вы можете сделать источник света и для нее.
Теперь нужно “избавиться” от плоскости, сделать ее “невидимой”, используя материал Matte/Shadow/Reflection (mi) (Маска/тень/отражения).
-- Выберите материал Matte/Shadow/Reflection (mi) и настройте так, как показано на рисунке, и назначьте на плоскость.
Пояснение. Этот материал, как следует из названия, предназначен для маскирования объектов и получения теней и отражений. Первая возмжность вам сейчас не нужна, зато все последующие очень пригодяться.
В качестве “задника” (Camera Mapped Background) мы назначили шейдер Environment/Background Camera Map (mi) (стрелка на пред. рисунке), позволяющий при рендеригне использовать картинку, “смотрящую” в камеру, которая будет корректно отражаться и преломляться. В дальнейшем вы поймете, что смысла в ее использовании особо нет, более того она вредна. Поэтому окончательный рендеринг будет проведен на черном фоне с последующим совмещением в Adobe Photoshop.
В остальных свитках вы можете определить, что и как будет принимать объект с назначенным на него этим материалом. Нам кажется, что вы уже в состоянии сами с этим разобраться.
Результат рендеринга и альфа-канал, получаемый при этом, показаны на рис. 2.215, в и г соответсвенно. Из-за разницы в яркости хорошо видна граница между плоскостью и окружением. Кроме того, при совмещении с фотографией, из-за полупрозрачного альфа-канала будет видна фоновая картинка, что делает затруднительным внедрение изображения в другое место, кроме заданного, да и цветокоррекция будет затруднена. Поэтому мы предлагаем вам модифицировать материал для плоскости, просто убрав шейдер Environment/Background Camera Map (mi).. Но при этом обязятельно используйте шейдер Environment/Background Switcher (mi) на окружении!
Остается только при помощи команды Merge загрузить нужные объекты (емкости, кнопки и скрепки), и поставить на рендер в большом разрешении. Результат совмещения рендеринга и фотографии в Adobe Photoshop показан на рис. 2.216 и цветной вкладке 6.
Вот и все. Успехов!
Борис Кулагин