поиск

статистика урока

с марта 2004

Текстурирование автомобиля на примере BMW 5 серии.


Эта часть урока расчитана на продвинутых пользователей 3D MAX и не содержит подробного описания всего процесса, оставляя свободу творчества. Лишь в отдельных случаях я даю скриншоты и уточняю детали. Для написания урока использовался 3D MAX 6.0 и рендер VRay.

Часть 3

В двух предыдущих частях этого урока Вы ознакомились с тем, как можно отекстурить автомобиль. Этого материала вполне достаточно для того, чтобы сделать хорошее изображение. Но по-настоящему великолепным оно может стать после использования мягких теней, глобального освещения и постановки Вашей модели в окружающую среду. Для создания хорошей картинки Вам придется запастись не только терпением, но и временем, т.к. при использовании глобального освещения и рейтрейсовых теней время рендера возрастает в 5-10 раз (а то и больше), а количество тестовых рендеров ничуть не уменьшается.
К сожалению, в связи с тем, что GI (глобальное освещение) привносит в сцену свою освещенность, мне придется пересмотреть расположение и настройки светильников, находящихся в сцене, а так же настройки некоторых материалов. Правильным было бы с самого начала строить сцену с учетом конечных задач, но в первых двух частях этого урока я ставил цель как можно проще рассказать о текстурировании, что идет в разрез с этой частью урока.
Что же касается концепции, то в этой части я опишу лишь основные направления работы, не заостряя внимание на таких деталях, как тонкая настройка материалов или рендера. Да это было бы и неправильно, т.к. каждый конкретный случай требует индивидуального подхода. В работе я использовал рендер VRay только по одной причине - он меня вполне устраивает как по скорости рендера, так и по конечному результату. Того же результата можно добиться и при помощи других рендеров, включая встроенный Scanline рендер. Для всех их подход будет одинаков (или почти одинаков).

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

рис.50

Проанализировав фотографию, я пришел к выводу, что линия горизонта проходит немного выше крыльца (красная линия). На данном этапе это важно, т.к. вся дальнейшая настройка положения камеры будет связана с согласованием плоскости, на которой стоит автомобиль с участком дороги на фото. Более подробную информацию по постановке объектов на фон смотрите в моем уроке Интеграция 3D в фотографию.
Хотелось бы сразу предупредить о том, что все действия, связанные с установкой плоскости (а следовательно и всей модели автомобиля) производятся ТОЛЬКО при помощи установки камеры. Если Вы станете пренебрегать этим правилом и &подгонять& геометрию (скажем менять положение вершин, деформируя при этом объект), то в результате Вы получите искажение модели, что отрицательно скажется на конечом результате. Внимательно проанализируйте фотографию, попробуйте определить точку съемки, обратите внимание на тени - это пригодится для ключевого источника света.
На рис. 51 показан скриншот вида из камеры после того, как я поставил фотографию в качестве фона.

рис. 51

Последовательность действий такова:

  • загружаем фото в качестве Environment Map (что позволит видеть фото при рендере)
  • устанавливаем в качестве Vievport Background значение Use Environment Background (фотграфия появится во вьюпорте)
  • в окне Render Scene выставляем выходные размеры в соответствии с размерами нашей фотографии в пикселах (при рендере не будет искажений фона)
  • во вьюпорте активируем опцию Show Safe Frame (это позволит сохранить пропорции фотографии)
  • создаем камеру и в параметрах активируем Show Horizont (необходимо для согласования перспективы на фото и в сцене)
  • находим положение и фокусное расстояние камеры при котором плоскость, на которой стоит авто, примет необходимое положение (все остальные объекты остаются скрытыми, чтобы не загромождать сцену)
  • создаем в сцене ключевое освещение с учетом положения теней на фотографии (обычно я использую Target Directional Light)
Более подробную информацию о том, как это делается, Вы можете посмотреть по ссылке, указанной выше.

Вернемся к рис. 51. Обратите внимание на то, что плоскость, выставленная при помощи камеры, своими границами проходит паралельно линии разметки и бордюрного камня, а линия горизонта камеры (черная линия) соответствует определенному ранее горизонту фотографии.
Сразу же нашей плоскости можно назначить материал VRayMtlWrapper (т.к. мы собираемя рендерить при помощи VRay-я, то стандартный Matte/Shadow материал для этих целей не подойдет)(рис. 52)

рис. 52

Основное предназначение плоскости, которую мы построили, принимать тень от автомобиля. Но, забегая вперед скажу, что та полоса дорожной разметки, которая присутствует на переднем плане фотографии, в данном случае слишком короткая для нормального отражения в автомобиле. В связи с этим мне пришлось увеличить размер той части плоскости, которая перекрывает дорогу и использовать Base material (рис. 52) с текстурой, сделанной специально для этого случая (рис. 53). Естественно, что текстура по горизонтали тайлится, а не растягивается на вю плоскость :-).

рис. 53

При рендере эта текстура будет видима только для отражений, соответственно мы получим полноценное отражение дороги с линией разметки по всей стороне автомобиля, так как это было бы на самом деле, если бы там стоял автомобиль, при этом не меняя структуры фотографии.
Прежде чем сделать первый рендер, я хочу установить в сцену тенеобразующий светильник. Проанализировав тени на фото, я пришел к выводу, что мне прийдется столкнуться со сложной задачей, т.к. солнце расположено сбоку и немного сзади автомобиля, оставляя в тени переднюю часть и сторону, обращенную к зрителю, т.е. 2/3 автомобиля оказываются в тени. Что ж попробуем справиться с этой задачей. Кроме того, я хочу ее еще и усложнить за счет применения темно-синего цвета в качестве покраски кузова. Я уже давно обратил внимание на то, что сложнее всего передать серебристый и черный цвет автомобиля - и там, и там "пропадают" отражения, сливаясь с фоном (хотя это мое личное мнение).
А сейчас можно сделать тестовый рендер, чтобы убедиться в том, что все сделано правильно и если это необходимо, подкорректировать положение или размер автомобиля (не забывайте, что это делается при помощи перемещения камеры). На рис. 54 я указал основные настройки рендера. На данном этапе этого вполне достаточно, чтобы увидеть предварительный результат.

рис. 54

Немного позже мы добавим в рендер HDRI карту в качестве карты окружающей среды и отражений, но это для более тонкой настройки рендера и в настоящее время она не нужна. А пока первый рендер (рис. 55)

рис. 55

Что ж, по своему расположению автомобиль вроде как вписался в фон. Видно отражение на боку автомобиля от плоскости, принимающей тень, это как раз то, что нам было нужно, кроме того, бросается в глаза слишком светлая тень (нужно подкорректировать) и очень темные стекла. Материал стекла (сделанный в предыдущей части урока) использует в качестве отражений и преломлений цвет окружающей среды, а у нас пока что нечему отражаться, отсюда и чрезмерная темнота. Попробуем изменить ситуацию с отражениями.
Для того, чтобы имитировать небо я сделал над автомобилем плоскость с текстурой облаков и уровнем самосвечения равным 90 (аналогично, описанному в первой части). За автомобилем установил вертикально плоскость, которая позволит генерировать отражения на кузове и стеклах автомобиля (рис. 56).

рис. 56

По высоте и ширине плоскость должна быть такой, чтобы на виде из камеры она полность перекрывала всю часть фотографии выше тротуара (т.е. все пространство позади автомобиля). К этой плоскости нужно применить модификатор Camera Map Binding (рис. 57) и ту же текстуру, что и на фоне - это позволит использовать фоновую картинку в качестве текстуры отражения, позиционируя ее отностительно камеры.

рис. 57

Естественно, что в настройках модификатора нужно использовать именно ту камеру (если у Вас их в сцене несколько), которая настраивалась под фоновое изображение.
Пришло время провести еще один тестовый рендер (рис. 58).

рис. 58

Что ж, уже значительно лучше. На капоте и лобовом стекле появились отражения от кустов и здания, на крыше тоже отражается задний план. Тень от автомобиля стала темнее и "гуще" в глубине, что явилось следствием применения к источнику света Target Directional Light тени VRayShadow с параметром Area Shadow. Может быть еще недостаточно отражений переднего плана, но об этом чуть позже. А пока я хочу поделиться тем способом, который я часто использую для точной настройки материалов, теней и рендера. Все очень просто, когда мне нужно делать некоторое количество тестовых рендеров, а сцена перегружена объектами, я убираю из рендера все лишнее, оставляя только то, без чего не обойтись и в качестве тестового объекта строю сферу, применяя к ней нужный материал, после чего начинаю настраивать освещение, тени и материалы, делая пробные рендеры с малым разрешением. В итоге я экономлю время и получаю результат, такой как мне нужно или очень близкий к таковому.
Вернемся к переднему плану. Конечно же можно поставить в сцену еще одну плоскость с текстурой, которая будет отражаться в автомобиле (по аналогии с плоскостями в первой части урока), но я решил использовать два дерева, точнее по две пересекающиеся плоскости с текстурами деревьев. Кроме того сейчас можно подключить к рендеру и внутренние детали интерьера (рис. 59).

рис.59

Отражения на боковых стеклах и интерьер немного оживили автомобиль. Нам осталось сделать только несколько завершающих штрихов и задачу в основном можно будет считать выполненной. Я имею в виду дополнительную настройку тени и применение в глобальном освещении HDRI карт (рис. 60). Это позволит более органично вписать модель в фотографию.

рис. 60

В качестве VRayHDRI карты я использовал изображение с голубым небом, зеленью и участками серого, т.е. как раз то, что нужно в данном случае (для тех, кто не знает сообщаю, что это изображения с высоким динамисеским диапазоном цвета). При помощи таких карт изображение принимает цветовую гамму фона, что очень важно для реалистичности, к которой мы стремимся. На рис. 61 представлен окончательный рендер моей модели.

рис. 61

Ну и, на завершение, буквально несколько слов по уроку.
Всегда остается та часть работы, в которой придирчивый автор видит возможность улучшить конечный результат. Я иногда оставляю почти законченную работу на несколько дней и потом возвращаюсь к ней пытаясь по-новому осмыслить сделанную модель. Это помогает увидеть ошибки, к которым привыкает глаз. Полезно показать работу посторонним людям и выслушать их замечания.
Короче, нет предела совершенству, но к нему нужно стремиться ...

© 2001-2005, Design and Programming by Vladimir Verstak.