3D Studio MAX: первые шаги. Урок 11. Основы проецирования материалов
Применение модификатора UVW Map
Проецирование на уровне объекта
Проецирование на уровне подобъектов
Головка для накидного гаечного ключа
Плитка шоколада с гравировкой
теперь посмотрим, как возможность установки текстурных координат облегчает создание плитки шоколада с делениями для разлома, которые должна украшать гравировка. Создайте обычный куб с параметрами как на рис. 49. Выделите объект, конвертируйте его в режим работы с полигонами и перейдите в режим редактирования полигонов. Выделите верхние грани и примените к ним операцию Bevel, настроив параметры в соответствии с рис. 50. Не снимая выделения, примените к граням операцию Extrude с параметрами как на рис. 51, а затем — вновь Bevel при уже использованных ранее значениях. В итоге объект будет разбит на отдельные фрагменты и действительно станет напоминать плитку шоколада (рис. 52).
Рис. 49. Исходный куб
Рис. 50. Настройка параметров операции Bevel
Рис. 51. Настройка параметров операции Extrude
Рис. 52. Плитка шоколада
Теперь на каждой из маленьких плиточек нужно создать гравировку — попробуем вырезать надпись с рамкой, представленную на рис. 53. Однако вначале для удобства работы данную надпись будем просто накладывать. Поэтому создайте новый материал и установите рисунок с гравировочным изображением на канале Diffuse. Выделите верхние полигоны (только те, на которых должна быть гравировка) и назначьте им созданный материал — пока результат будет весьма далек от желаемого (рис. 54). Видно, что надпись распределяется на всю выделенную область, в то время как нам необходимо, чтобы она появилась на каждом фрагменте шоколадки. Исправить ситуацию очень просто: не снимая выделения, создайте модификатор UVW Map и измените планарный тип проецирования на граневый (Face) — рис. 55, что и приведет к нужному варианту отображения текстуры. После этого вернитесь в редактор материалов и перетащите текстурную карту с канала Diffuse на канал Bump с обменом текстур (Swap), увеличьте значение в поле Amount (Количество) примерно до 200 — надпись превратится в гравированную (рис. 56). Теперь останется лишь установить «шоколадный» цвет на канале Duffuse, а затем для инвертированного выделения (Edit=>Select Invert — Правка=>Выделить инверсию) создать и назначить новый материал с точно таким же «шоколадным» цветом. Возможный результат показан на рис. 57.
Рис. 53. Изображение для гравировки
Рис. 54. Плитка после назначения материала
Рис. 55. Результат установки граневого проецирования
Рис. 56. Появление гравировки
Рис. 57. Плитка шоколада с гравировкой
Стена сложной конструкции
еперь поэкспериментируем с текстурированием объекта со сложной геометрией. Условно к таким объектам можно отнести любые (внешне даже самые простые) объекты, к которым нельзя применить только один из типов проецирования (планарный, цилиндрический, кубический и пр.). В качестве подобного объекта возьмем стену, полученную путем сплайнового моделирования. Для начала создайте примерно такой же набор сплайнов, как на рис. 58. Основная часть сплайнов получена при помощи инструмента Line (Линия), а дугообразный фрагмент — инструмента Arc (Дуга), при этом каждый сплайновый фрагмент представляет собой замкнутый сплайн. Объедините все сплайны в один составной сплайн и, не снимая выделения, добавьте к сплайну модификатор Extrude (Выдавить), установив в поле Amount (Количество) свитка Parameters (Параметры) подходящее значение (рис. 59). Откройте редактор материалов и создайте новый материал с текстурой на канале Diffuse (рис. 60 и 61). Проведите рендеринг и увидите, что материал наложен некорректно (рис. 62). Единственным фрагментом стены с нормальным проецированием будет ее перпендикулярный фрагмент, а на всех остальных текстура в той или иной степени растянута. Стоит заметить, что искажение текстуры всегда имеет место, если поверхности объекта не параллельны плоскостям поверхностей гизмо.
Рис. 58. Исходный набор сплайнов
Рис. 59. Выдавливание стены
Рис. 60. Текстура для канала Diffuse
Рис. 61. Параметры настройки текстуры для канала Diffuse
Рис. 62. Стена с текстурой без проецирования
Попробуем исправить ситуацию. Для этого нужно разбить стену на отдельные геометрические блоки и применить к ним разные настройки проецирования. Выделите стену и назначьте ей модификатор Mesh Select, что позволит модифицировать объект на уровне подобъектов. Внутри данного модификатора подсветите строку Polygon (Полигон), чтобы перейти в режим редактирования на уровне полигонов, выделите все прямоугольные фрагменты стены (за исключением перпендикулярного фрагмента, где текстура отображалась нормально) и установите для них ID равным 2 (рис. 63). Добавьте модификатор UVW Map, установите прямоугольный тип проецирования и при необходимости отрегулируйте размеры и положение гизмо (рис. 64). По окончании визуализируйте сцену — на этот раз результат будет несколько лучше (рис. 65). Выделите на панели Modify только что созданную строку UVW Mapping и вновь добавьте модификатор Mesh Select. Перейдите в режим редактирования полигонов, выделите дугообразный фрагмент стены и установите для его полигонов ID равным 3 (рис. 66). Затем назначьте модификатор UVW Map с цилиндрическим типом проецирования и включенным флажком Сар (Срез) для проецирования на торцы поверхности, подрегулируйте настройки гизмо (в частности, потребуется увеличить значение параметра U Tile, чтобы добиться того же размера кирпичей, что и на прямоугольных фрагментах стены) — рис. 67. Обратите внимание на зеленую вертикальную полосу, которая появляется на уровне выделения гизмо и обозначает место стыковки текстуры, — по возможности лучше повернуть гизмо модификатора так, чтобы этот стык оказался в наиболее незаметной области модели, например на ее задней стороне. Результат рендренинга стены после создания текстурных координат показан на рис. 68.
Рис. 63. Выделение прямоугольных фрагментов стены
Рис. 64. Настройка гизмо для прямоугольных фрагментов стены
Рис. 65. Стена после создания текстурных координат для ее прямоугольных фрагментов
Рис. 66. Выделение дугообразного фрагмента стены
Рис. 67. Настройка гизмо для дугообразного фрагмента стены
Рис. 68. Стена после настройки текстурных координат
По окончании неплохо добиться эффекта рельефности поверхности, что несложно осуществить путем подключения соответствующей черно-белой текстуры на канале Bump. Для этого откройте исходную текстуру в Photoshop и залейте области, соответствующие кирпичам, белым цветом, а все остальное пространство — черным, сохраните изображение в формате JPG (рис. 69). Переключитесь в 3D Studio MAX и подключите данную карту на канале Bump, увеличив значение счетчика влияния текстурной карты до 90. Добавьте произвольный фон и визуализируйте сцену (рис. 70).
Рис. 69. Текстура для канала Bump
Рис. 70. Кирпичная стена
Головка для накидного гаечного ключа
ез проецирования искажение наложения текстуры может быть весьма значительным — оно тем сильнее, чем сложнее геометрия модели и многочисленнее переходы одних геометрических фрагментов в другие. Проводя проецирование подобных моделей, легко ошибиться, поэтому данную операцию лучше проводить не на предназначенных для оформления моделей текстурах, а на специальной клетчатой текстуре, созданной на базе материала Checker. Дело в том, что при ее наложении сразу видно, какие участки отекстурены правильно, а где имеются искажения (клеточки растянуты или сжаты). И лишь тогда, когда вы убедитесь, что Checker-текстура наложена верно, можно заменить ее на любую другую.
Рассмотрим пример проецирования сложного в текструрировании объекта с применением текстуры Checker. В качестве подопытной модели возьмем созданную нами в седьмом уроке путем лофтинга и серии булевых операций головку для накидного гаечного ключа (рис. 71). Создайте вначале клетчатый материал на базе Checker-текстуры с примерно такими параметрами, как на рис. 72. После назначения материала объекту сразу будет видно, что текстура ни на одном из фрагментов не наложена правильно (рис. 73).
Рис. 71. Исходный вид головки для накидного гаечного ключа
Рис. 72 Параметры настойки клетчатого материала
Рис. 73. Результат назначения клетчатого материала
Конвертируйте модель к типу Editable Poly, добавьте модификатор Mesh Select, перейдите в режим редактирования полигонов и выделите область малого цилиндра (рис. 74). Назначьте модификатор UVW Map с цилиндрическим типом проецирования и включенным флажком Сар (Срез) для проецирования на торцы поверхности и отрегулируйте значения параметров U Tile и V Tile так, чтобы материал действительно отображался клеточками, а не вытянутыми полосками (рис. 75). Результат рендеринга представлен на рис. 76. Опять добавьте модификатор Mesh Select, в режиме редактирования полигонов выделите большой цилиндр, назначьте модификатор UVW Map с цилиндрическим типом проецирования и включенным флажком Сар и подберите значения параметров U Tile и V Tile (рис. 77 и 78). Аналогичные операции последовательно проведите для торца большого цилиндра (рис. 79), внутренней полости модели (рис. 80) и торца малого цилиндра (рис. 81). Для всех трех областей нужно установить планарный тип проецирования, изменив в каждом варианте значения параметров U Tile и V Tile: в первом случае — U Tile = 1, V Tile = 1, во втором — U Tile = 0,8, V Tile = 0,8, в третьем — U Tile = 0,5, V Tile = 0,5. Естественно, приведенные значения условны и в каждом конкретном случае будут своими, а руководствоваться нужно принципом максимального приближения формы клеточек к квадратной (это позволит минимизировать искажение текстуры в соответствующих областях). Возможно, в итоге оттекстурированная клетчатым материалом модель будет напоминать представленную на рис. 82, а модель с уже подобранным материалом — рис 83.
Рис. 74. Выделение малого цилиндра
Рис. 75. Настройка параметров проецирования для малого цилиндра
Рис. 76. Модель после проецирования малого цилиндра
Рис. 77. Настройка параметров проецирования для большого цилиндра
Рис. 78. Модель после проецирования большого цилиндра
Рис. 79. Выделение торца большого цилиндра
Рис. 80. Выделение внутренней полости
Рис. 81. Выделение торца малого цилиндра
Рис. 82. Головка для накидного гаечного ключа с клетчатой текстурой
Рис. 83. Головка для накидного гаечного ключа с произвольной текстурой
Стоит заметить, что при текстурировании моделей со сложной геометрией довольно часто перед присвоением текстурных координат очередным подобъектам прибегают к операции сжатия стека модификаторов. Для чего нужно вновь конвертировать модель к типу Editable Poly или Editable Mesh — задействованные модификаторы в результате исчезают из стека, но присвоенные текстурные координаты сохраняются вместе с геометрией. Данная операция, в принципе, не обязательна, но благодаря ей стек модификаторов не раздувается до бесконечности и в нем легче ориентироваться.