ПРИМЕЧАНИЕ
Если у вас возникли вопросы по созданию модели автомобиля, обратитесь к файлу упражнения car.max, расположенному в папке Examples\Глава 12\Car прилагаемого к книге DVD, и проанализируйте готовую модель или ее отдельные элементы.
Глава 13
Текстурирование автомобиля
• Основы текстурирования автомобиля
• Текстурирование деталей автомобиля
После построения модели автомобиля необходимо ее текстурировать. Именно удачные текстуры придают модели вид, который может претендовать на реалистичность.
Текстурирование – не менее сложная и увлекательная задача, чем моделирование. В данной главе я хочу высказать свою точку зрения на текстурирование модели, в частности такой сложной, как автомобиль.
Глава разделена на два упражнения. В первом рассматриваются общие вопросы и текстурирование кузова. Второе описывает текстурирование отдельных элементов.
Текстурирование неразрывно связано с визуализацией, поэтому речь пойдет и о визуализации, и о текстурировании. Почему именно с визуализацией? Вы когда-нибудь обращали внимание, что на современных компьютерах даже сложная геометрия без текстур визуализируется достаточно быстро? Но стоит ввести в сцену материалы с трассируемыми отражениями, глобальное освещение или мягкие тени, и время визуализации увеличивается в несколько или даже десятки раз.
Основы текстурирования автомобиля
Прежде чем начинать текстурировать, необходимо определиться, для каких целей нужна модель. Если для игр или Интернета, то лучше всего подойдет низкополигональная модель с качественными текстурами, скрывающими недочеты подобного моделирования (кроме того, модели для визуализации в реальном времени (Real Time[3]) чаще всего имеют одну текстуру на весь объект). Если размер (я имею в виду количество полигонов) и время визуализации не принципиальны, то больше внимания стоит уделить качеству модели, материалам и текстурам.
При текстурировании модели я придерживаюсь той точки зрения, что все, что можно сгенерировать при помощи процедурных карт и окрасить при помощи материалов, должно быть сделано именно так. Такие материалы дают максимальное качество, возможность быстро менять параметры и не занимают дисковое пространство. Естественно, все должно быть в разумных пределах. Например, я не стал бы делать регистрационный номер на автомобиле методом моделирования с последующим наложением материалов, если он не будет основной деталью изображения. Не следует уделять слишком пристальное внимание и материалам, находящимся в салоне автомобиля, которые будут едва видны через стекла. Очень часто при попытке сделать реалистичные материалы процессор нагружается настолько, что тестовая визуализация длится часами. Хочу предостеречь вас от этого. Всегда существует возможность оптимизировать сцену. Например, исключить из визуализации колеса, которые расположены с противоположной стороны автомобиля, но у которых протектор на шине состоит из большого количества полигонов, а для диска используется такой материал, как Raytrace (Трассировка), и т. д.
Прежде чем приступить к непосредственному выполнению практической задачи, обратимся к теории.
Что делает модель автомобиля реалистичной? Прежде всего материалы и отражения, затем свет и тени, которые помогают ощутить объем, и, конечно, окружение.
Возьмем две фотографии автомобилей. На рис. 13.1 (смотрите также цветное изображение CH13_01.jpg на прилагаемом к книге DVD в папке Images\Глава 13) представлена фотография автомобиля с «жесткими» отражениями, что, с одной стороны, привносит некоторый хаос, а с другой – позволяет лучше ощутить пространство.
Рис. 13.1. Фотография автомобиля с «жесткими» отражениями
На фотографии видно, как отражаются в капоте деревья, небо, а на крыле и пороге – трава. Такие отражения могут появиться, только если краска покрыта слоем лака и отполирована. Создавая их на вашей модели, нужно иметь в виду, что вся геометрия должна быть построена безукоризненно, иначе в отражениях проявятся все неровности кузова.
На второй фотографии (рис. 13.2) у автомобиля более «мягкое» распределение цвета по поверхности.
Отражения не такие «жесткие» и почти незаметны, но вместе с тем видна глубина цвета, а выглядит автомобиль ничуть не хуже предыдущего. Судя по тени, падающей от автомобиля, фотография сделана в солнечный день, а отсутствие ярко выраженных отражений говорит о том, что поверхность имеет матовую основу. Равномерное распределение цвета по поверхности создает целостное восприятие автомобиля, от чего он только выигрывает.
Рис. 13.2. Фотография автомобиля с «мягким» распределением отражений
В качестве исходной модели для текстурирования я буду использовать модель BMW пятой серии (рис. 13.3), вы же можете применить другую модель или BMW из предыдущего упражнения по моделированию автомобиля.
Рис. 13.3. Модель автомобиля без текстур
Начните с расстановки освещения. Это первое, на что нужно обратить внимание при текстурировании. В данном случае вполне подойдет трехточечное освещение с ключевым тенеобразующим источником света. Сразу же настройте свет так, чтобы он не требовал значительной коррекции в процессе работы. Изменения настроек освещения, которые могут потребоваться в дальнейшем, должны быть незначительными, так как свет влияет на восприятие материалов и текстур, что, в свою очередь, может потребовать повторной настройки этих компонентов.
Прежде чем заняться материалом для кузова автомобиля, присвойте какую-нибудь текстуру плоскости, на которой он стоит. Это может быть земля, асфальт или дорожная плитка, как в моем случае.
ПРИМЕЧАНИЕ
Создание плоскости, на которой стоит автомобиль, имеет важное значение для текстурирования. Это связано с тем, что полированная поверхность автомобиля должна отражать окружающие предметы. Часть окружения можно создать при помощи текстурных карт, но поверхность, на которой стоит автомобиль, лучше делать при помощи редактирования на уровне подобъектов, так как, кроме участия в отражениях, она принимает тени от объектов, создавая глубину пространства.
Напомню, как присваиваются текстуры объектам.
1. Откройте окно Material Editor (Редактор материалов), щелкнув на кнопке
находящейся на панели инструментов, либо выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов), либо нажав клавишу M.
2. В окне Material Editor (Редактор материалов) щелкните на любой незадействованной ячейке с образцом материала.
3. В свитке Maps (Карты текстур) нажмите кнопку None (Отсутствует) рядом с картой Diffuse Color (Цвет рассеивания).
4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение). В результате откроется окно диалога Select Bitmap Image File (Выбор растрового изображения).
5. Выберите текстурную карту с изображением плитки.
В данном разделе речь идет о создании материала для кузова и лобового стекла автомобиля, поэтому все остальные объекты можно убрать со сцены, чтобы исключить их визуализацию. На рис. 13.4 представлены объекты сцены, с которыми мы будем работать.
Теперь создайте простой материал. Для этого откройте окно Material Editor (Редактор материалов) и щелкните на любой незадействованной ячейке с образцом материала. В качестве тонированной раскраски стандартного материала выберите в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения) строку Multi-Layer (Многослойная раскраска).