Основным отличием моделей, созданных для игровых движков, является их низкополигональность: чем меньше в модели полигонов — тем меньше затрачивается ресурсов компьютера и, следовательно, тем меньше будет тормозить игра. Профессиональному текстурировщику подобных моделей необходимо не только уметь изготавливать качественные текстуры, но и найти идеальное соотношение между затраченными ресурсами и полученным результатом.
|
 В новом цикле статей "Волшебный мир текстур" мы рассмотрим основные аспекты создания и применения трехмерной графики в 3D Max и научимся рисовать текстуры для игровых моделей.
 Особенности игровых текстур
 Сейчас большинство игровых движков использует в качестве текстур растровые изображения формата TARGA (*.tga), размер которых варьируется от 32х32 до 512х512. Интересно то, что ширина и высота такого изображения должна быть кратна определенной степени двойки, а форма изображения чаще всего квадратная. Подобная текстура может содержать черно-белый альфа-канал (Image Alpha Channel), который используется для создания прозрачных участков текстур (черные области альфа-канала) либо для имитации рельефа.
|
 Для рисования реалистичных текстур используют изображения, полученные при помощи цифровых фотоаппаратов и обработанные затем в Adobe Photoshop. В Photoshop есть очень удобная функция — слои (Layers), которая позволяет делать многоуровневые изображения. Например, на фоне (Background) вы наносите слой, в который помещаете картинку кирпичей, потом второй слой, в который помещаете окна, — и так далее. Удобство заключается в том, что подобные слои легко смешивать и делать полупрозрачными.  
 После создания растрового изображения можно приступать непосредственно к текстурированию.
 Первым этапом текстурирования в 3D Max является назначение определенным полигонам объекта идентификационных номеров материалов: Material ID. Соответственно, группе полигонов, имеющих ID, равный 1, впоследствии будет присвоен материал с таким же идентификационным номером.
 Когтистая лапа монстра
 Возьмем простой пример. Задача — создать материал для когтистой лапы монстра.
|
 Очевидно, что кожа монстра должна отличаться от когтей. Поэтому первое, что необходимо сделать, это выбрать все полигоны когтей с помощью модификатора Edit Mesh (Редактирование каркаса).
 На уровне подобъекта полигон (Polygon) в любом окне проекций выберите полигоны когтей (при этом они станут красного цвета). Для добавления полигонов в выделение удерживайте нажатой клавишу Ctrl. Если вы выбрали лишние полигоны, щелкните на них, удерживая клавишу Alt. Когда все необходимые полигоны когтей выбраны, присвойте им идентификационный номер. Для этого введите значение 2 в поле ID свитка Surface Properties (Свойства поверхности) в параметрах модификатора Edit Mesh.
 Всем остальным полигонам лапы монстра присвойте ID, равный 1. Для этого выберите их, нажав Select Invert (Инвертировать выделение) в пункте главного меню Edit (Редактировать).
|
 Перейдем к материалам. Откройте редактор материалов (Material Editor), нажав клавишу M на клавиатуре. Для лапы потребуется два материала: кожа и когти, каждый из которых будет покрывать свою группу полигонов. Создайте сложный многокомпонентный материал, щелкнув на кнопке Standard (Стандартный) и выбрав Multi/Sub-Object из открывшегося списка. В результате будет получен десятикомпонентный материал. Лапа содержит только два компонента, поэтому уменьшите общее число подматериалов до двух, нажав на кнопку Set Number (Установить число).
 Теперь, щелкая по названию каждого из двух материалов, вы сможете перейти к их настройкам. Не будем особенно углубляться в процесс создания материала кожи и когтей: главное здесь, чтобы кожа (Skin) шла в этом наборе под номером 1 и имела серо-буро-малиновый цвет, а когти — под номером 2 и имели желтый цвет.
 После того как настройки параметров подматериалов будут завершены, присвойте этот сложный двухкомпонентный материал модели лапы. Для этого выберите модель лапы монстра и нажмите кнопку Assign Material to Selection (Присвоить материал выбранному).
|
 Есть еще один способ присвоения материалов частям модели, при помощи которого многокомпонентный материал формируется автоматически. Для этого просто выберите нужные вам полигоны, затем определите материал в редакторе материалов и нажмите кнопку Assign Material to Selection. При этом материал будет присвоен не всему объекту, а выбранной группе полигонов.
 Координаты текстур
 Теперь перейдем к очень важному этапу работы над текстурами — к установке координат текстур, мэппингу (mapping).
 Наша задача — подготовить несложную модель 3D-домика для стратегии реального времени.
|
 Создайте простейшую модель домика с небольшим числом полигонов.
 Сегодня мы не станем помещать все текстуры домика в один файл и использовать сложный модификатор Unwrap UVW (об этом речь пойдет в следующих статьях цикла), а обойдемся более простым и интуитивным методом установки координат текстур — модификатором UVW Map. Этот простой, но многофункциональный модификатор позволяет легко и быстро текстурировать низкополигональные (но не сложные!) объекты.
 Создайте три различных материала: черепичная крыша, кирпичная стена, дощатый пол и дощатая дверь. Если у вас нет под рукой подходящих картинок, то можно воспользоваться стандартными материалами из библиотеки 3D Max.
 Начнем работу с крыши. Присвойте материал Черепица объекту Крыша, выбрав его и нажав Assign Material to Selection.
|
 Если крыша не плоская, а имеет форму, напоминающую параллелепипед, то тип UVW карты следует задать как Box (Параллелепипед).
 Для того чтобы настроить Повторяемость (Tile) текстуры (ведь на крыше не одна черепичка, а множество), изменяйте значения соответствующих счетчиков. Добейтесь того, чтобы черепица на крыше не была слишком крупной.
|
 Проделайте аналогичные операции с объектом Стена дома, присвоив стене материал кирпича и настроив координаты текстур с помощью UVW Map. Следите за тем, чтобы размер кирпича не был слишком большим.
 Завершая работу над домиком, присвойте материал досок полу и двери. Если пол был сделан с помощью плоскости (Plane), то и тип UVW карты задайте как Planar. Измените значения счетчиков Tile, чтобы добиться нужного вам размера досок. Если необходимо повернуть доски на 90 градусов, выберите подобъект модификатор UVW Map, щелкнув на плюсике рядом с его названием в стеке модификаторов и нажав затем на строчку Gizmo (Габаритный контейнер). Когда габаритный контейнер выделен (строчка Gizmo имеет желтый цвет), вы можете вращать его или перемещать по осям координат, при этом объект Пол будет оставаться на месте. Сдвинется только текстура.  
 В итоге домик будет выглядеть так, как показано на картинке.
 Преобразуйте модель в тип Editable Poly (Редактируемый полигон), объедините все части дома в одну с помощью функции Attach (Присоединить) — и ваш домик готов к экспортированию в игровой движок. Правда, следует оговориться, что каждая игра использует свой уникальный способ закраски и предъявляет свои требования к наложению текстур на модели. Описанный способ является наиболее общим, но его придется несколько изменять в зависимости от игры.
|
 
 Каналы материала
 Несколько слов о том, как настроить каналы того или иного материала. Откройте редактор материалов, нажав клавишу M на клавиатуре, и разверните свиток Maps (Карты).
|
 Щелкните по длинной кнопке None (Пусто). Откроется диалоговое окно Material / Map Browser (Просмотрщик материалов/текстур). Поставьте в группе Browse from (Искать в) переключатель New (Новый), в списке слева выберите Bitmap (Растр). Программа предложит указать путь к созданному ранее изображению. После загрузки изображения вы сможете перейти к его настройкам.  
 Счетчики Offset задают смещение текстуры по осям координат, а Tiling — повторяемость текстур. Для поворота текстуры предусмотрено три счетчика Angle (Угол), а для придания эффекта смазанности — счетчик Blur. В итоге, присвоив полученный вами материал выбранному объекту (холсту картины), вы добьетесь требуемого результата.
 * * *
 В следующих статьях цикла "Волшебный мир текстур" мы рассмотрим более сложные способы текстурирования. С использованием модификатора Unwrap UVW создадим прозрачные, рельефные и отражающие материалы.