Maya для начинающих

         

Узловатый человечек

Как смоделировать фигуру, чья поверхность грубее, чем у обычного трехмерного персонажа?

Тема:

Моделирование, рендеринг.

Используемые техники и инструменты:



Subdivision Surfaces (SDS-поверхности), Split Polygon Tool (Разбиение Многоугольника), Extrude Faces (Экструдировать Грани), Displacement Shader (Шейдер Смещения).

Многие трехмерные объекты имеют безупречно гладкую поверхность, что хорошо не для всех задач. Обычно, для того чтобы сделать поверхность немного грубее и имитировать неровности, используют, так называемые Bump Maps (Карты Рельефа). В действительности же Bump Map (Карта Рельефа) - это свойство не поверхности, а камеры. В большинстве случаев Bump Mapping (Наложение Карты Рельефа) является достаточно эффективной процедурой и не требует много времени при рендеринге. Однако она совершенно неприменима, если вам нужны деформации и выпуклости, отчетливо выделяются на фоне.

Познакомьтесь с Displacement Mapping (Наложение Карты Смещения) - техникой, которая не просто имитирует деформации для камеры, а реально деформирует поверхность, используя полутона процедурной текстуры или растрового изображения. К сожалению, эти деформации нельзя видеть в окнах моделирования. Нам придется их отрендерить.

Этот урок состоит из двух взаимосвязанных частей. Мы начнем с моделирования высокого худого человечка с маленькой головой, используя SDS-поверхности.

Немного практики - и это займет лишь пару минут. (Перед эпохой SDS-поверхностей это стоило разработчику не меньше часа.) Если у вас нет Maya Unlimited, вы можете достичь тех же результатов, используя инструменты разбиения и экструдирования и выполнив после них операцию Polygon / Smooth (Многоугольники / Сглаживание). Если вы хотите пропустить моделирование либо отложить его на потом, просто возьмите любой примитив и приступайте ко второй части урока, посвященной технике Displacement (Смещение).

  1. Создайте полигональный куб.
  2. Выберите Modify / Convert / Polygons to Subdiv (Модифицировать / Преобразовать / Полигоны в SDS-поверхности) для преобразования куба в SDS-поверхность.
  3. Назначьте новый материал SDS-кубу.

Если вы случайно назначили материал полигональному кубу (а это на самом деле внешнее покрытие SDS-поверхности, но не сама поверхность) вместо SDS-поверхности, отмените назначение. Выделите непосредственно SDS-поверхность polyToSubdShapel (например, в окне Hypergraph), перед тем как вновь назначить материал. Для этого щелкните правой кнопкой мыши по SDS-объекту и воспользуйтесь контекстным меню.

  1. Переключитесь на режим Polygon mode (Полигональный режим) (рис. 10.1).

Рис. 10.1. Полигональный куб, преобразованный в SDS-поверхностъ. Его контекстное меню позволяет сделать видимым исходный полигональный объект

Вы можете моделировать SDS-поверхности в двух основных режимах. В первом вы используете инструменты полигонального моделирования, а во втором - инструменты из мира NURBS-моделирования. Классические инструменты полигонального моделирования незаменимы при получении высокой подробности геометрии (например, в области, где ноги прикрепляются к туловищу). Именно поэтому большую часть моделирования нашего человечка мы будем осуществлять в режиме Polygon mode (Полигональный режим).

  1. Выберите Edit Polygons / Split Polygon Tool (Редактирование Многоугольников / Разбиение Многоугольника), чтобы разделить нижнюю поверхность куба на две грани (см. рис. 10.2). Делайте это на глаз, идеальная точность нам ни к чему - наш персонаж не собирается участвовать в конкурсе красоты. Выполните команду, нажав Enter.
  2. Сделайте грани видимыми, используя контекстное меню. Выделите только что созданные нижние грани куба. Для того чтобы вытянуть новую геометрию из этих граней, выберите Edit Polygons / Extrude Face (Редактирование Многоугольников / Экструдировать Грань) (см. рис. 10.3). Щелкнув по одному из кубиков манипулятора инструмента, вы перейдете в режим масштабирования. Равномерно уменьшите немного в размере экструдированные поверхности и, используя стрелки манипулятора инструмента, передвиньте их вниз.

Рис. 10.2. Используя Split Polygon Tool (Разбиение Многоугольника), разбейте нижнюю грань куба на две части

Рис. 10.3. Инструмент Extrude Tool локально увеличивает плотность геометрии. Здесь мы это сделали, для того чтобы начать вытягивать грани для моделирования ног

  1. Не отменяя выделения, нажмите клавишу G для повторного применения команды экструдирования. На этот раз мы применим ее к только что экструдированным граням. Вытяните ноги из туловища, применив команду два или три раза. Во время последнего экструдирования создайте поверхности такого размера, чтобы из них можно было вытянуть стопы (рис. 10.4).

Рис. 10.4. Несколько последовательных экструдов (а не экструзий) - и ноги готовы. Не совсем идеальные по форме, но все-таки это ноги. Последнее экструдирование (на этот раз в горизонтальном направлении) создаст стопы

  1. Для более точной работы при экструдировании и масштабировании стоп используйте вид сбоку и сверху (рис. 10.5, 10.6).

Рис. 10.5. Вид сбоку используется для более точного моделирования носков стоп

Рис. 10.6. Моделирование нижних конечностей завершено. Немного практики - и это займет лишь пару минут

  1. Примените инструмент Split Polygon Tool (Разбиение Многоугольника) по краям туловища и приступайте к экструдированию рук (и, если хотите, пальцев). Эта операция выполняется симметрично, поэтому вы можете одновременно экструдировать геометрию правой и левой рук (рис. 10.7).

Рис. 10.7. Работаем над верхней частью тепа. Это первые два экструда для рук

  1. Экструдируйте верхнюю грань SDS-полигона, уменьшите в масштабе поперечное сечение шеи и приступайте к вытягиванию шеи и головы (рис. 10.8).

Рис. 10.8. Первые два экструда для шеи и головы

  1. Осмотрите всю фигуру и смасштабируйте грани на ваш вкус. Помните, что вы можете не только масштабировать и перемещать, но также и вращать грани (рис. 10.9).

Рис. 10.9. Последние штрихи: вращение затылка

В окне Channel Box (Окно Каналов) вы увидите, что история создания поверхности содержит слишком много уже ненужной информации. Для того чтобы облегчить сцену, удалите историю: Edit / Delete by Type / History (Редактирование / Удалить в зависимости от типа / История).

Имейте в виду, что при этом вы не сможете удалить «сабдивность» поверхности.

Используя контекстное меню и команды Coarser (Грубый) и Finer (Подробный), вы можете переключаться с одного уровня иерархии на другой для более глобальной или локальной работы как в полигональном, так и в стандартном режиме (рис. 10.10).

Рис. 10.10. Контекстное меню SDS-поверхности позволяет вам переключаться между различными уровнями иерархии. Более подробные уровни позволяют работать локально

На этом этапе не стоит слишком увлекаться такими деталями, как нос, плечи или пальцы ног. Displacement Shader (Шейдер Смещения) может стереть нос, плечи и другие мелкие элементы.

  1. В Attribute Editor (Редактор Атрибутов) шейдинг-группы поверхности (если вы использовали шейдер Blinn, ее имя будет blinnlSG) щелкните по шахматной пиктограмме рядом с полем Displacement Mat.
  2. Открыто окно Create Render Node (Создать Функциональный Узел Рендеринга) (см. рис. 10.11). Выберите текстуру, которая деформирует поверхность персонажа в соответствии со значением цвета текстуры, например Solid Fractal. В качестве метода отображения выберите «As projection». Проекция гарантирует, что текстура равномерно распределится по всему объекту.

Рис. 10.11. Так создается Displacement Map (Карта Смещения) трехмерной текстуры проекционного типа. Откройте Attribute Editor (Редактор Атрибутов) для Shading Group (Шейдинг-группа), щелкните по шахматной иконке рядом с полем Displacement Mat и в окне Create Render Node (Создать Функциональный Узел Рендеринга) выберите параметр «As projection» для метода и, скажем. Solid Fractal для текстуры

Поскольку в окне моделирования вы не увидите никаких изменений, отрендерите сцену.

Рендеринг не займет много времени, - может, несколько минут, в зависимости от используемой геометрии, материала и, конечно, скорости вашего компьютера. Результаты наглядно демонстрируют разницу между Displacement Mapping (Карта Смещения) и Bump Mapping (Карта Рельефа). В рис. 10.12 как к персонажу впереди, так и к дальнему персонажу применялась одна и та же текстура Solid Fractal. Однако переднему персонажу текстура была назначена с помощью Bump Map (Карта Рельефа), а не Displacement Map (Карта Смещения) (как дальнему). Поверхность передней фигуры выглядит неровной, однако ее контур остается гладким, что отчетливо видно на фоне фона.

Рис. 10.12. В основе этих двух персонажей одна и та же геометрия и одинаковая текстура. Разница - в способе наложения текстуры. Неровность поверхности передней фигуры обусловлена применением Bump Map (Карта Рельефа). А метод наложения текстуры дальней фигуры - Displacement Map (Карта Вытеснения). Края передней фигуры выглядят гладкими, a Displacement Map изменяет не только внутренние области, но и контур поверхности. И хотя больше никакие настройки процедуры отображения не менялись, Displacement Map значительно увеличивает толщину персонажа. Bump Map, в свою очередь, в основном сохраняет первоначальную геометрию модели

Displacement Mapping (Карта Смещения) может иметь больший или меньший эффект, в зависимости от размера узловатого человечка.

Есть два способа настройки интенсивности эффекта. Один из них - это изменение плотности наложения текстуры на геометрию. В окнах моделирования вы можете видеть каркасный куб с именем placeSDTexturel. Это именно тот инструмент, с помощью которого мы можем изменять плотность наложения текстуры (рис. 10.13).

На рис. 10.14 слева - отрендеренная сцена. С помощью отмеченной пиктограммы вы можете сохранить отрендеренное изображение в оперативную память. Оно не будет удалено до тех пор, пока вы не выйдете из Мауа (или пока не произойдет фатальный сбой в программе).

Второй способ настройки текстуры смещения - это использование градаций серого текстуры. Displacement Mapping (Карта Смещения), как и Bump Mapping (Наложение Карты Рельефа), использует только яркость (альфа-канал, а не цвет) текстуры в деформации геометрии. Для большинства текстур, таких, как Solid Fractal, вы найдете входные данные для полутонов в секции Color Balance в окне Attribute Editor (Редактор Атрибутов). Начните с самых темных, почти черных значений цвета и низкого значения для Alpha Gain (Усиление Альфа-канала) (рис. 10.15).

Рис. 10.13. Каркасный куб вокруг стоп персонажа определяет размер наложенной Displacement Map (Карта Смещения). Чем меньше куб, тем чаще текстура повторяется на объекте

Рис. 10.14. Объект, отображающий расположение 3d текстуры, теперь охватывает весь персонаж полностью

Рис. 10.15. Окно Attribute Editor (Редактор Атрибутов) для текстуры. В верхней части располагаются параметры, отвечающие за структуру фрактала, ниже - установки для градаций серого, отвечающие за деформации. Основные параметры для Displacement Map (Карта Смещения) - это Color Gain (Усиление Цвета) и Alpha Gain (Усиление Альфа- канала). Большие значения этих параметров означают более белый цвет, что приводит к увеличению объекта. Если Displacement Map (Карта Смещения) обнаруживает только черный цвет, геометрия остается нетронутой

Вообще-то, персонаж увеличивается в размере, если вы применяете яркую текстуру. Когда Displacement Mapping (Карта Смещения) обнаруживает только черный цвет, размер модели не меняется. Если текстура имеет значительные колебания в яркости, персонаж получится очень «комковатым». Выпуклости соответствуют наиболее ярким областям текстуры.

Вам придется приложить много усилий и совершить много (много... много) ошибок в поисках подходящей комбинации настроек для достижения желаемого результата. К сожалению, инструмент IPR (Интерактивный фотореалистичный рендеринг) не работает с Displacement Map (Карта Смещения). Это значит, что вам придется потратить много времени на тестовый рендеринг.

Используя настройки окна рендеринга, отрендерите либо часть изображения, либо изображение маленького размера.

SDS-моделирование и Displacement Mapping (Карта Смещения) - это два мощных инструмента для эффективного создания сложных персонажей, которые выглядят так, будто их вылепили из глины (рис. 10.16) или выковали из металла (рис. 10.17).

Рис. 10.16. Персонаж, вылепленный из глины

Рис. 10.17. Выкованные из металла узловатые человечки

Для создания более мелкой текстуры вы можете добавить Bump Map (Карта Рельефа) к Displacement Mapping (Карта Смещения). Bump mapping добавит мелкие шероховатости к изменениям поверхности, создаваемым техникой Displacement mapping.

При экструдировании UV-координаты текстуры очень неровно распределяются. Это можно видеть, если в качестве метода отображения выбрать Normal (Обычный), а не As Projection (Проекция). Для решения проблемы распределения текстурных координат вам нужно создать новую UV-карту например с помощью команды Automatic Mapping (Автоматическое создание текстурных координат), которую вы найдете в меню Subdiv Surfaces (SDS-поверхности).

Проекционная текстура, как та, с которой мы только что работали, не использует UV-координаты поверхности. Однако, как только вы начнете анимацию персонажа, вам придется зафиксировать проекционную текстуру на его геометрии. В противном случае, как только персонаж начнет двигаться, текстура буквально «поплывет» по его поверхности. Команду для фиксации текстуры на поверхности вы найдете в окне Hypershader. Выберите Edit / Convert to File Texture (Редактирование / Преобразовать в файловую текстуру). Если вы хотите для наложения текстур использовать какие-то изощренные средства из арсенала полигонального моделирования, то сохраните сцену и преобразуйте наше существо из SDS-поверхности в полигоны (выберите Modify / Convert / Subdiv to Polygons (Модифицировать / Преобразование / SDS-поверхности в Полигоны).

Рис. 10.18. Узловатые человечки, выкованные из золота

А теперь кое-что новенькое. Приходилось .ли вам в последнее время нажимать клавиши А или F?

Назад Начало Вперед