Трехмерная графика Maya для продвинутых

форекс скачать бесплатно


Подготовка к разбиению поверхности на части



Лучше всего для моделирования человеческой фигуры подходит инструмент Subdivision Surfaces (Подразбиваемые поверхности), но он доступен только в более дорогой версии программы Maya Unlimited. Этот инструмент использует сетку с низким разрешением для внесения изменений в сетку с высоким разрешением. Сетка с низким разрешением является грубой аппроксимацией модели, вокруг которой она располагается. В версии Maya Complete есть способ эмуляции работы с этим инструментом. Именно этим методом мы воспользуемся для моделирования монстра. Прежде всего нужно будет ввести в командной строке несколько команд языка MEL или активизировать скрытый сценарий. В процессе выполнения упражнений мы дадим вам пошаговую инструкцию по созданию объекта.

ПРИМЕЧАНИЕ
Если у вас установлена версия программы Maya Unlimited, вы можете использовать инструмент Subdivision Surfaces (Подразбиваемые поверхности) вместо описываемого нами метода эмуляции. Для получения сетки полигонов с низкой плотностью, создаваемой в процессе выполнения упражнений, вам придется перейти в режим работы с полигонами.

Метод эмуляции работы с инструментом Subdivision Surfaces (Подразбиваемые поверхности) детально описан в книге Polygonal Modeling, поставляемой вместе с программным обеспечением Maya. Это можно сделать с помощью языка сценариев MEL. Сценарий создает копию исходного полигонального объекта и затем соединяет данные исходной формы с атрибутом InMesh (Входные данные сетки) копии. Этот атрибут описывает базовую структуру объекта, что позволяет изменять дубликат, в соответствии с изменениями формы оригинала. В упражнении, которое вам предстоит выполнить, происходит соединение атрибута OutMesh (Выходные данные сетки) первого куба с атрибутом InMesh (Входные данные сетки) второго. В результате вы будете работать с простой сеткой, автоматически передавая результаты редактирования на более сложный объект. На первый взгляд, это выглядит довольно сложно, но с нашей пошаговой инструкцией вы убедитесь, что это довольно элегантный метод редактирования полигональных сеток.
Перед тем как приступить к созданию персонажа, предпримем шаги, направленные на упрощение процесса работы. В большинстве своем персонажи симметричны. Но чтобы избежать необходимости вносить изменения в обе половины объекта, стараясь сохранять его симметрию, в Maya существует возможность сделать так, чтобы каждое внесение изменений в форму одной половины объекта автоматически отражалось на форме его второй половины. Этот метод позволяет сэкономить время и добиться совершенной симметрии. Впоследствии можно сделать фигуру слегка асимметричной, чтобы придать ей более натуральный вид. Обычно это делается после окончания редактирования симметричных деталей.

Упражнение. Подготовка к моделированию
Прежде всего вспомним о том, что в начале работы над текущей сценой, в главе 5, мы упростили интерфейс программы, оставив только командную строку и строку подсказки. Если вы пропустили указанные упражнения, нужно будет загрузить пользовательские контекстные меню и клавиатурные комбинации. Начнем работу с пустой сцены. Сделайте на время видимой строку состояния, выбрав в меню оперативного доступа команду Display > UI Elements > Status Line (Отображение > Элементы интерфейса > Строка состояния), и убедитесь, что у вас нажата кнопка Construction History (История создания). В активном состоянии эта кнопка помечена значком свитка. Если она не нажата, свиток перечеркнут красным крестом.

  1. Начните новый проект, выбрав в меню оперативного доступа команду File > Project > New (Файл > Проект > Создать). В поле Name (Имя) введите имя Creature, нажмите кнопку Use Defaults (По умолчанию), чтобы использовать заданную по умолчанию папку, и нажмите кнопку Accept (Принять).
  2. Выберите в меню оперативного доступа команду Panels > Saved Layouts > Persp/ Outliner (Панели > Варианты компоновки > Перспектива/Структура) для перехода к наиболее удобному в данной ситуации представлению.
  3. Первым объектом сцены является полигональный примитив Cube (Куб). Для его создания выберите в контекстном меню, вызываемом с помощью клавиатурной комбинации Ctrl+x, команду Cube ( Куб). Созданный объект по умолчанию имеет имя pCubel. В режиме формы, как легко увидеть в окне каналов, этот объект имеет название pCubeShapel.
  4. Теперь нужно соединить атрибут OutMesh (Выходные параметры сетки) формы pCubeShapel с атрибутом InMesh (Входные параметры сетки) еще одного куба. Это делается с помощью специального сценария. Убедитесь, что объект pCubel по-прежнему выделен, и нажмите клавишу (обратный апостроф), расположенную над клавишей Tab, введите в командной строке polyDuplicateAndConnect и нажмите клавишу Enter. В результате выполнения этой команды в сцене появится еще один куб, имеющий имя pCube2.
  5. Сейчас удобнее будет работать в режиме каркасного отображения. Для перехода к нему нажмите клавишу 4. В контекстном меню, вызываемом с помощью клавиатурной комбинации Alt+x, выберите команду Smooth (Сглаживание). В итоге внутри каркаса куба появится сглаженный куб, как показано на рис. 7.1.

ПРИМЕЧАНИЕ
Существует несколько способов сглаживания полигональной формы. В этом упражнении сглаживание происходит за счет появления новых граней. Второй метод состоит в увеличении числа вершин. При этом не происходит изменения топологии объекта. Данный метод позволяет получить проекционные координаты, с которыми проще всего работать. Кроме того, сгладить форму можно с помощью инструмента Sculpt Polygon Tool (Создание рельефа на полигональной поверхности).



Рис. 7.1. Сглаженный куб, окруженный каркасом, предназначенный для эмуляции инструмента

  1. Нажмите комбинацию клавиш Ctrl+a, чтобы открыть окно диалога Attribute Editor (Редактор атрибутов), перейдите на вкладку polySmoothFacel и убедитесь, что у вас снят флажок Keep Border (Сохранять границу), как показано на рис. 7.2. Закройте редактор атрибутов.

Рис. 7.2. Установка необходимых параметров в разделе Poly Smooth Face History окна диалога Attribute Editor

ПРИМЕЧАНИЕ
Помните, что быстрее и аккуратнее всего выделить объекты сцены можно в окне диалога Outliner (Структура).

  1. В данный момент попытки перемещения вершин внешнего куба не дадут результата. Нужно изменить атрибут .inputComponents (Входные компоненты), являющийся частью формы polySmoothFacel. Для этого следует выполнить Подготовка к разбиению поверхности на части несложную команду, которая сделает число граней переменной, автоматически обновляемой при редактировании поверхности. Убедитесь, что объект pCube2 по-прежнему выделен, и введите в командную строку следующую последовательность команд: setAttr polySmoothFacel.inputComponents -type "componentList" 1 "f[*]". Затем нажмите клавишу Enter. Теперь при редактировании формы pCubeShapel сглаженная форма будет автоматически изменяться.

ВНИМАНИЕ
Имейте в виду, что команды языка MEL чувствительны к регистру букв. Даже небольшая опечатка приводит к тому, что команда не выполняется. Если правая сторона командной строки становится красной и в ней появляется слово Error, значит, команда была введена неверно. В этом случае введенный текст не исчезает, что дает возможность исправить ошибку синтаксиса.

  1. В разделе Inputs (Входные данные) окна каналов можно изменить значение параметра Divisions (Разбиения), от величины которого зависит степень сглаживания объекта. Посмотрите на результаты его изменения и верните параметру исходное значение.

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

ПРИМЕЧАНИЕ
В общем случае принято использовать режим каркасного отображения в ортографических окнах проекции, а режим тонированной раскраски в окнах центральных проекций.

Преимущество метода, которым мы воспользуемся в данной главе, состоит в том, что вам предстоит работать с каркасом, окружающим модель с более высоким разрешением. Простой каркас будет использоваться для создания сложной фигуры путем аккуратного разбиения управляющей сетки на дополнительные грани и перемещения ее вершин.
При моделировании фигуры обычно проще всего работать только с одной ее стороной. По этой причине для куба, на основе которого создается модель, нужно создать зеркальную копию, которая будет автоматически отражать все изменения, вносимые в оригинал.

Упражнение. Создание симметричного объекта
Продолжите выполнение предыдущего упражнения. После перехода в режим тонированной раскраски теряется возможность видеть объект pCube2, так как он расположен внутри объекта pCubel, имеющего видимую поверхность.

  1. Откройте окно каналов, нажав комбинацию клавиш Shift+C. Создайте два новых слоя с именами CageL и SmoothL. В первый поместите объект pCubel, а во второй — объект pCube2.
  2. Выделите объект pCubeZ в окне диалога OutUner (Структура) и присвойте ему имя Smooth, затем выделите объект pCubel и присвойте ему имя Cagel. Откройте редактор атрибутов, нажав комбинацию клавиш Ctrl+a, и перейдите на вкладку CageL В разделе Drawing Override Options (Параметры замены на рисунке) оставьте только флажки Enable Override (Замена разрешена) и Visible (Видимый). Теперь внешний куб при любом режиме отображения в окнах проекции будет представлен в виде каркаса, но при этом никогда не появится после визуализации.
  1. Для создания левой половины персонажа нужно получить копию куба. Сначала сместим куб вправо, так как он является основой для правой половины будущей фигуры. Выделите в окне диалога Outliner (Структура) объекты Cagel и Smooth и введите в поле Translate X (Смещение по оси X) окна каналов значение 0,5.
  2. Теперь нужно удалить поверхность, по которой впоследствии будет происходить состыковка двух симметричных половин. Выделите объект Cagel, щелкните на нем правой кнопкой мыши и выберите в появившемся контекстном меню команду Face (Грань). В центре каждой из граней куба появятся голубые маркеры выделения. Щелкните на маркере, расположенном ближе всего к началу координат стороны куба, и нажмите клавишу Delete. В результате сглаженный куб будет открыт с одной стороны. Нажмите F8 для выхода из режима редактирования подобъектов.
  3. Опорная точка в данном случае смещена относительно начала координат и центрирована между двумя созданными объектами. Так как вы собираетесь продублировать и отразить объект Smooth, нужно переместить его опорную точку на поверхность, которая будет служить плоскостью отражения. Перейдите в окно проекции Тор (Вид сверху) и нажмите клавишу w, чтобы активизировать инструмент Move (Переместить), а затем клавишу Insert для перехода в режим редактирования опорной точки. Переместите опорную точку в начало координат при нажатой клавише х, чтобы осуществить привязку к узлам сетки. Когда опорная точка окажется на нужном месте, еще раз нажмите клавишу Insert. Затем повторите описанную процедуру для объекта Smooth.
  1. Убедитесь, что объект Smooth выделен, и вызовите окно диалога Duplicate Options (Параметры дублирования). Для этого нужно щелкнуть на квадратике, расположенном справа от команды меню оперативного доступа Edit > Duplicate (Правка > Дублировать). Выберите в меню Edit (Правка) появившегося окна диалога команду Reset Settings (Сбросить настройки) и затем введите в поле Scale X (Масштабирование по оси X) значение -1 и нажмите кнопку Duplicate (Дублировать). В результате появятся два видимых объекта, формирующих капсулу. Присвойте копии имя Smooth Mirror. Но если в данный момент попытаться отредактировать исходный сглаженный куб, его зеркальная копия не будет изменяться, так как пока что эти две половины никак не связаны.
  2. Выберите в меню оперативного доступа команду Window > General Editors > Connection Editor (Окно > Редакторы общего назначения > Редактор связей).
  3. Щелкните правой кнопкой мыши на пустом пространстве окна диалога Outliner (Структура) и выберите в появившемся контекстном меню команду Show Shapes (Показ форм). Затем щелкните на квадратиках со знаком «плюс», расположенных слева от имен Smooth и SmoothMirror, чтобы раскрыть соответствующие ветви, как показано на рис. 7.3.

Рис. 7.3. Сглаженные кубы в окне диалога Outliner

  1. В окне диалога Connection Editor (Редактор связей) можно связать определенные выходные данные объекта Smooth с входными данными объекта SmoothMirror. В окне Outliner (Структура) выделите строчку SmoothShape и нажмите кнопку Reload Left (Загрузить левую часть) окна диалога Connection Editor (Редактор связей). Затем выделите строчку SmoothMirrorShape в окне Outliner (Структура) и St.
    нажмите кнопку Reload Right (Загрузить правую часть) окна диалога Connection Editor (Редактор связей). Теперь все готово к тому, чтобы соединить выходные данные половины объекта с входными данными зеркальной копии.
  2. В списке Outputs (Выходные данные) выделите строку WorldMesh, а в списке Inputs (Входные данные) — строку SmoothMirrorShape. В результате названия обоих атрибутов будут выделены курсивом, как показано на рис. 7.4. Закройте окно диалога Connection Editor (Редактор связей).

Рис. 7.4. Связанные атрибуты выделены курсивом

ПРИМЕЧАНИЕ
Проверьте, как работает созданная связь, изменяя топологию объекта Cagel. Выделите объект Cagel и нажмите клавишу F9 для перехода в режим редактирования подобъектов. Теперь перемещение любой из вершин приведет к изменению формы обеих половин сглаженного куба. Используйте клавишу z для возвращения объекта в исходное состояние.

  1. Выделите объект SmoothMirror и поместите его в слой SmoothL.
  2. При работе с каркасом объекта Cagel, окружающим сглаженный куб, можно случайно выделить последний. В Maya имеется возможность перевода слоев в режим Reference (Ссылочный), в котором объекты не меняют своего вида, но вы теряете возможность их выделить. В редакторе слоев выделите слой SmoothL и дважды щелкните на расположенном слева от имени слоя квадратике. Произойдет циклический переход между тремя режимами — обычным, Template (Шаблон) и Reference (Ссылочный). В квадратике появится буква R, как показано на рис. 7.5. Режимы, отличные от нормального, характеризуются тем, что расположенные в слое объекты невозможно редактировать и выделять. В режиме Template (Шаблон) вы теряете также возможность использовать объекты слоя в качестве привязки.

Итак, все готово для начала моделирования монстра. Сохраните сцену под именем SubDemuSetup.

Рис. 7.5. Буква R говорит о том, что объекты данного слоя невозможно выделять и редактировать

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