Иллюстрированный самоучитель по Maya 4.5 (часть 2)

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


Лучше всего для моделирования человеческой фигуры подходит инструмент 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 (История создания). В активном состоянии эта кнопка помечена значком свитка. Если она не нажата, свиток перечеркнут красным крестом.

  • Начните новый проект, выбрав в меню оперативного доступа команду File > Project > New (Файл > Проект > Создать). В поле Name (Имя) введите имя Creature, нажмите кнопку Use Defaults (По умолчанию), чтобы использовать заданную по умолчанию папку, и нажмите кнопку Accept (Принять).


  • Выберите в меню оперативного доступа команду Panels > Saved Layouts > Persp/ Outliner (Панели > Варианты компоновки > Перспектива/Структура) для перехода к наиболее удобному в данной ситуации представлению.


  • Первым объектом сцены является полигональный примитив Cube (Куб). Для его создания выберите в контекстном меню, вызываемом с помощью клавиатурной комбинации Ctrl+x, команду Cube ( Куб).




    Созданный объект по умолчанию имеет имя pCubel. В режиме формы, как легко увидеть в окне каналов, этот объект имеет название pCubeShapel.


  • Теперь нужно соединить атрибут OutMesh (Выходные параметры сетки) формы pCubeShapel с атрибутом InMesh (Входные параметры сетки) еще одного куба. Это делается с помощью специального сценария. Убедитесь, что объект pCubel по-прежнему выделен, и нажмите клавишу (обратный апостроф), расположенную над клавишей Tab, введите в командной строке polyDuplicateAndConnect и нажмите клавишу Enter. В результате выполнения этой команды в сцене появится еще один куб, имеющий имя pCube2.


  • Сейчас удобнее будет работать в режиме каркасного отображения. Для перехода к нему нажмите клавишу 4. В контекстном меню, вызываемом с помощью клавиатурной комбинации Alt+x, выберите команду Smooth (Сглаживание). В итоге внутри каркаса куба появится сглаженный куб, как показано на рис. 7.1.


  • ПРИМЕЧАНИЕ

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



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

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




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

    ПРИМЕЧАНИЕ

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

  • В данный момент попытки перемещения вершин внешнего куба не дадут результата.


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


  • ВНИМАНИЕ

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

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


  • Подготовка к моделированию

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

    ПРИМЕЧАНИЕ

    В общем случае принято использовать режим каркасного отображения в ортографических окнах проекции, а режим тонированной раскраски в окнах центральных проекций.

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

    При моделировании фигуры обычно проще всего работать только с одной ее стороной.


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

    Упражнение. Создание симметричного объекта

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

  • Откройте окно каналов, нажав комбинацию клавиш Shift+C. Создайте два новых слоя с именами CageL и SmoothL. В первый поместите объект pCubel, а во второй — объект pCube2.


  • Выделите объект pCubeZ в окне диалога OutUner (Структура) и присвойте ему имя Smooth, затем выделите объект pCubel и присвойте ему имя Cagel. Откройте редактор атрибутов, нажав комбинацию клавиш Ctrl+a, и перейдите на вкладку CageL В разделе Drawing Override Options (Параметры замены на рисунке) оставьте только флажки Enable Override (Замена разрешена) и Visible (Видимый). Теперь внешний куб при любом режиме отображения в окнах проекции будет представлен в виде каркаса, но при этом никогда не появится после визуализации.


  • Для создания левой половины персонажа нужно получить копию куба. Сначала сместим куб вправо, так как он является основой для правой половины будущей фигуры. Выделите в окне диалога Outliner (Структура) объекты Cagel и Smooth и введите в поле Translate X (Смещение по оси X) окна каналов значение 0,5.


  • Теперь нужно удалить поверхность, по которой впоследствии будет происходить состыковка двух симметричных половин. Выделите объект Cagel, щелкните на нем правой кнопкой мыши и выберите в появившемся контекстном меню команду Face (Грань). В центре каждой из граней куба появятся голубые маркеры выделения. Щелкните на маркере, расположенном ближе всего к началу координат стороны куба, и нажмите клавишу Delete. В результате сглаженный куб будет открыт с одной стороны. Нажмите F8 для выхода из режима редактирования подобъектов.


  • Опорная точка в данном случае смещена относительно начала координат и центрирована между двумя созданными объектами.


    Так как вы собираетесь продублировать и отразить объект Smooth, нужно переместить его опорную точку на поверхность, которая будет служить плоскостью отражения. Перейдите в окно проекции Тор (Вид сверху) и нажмите клавишу w, чтобы активизировать инструмент Move (Переместить), а затем клавишу Insert для перехода в режим редактирования опорной точки. Переместите опорную точку в начало координат при нажатой клавише х, чтобы осуществить привязку к узлам сетки. Когда опорная точка окажется на нужном месте, еще раз нажмите клавишу Insert. Затем повторите описанную процедуру для объекта Smooth.


  • Убедитесь, что объект Smooth выделен, и вызовите окно диалога Duplicate Options (Параметры дублирования). Для этого нужно щелкнуть на квадратике, расположенном справа от команды меню оперативного доступа Edit > Duplicate (Правка > Дублировать). Выберите в меню Edit (Правка) появившегося окна диалога команду Reset Settings (Сбросить настройки) и затем введите в поле Scale X (Масштабирование по оси X) значение -1 и нажмите кнопку Duplicate (Дублировать). В результате появятся два видимых объекта, формирующих капсулу. Присвойте копии имя Smooth Mirror. Но если в данный момент попытаться отредактировать исходный сглаженный куб, его зеркальная копия не будет изменяться, так как пока что эти две половины никак не связаны.


  • Выберите в меню оперативного доступа команду Window > General Editors > Connection Editor (Окно > Редакторы общего назначения > Редактор связей).


  • Щелкните правой кнопкой мыши на пустом пространстве окна диалога Outliner (Структура) и выберите в появившемся контекстном меню команду Show Shapes (Показ форм). Затем щелкните на квадратиках со знаком «плюс», расположенных слева от имен Smooth и SmoothMirror, чтобы раскрыть соответствующие ветви, как показано на рис. 7.3.




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

  • В окне диалога Connection Editor (Редактор связей) можно связать определенные выходные данные объекта Smooth с входными данными объекта SmoothMirror.


    В окне Outliner (Структура) выделите строчку SmoothShape и нажмите кнопку Reload Left (Загрузить левую часть) окна диалога Connection Editor (Редактор связей). Затем выделите строчку SmoothMirrorShape в окне Outliner (Структура) и St.

    нажмите кнопку Reload Right (Загрузить правую часть) окна диалога Connection Editor (Редактор связей). Теперь все готово к тому, чтобы соединить выходные данные половины объекта с входными данными зеркальной копии.


  • В списке Outputs (Выходные данные) выделите строку WorldMesh, а в списке Inputs (Входные данные) — строку SmoothMirrorShape. В результате названия обоих атрибутов будут выделены курсивом, как показано на рис. 7.4. Закройте окно диалога Connection Editor (Редактор связей).




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

    ПРИМЕЧАНИЕ

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

  • Выделите объект SmoothMirror и поместите его в слой SmoothL.


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


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



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

    Содержание раздела