Денни Ридделл и Эдриан Даймонд
MAYA 6 ДЛЯ WINDOWS И MACINTOSH QUICK START
VISUAL QUICKSTART GUIDE
MAYA 6 FOR WINDOWS AND MACINTOSH
Danny Riddell, Adrian Dimond
QUICK START
MAYA 6 ДЛЯ WINDOWS И MACINTOSH
Денни Ридделл, Эдриан Даймонд
Москва, 2005
УДК 004.928 ББК 32.973.26-018.2 Р49 Р49 Ридделл Д., Даймонд Э. Maya 6 для Windows и Macintosh / Денни Ридделл ; Пер. с англ. Хаванов А. В., Талачева М. И, Осипов А. И. – М. : ДМК Пресс, 2005. – 592 с. : ил. – (Quick Start). ISBN 5-94074-090-1 Maya 6.0 – наиболее мощная и удобная программа трехмерной графики, позволяющая конструировать сложнейшие модели и создавать реалистичную анимацию. Данная книга в полном объеме содержит информацию, необходимую для освоения этого уникального пакета: описание элементов интерфейса, приемов моделирования и анимации, создания материалов и спецэффектов. Особое внимание уделяется настройке освещения и выполнению визуализации с использованием различных модулей. Кроме того, подробно рассматривается такая сложная и интересная тема, как создание эффектов жидкости. Книга предназначена для начинающих пользователей. Теоретический материал снабжен огромным количеством примеров, что позволяет рекомендовать настоящее издание в качестве справочного пособия. Authorized translation from the English language edition, entitled MAYA 5 FOR WINDOWS AND MACINTOSH: VISUAL QUICKSTART GUIDE, ISBN 0321219201 by Riddell, Danny, published by Pearson Education, Inc, publishing as Peachpit Press, Copyright © 2004. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc. RUSSIAN language edition published by DMK PRESS, Copyright © 2004.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но, поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.
ISBN 0-321-24746-9 (англ.)
Copyright © Peachpit Press, 2004
ISBN 5-94074-090-1 (рус.)
© Издание на русском языке, перевод на русский язык, оформление. ДМК Пресс, 2005
Содержание ВВЕДЕНИЕ
.........................................................................................................13
Глава 1. Основы Maya.............................................................................17 О программе Maya ...................................................................17 Системы координат в Maya..................................................18 Интерфейс Maya.......................................................................20 Использование Shelf ..............................................................22 Строка подсказки ......................................................................24
Редактор каналов ....................................................................25 Редактор атрибутов .................................................................26 Меню Hotbox .............................................................................27 Окно Hypergraph .....................................................................29 Зависимости ...............................................................................31 Окно Outliner .............................................................................33 История создания ......................................................................34
Начало проекта .........................................................................36 Импорт, экспорт и ссылки ..................................................42 Определение настроек Maya ..............................................46 «Горячие» клавиши .................................................................50 Справочная система Maya ....................................................52
Глава 2. Навигация по интерфейсуи настройка ........................55 Откат, смещение и поворот камеры .................................56 Настройка разметки интерфейса .....................................58 Меню Show .................................................................................67
6
Maya 6 для Windows и Macintosh Сглаживание и опции отображения ..................................76 «Горячие» клавиши для тонирования и сглаживания........77 Меню View ..................................................................................78
Глава 3. Создание примитивов и текстовых объектов ..........81 Кратко о NURBS ........................................................................83 Примитивы NURBS .................................................................85 Создание примитивов NURBS................................................86
Изменение атрибутов примитивов NURBS ..................90 Атрибуты примитивов NURBS...............................................92
Полигоны ....................................................................................94 Полигональные примитивы ................................................95 Создание полигональных примитивов.................................96
Изменение атрибутов полигонального примитива ....... 98 Атрибуты полигонального примитива ...............................101
Поверхности разделения ....................................................103 Примитивы разделения ......................................................105 Создание примитивов разделения .................................106 Текстовые объекты ...............................................................108 Присваивание названия объектам .................................112 Центры трансформаций .....................................................114
Глава 4. Режимы выделения, скрытие и шаблоны.................116 Выбор объектов и использование Pick mask ...............118 Выделение объектов в режиме Hierarchy ...........................121 Выделение объектов в режиме Object Type .........................123 Выделение частей объектов в режиме Component............125 «Горячие» клавиши для инструмента Pick mask ..............127 Понятие о слоях ......................................................................132
Глава 5. Преобразование объектов и компонентов ..............135 Перемещение, вращение и масштабирование объектов ..........................................136 Инструмент Show Manipulator ..............................................142
Содержание Опции копирования .............................................................146 Зеркальное отражение объектов и создание экземпляров ... 146
Плавное изменение объектов ...........................................158
Глава 6. Группирование, наследование и выравнивание ......162 Группирование и наследование.......................................164 Выравнивание и привязка объектов .............................170 Четыре вида привязки ...........................................................172 Инструменты группы Snap Align .........................................176
Глава 7. Кривые и поверхности NURBS........................................182 Объекты NURBS .....................................................................183 Создание кривых NURBS ...................................................184 Анатомия кривой ....................................................................185 Создание кривых с различными степенями ......................187 Создание профильных кривых ............................................188 Двумерные скругления ..........................................................191 Размыкание и замыкание кривых ........................................193
Фиксирование длины кривой ...........................................195 Создание поверхностей из кривых.................................201
Глава 8. Полигоны ..................................................................................212 Полигональное моделирование .....................................214 Работа с нормалями к вершинам ....................................252
Глава 9. Поверхности разделения ..................................................258 Компоненты поверхности разделения ................................259 Создание рельефа поверхностей разделения ............261
Полигональный режим поверхности разделения ......265 Использование инструмента Crease ..............................270 Зеркальное отражение поверхностей разделения......273 Стягивание иерархии ...........................................................276
Глава 10. Скелеты и обратная кинематика ..................................279 Суставы ......................................................................................280 IK-манипуляторы и решатели..........................................288 Сплайн обратной кинематики ..........................................293
7
8
Maya 6 для Windows и Macintosh
Глава 11. Наследование и привязка к скелету...........................296 Кластеры и вес ........................................................................298 Инструмент Attribute Paint....................................................302
Общие понятия о привязке ...............................................304
Глава 12. Анимация ..................................................................................315 Средства управления анимацией ...................................316 Ключевые кадры....................................................................318 Настройка параметров анимации ...................................322 Импорт звуковых файлов ..................................................325 Окно Graph Editor ..................................................................326 Типы касательных ...................................................................327
Окно Dope Sheet ......................................................................334 Ограничения............................................................................337 Типы ограничений ..................................................................337
Отключение анимационных каналов ...........................340 Создание снимков..................................................................341 Анимация вдоль пути ..........................................................344 Редактор Trax Editor..............................................................345 Деформатор Blend Shape .....................................................352 Предварительный просмотр анимации .......................354
Глава 13. Деформаторы ........................................................................356 Нелинейные деформаторы................................................357 Деформатор Bend ....................................................................358 Деформатор Flare.....................................................................359 Деформатор Sine ......................................................................360 Деформатор Wave....................................................................362 Деформатор Squash .................................................................363 Деформатор Twist....................................................................365
Деформатор Lattice ...............................................................366 Деформаторы Wire и Sculpt ..............................................368 Деформатор Jiggle..................................................................372
Содержание Деформатор Wrap ..................................................................375 Деформирование частиц ....................................................376 Скрытие, отображение и удаление деформаторов ....379
Глава 14. Создание освещения ..........................................................381 Создание настроения ..........................................................382 Редактор Hypershade ............................................................384 Установки визуализации ....................................................386 Источники света .....................................................................388 Подсветка ..................................................................................391 Направленный источник света.............................................395 Точечный источник света ......................................................396 Прожектор ................................................................................398 Объемный источник света ....................................................400
Вид из источника света ........................................................403 Привязывание источника света .....................................404 Имитация теней......................................................................406 Создание теней ........................................................................406
Глава 15. Тонировщики, материалы и привязка ........................415 Управление текстурами и тонировщиками в редакторе Hypershade .......................................................417 Использование Hypershade ...................................................418
Понятие материалов .............................................................424 Общие атрибуты материалов ...............................................425 Текстурирование поверхностей NURBS................................428 Проекционные текстуры .......................................................441 Инструмент 3D Paint ..............................................................445
Текстурирование полигонов..............................................448 Панель инструментов UV Texture Editor..............................452 Атрибуты материалов в окне Channel Box .........................454 Эффект «плавающих» текстур .............................................454
Проекция UV-карт ................................................................455 Использование программы Adobe Photoshop....................462
9
10 Maya 6 для Windows и Macintosh
Глава 16. Камеры и визуализация ...................................................469 Камеры .......................................................................................470 Анимация камеры ...................................................................473 Фокусное расстояние ..............................................................478 Плоскости изображения ........................................................479
Визуализация ..........................................................................480 Визуализатор Software Renderer ...........................................485 Буфер аппаратной визуализации .........................................488 Трассировка лучей ..................................................................491 Интерактивная фотореалистичная визуализация ............494 Визуализатор Hardware Renderer .........................................496 Визуализатор Vector Renderer ...............................................498 Визуализатор Mental Ray .......................................................502
Запуск визуализаторов с помощью сценариев .........515
Глава 17. Руководство по языку и выражениям MEL .............521 Редактор сценариев...............................................................522 Редактор полки .......................................................................533 Использование выражений ...............................................537 Редактор выражений ..............................................................538 Узлы сценария ..........................................................................543
Глава 18. Динамика ..................................................................................545 Частицы .....................................................................................546 Типы визуализации ..............................................................549 Типы аппаратной визуализации ..........................................550 Типы программной визуализации .......................................552
Поля .............................................................................................553 Общие атрибуты полей..........................................................554
Столкновения ..........................................................................556 Динамика твердых тел.........................................................558 Динамика мягких тел ...........................................................560 Эффекты ...................................................................................562 Редактор Dynamic Relationships Editor ........................567
Эффекты жидкости ..............................................................568 Контейнеры ..............................................................................568 Атрибуты контейнеров с жидкостью.....................................572 Примеры эффектов жидкости..............................................572 Имитация океана и тонировщик Ocean ..............................574 Пруды ........................................................................................577
Предметный указатель ..................................................................................580
Посвящается моей потрясающей жене Е-Цзюй (Yee-Ju) и моей семье. Они вдохновляли мой труд и верили в меня. Если бы не их любовь, преданность и поддержка, не было бы этой книги. Дэнни Ридделл Посвящается Вайолет, терпеливо сносившей мой оглушительный стук по клавишам. Эдриан Даймонд
ВВЕДЕНИЕ
Благодарности Хочу поблагодарить Эндрю Бритта (Andrew Britt) за грамотный обзор первого издания; Ребекку Гулик (Rebecca Gulick) за ценные указания и помощь, которую она мне оказывала в процессе написания книги; Джуди Зьяжка (Judy Ziajka) за то, что направляла мои слова в нужное русло; Марджори Байер (Marjorie Baer) за постоянную поддержку и руководство; Хайлала Сала (Hilal Sala) и Джерри Болью (Jerry Ballew) за талантливую редактуру и дизайн; Эрика Андерсона (Eric Anderson) за исправления технического характера. Рис. 1. Эта прожорливая доисторическая ящерица – всего лишь одно из многочисленных существ, в которые вы можете вдохнуть жизнь с помощью Maya
Alias|Wavefront Maya – это современная программа трехмерной графики (или прос то 3D-программа), давшая жизнь огромному количеству трехмерных персонажей: животным, растениям, машинам и механизмам, которые вы видите в фильмах, на видео и в играх. Что бы вы ни создавали – гонки на грузовиках, реалистичную анатомию или сцены художественного содержания, – Maya поможет достичь нужной формы и ощущения сцены. При работе с Maya все зависит только от вашей фантазии: Maya позволяет оживить любой придуманный вами персонаж, при этом полученным в результате объектом можно будет полностью управлять (рис. 1.1). Maya является чрезвычайно мощным приложением для создания анимации. В этой программе есть инструменты как для традиционной мультипликации, так и для создания фотореалистичных персонажей, поэтому из всех 3D-программ профессионалы отдают предпочтение именно Maya. Данная книга познакомит вас с интерфейсом Maya и ее возможностями. Однако вы быстро поймете, что эта программа настолько глубока, что изучать ее можно годами. Пользователь, имеющий небольшой опыт работы с трехмерной графикой, достаточно быстро научится воплощать в Maya свои самые смелые
Введение 15
14 Maya 6 для Windows и Macintosh фантазии, что делает программу чрезвычайно увлекательной. Для начинающих Maya проста в изучении, но профессионалы найдут в ней множество полезных и сложных функций, которые позволяют достичь настоящих вершин в создании 3D-графики.
Читательская аудитория Если вы новичок, изучающий принципы создания трехмерной графики, или пользователь другого 3D-приложения, желающий освоить Maya, эта книга для вас! Для эффективного освоения материала вы должны иметь навыки работы в графических приложениях, однако какой-либо опыт трехмерного моделирования не понадобится (хотя это помогло бы быстрее изучить Maya). Если вы внимательно прочитаете эту книгу и выполните все приведенные в ней примеры, вы совершенстве освоите интерфейс Maya, возможности предоставляемого программой инструментария, а также научитесь создавать трехмерные модели, сцены, подбирать нужный материал и текстуру и анимировать 3D-объекты. Однако следует помнить, что данная книга является лишь хорошей основой для дальнейшего изучения программы. Для желающих продолжить восхождение к вершинам мастерства можно рекомендовать сайты www.upaxis.ru и www.carboncollege.ru, на которых вы найдете массу полезных ссылок и интересных примеров. Как правило, дизайнеры отдают предпочтение какому-либо определенному этапу работы над 3D-проектом: моделированию, анимированию, настройке материалов и текстур, визуализации. Изучая рассмотренные в книге примеры, попробуйте определить, какой из этапов представляет для вас наибольший интерес, а затем
сосредоточьтесь на нем при создании собственной работы. И кто знает, может быть, вы сделаете карьеру в области создания объектов 3D-графики для кино, рекламы или компьютерных игр, а может быть, Maya превратится для вас в новое хобби.
Требования к программному обеспечению Для работы над книгой необходимо установить на компьютер копию программы Maya для Windows или Macintosh. Инструкция по инсталляции программы содержится в документации Maya.
Maya Complete (Полная версия). Она включает в себя все инструменты и возможности Maya Builder, а также инструменты для сложной анимации объектов, имитации динамики (использование законов физики для моделирования реалистичного движения) и различные эффекты;
Maya Unlimited (Неограниченная версия). Эта версия включает в себя все инструменты и функции Maya Complete, а также Maya Cloth (Одежда), Maya Fur (Мех), сложные инструменты для моделирования, Subdivison Surfaces (Поверхности разделения), Matchmoving (Совмещение видео) и пакетную визуализацию Maya.
Рис. 2. Интерфейс Maya 6 в Windows
Версии программного пакета Maya В этой книге рассказывается о Maya 6 для Windows и Macintosh OS X (рис. 2–3). Разница между двумя версиями Maya 6 очень мала. Какие-либо отличия в функциональности будут оговорены особо. Одно из различий между интерфейсом в Windows и Mac заключается в том, что в Mac можно отделить меню Hotbox. Другим отличием является то, что для Windows существует три версии Maya 6: Builder (облегченная), Complete (полная) и Unlimited (неограниченная), а для Mac OS X – только одна, полная. Рассмотрим различные версии Maya для Windows более подробно: Maya Builder (Облегченная). Эта версия предназначена для низкополигонального1 моделирования и разработки игр. В нее включен полный набор инструментов для полигонального моделирования, которые используются для создания визуализируемых в реальном времени 3D-объектов для Web и персонажей компьютерных игр;
Рис. 3. Так выглядит интерфейс Maya 6 в Mac OS X
Данное издание предназначено для начинающих пользователей, поэтому здесь рассматриваются только инструменты и возможности полной версии Maya. Однако в книге представлена и динамика жидкости – новая функция, добавленная в версию Maya Unlimited 4.5 и недоступная в полной версии. Здесь не рассказывается о языке написания сценариев Maya, который называется MEL (Maya Embedded Language), так как это выходит за рамки книги, хотя этот язык используется во всех версиях программы.
1
Polygon (англ.) – многоугольник. В профессиональном жаргоне 3D-художников установился термин «полигон» вместо «многоугольник». Низкополигональный – состоящий из небольшого числа многоугольников. – Прим. науч. ред.
16 Maya 6 для Windows и Macintosh
Новое в Maya 6
Принятые обозначения
Помимо того, что в версии 6 объединены версии Maya для Windows и Mac, в нее также включены дополнения к инструментам визуализации, например, Mental Ray, Vector Render (Векторный визуализатор) и Hardware Render (Аппаратный визуализатор). Новые расширенные возможности моделирования позволяют выдавливать полигоны вдоль пути и динамически уменьшать их количество. Об этих и многих других дополнительных функциях рассказывается в данной книге.
Полужирным шрифтом в тексте оформляются элементы интерфейса: названия окон, пунктов меню, команд, а также клавиш. Курсивом помечены базовые термины и определения. Web-адреса выделены подчеркиванием. Моноширинным шрифтом выделены фрагменты кода на языке MEL. В книге также используется несколько особых значков для привлечения внимания к определенным частям текста:
Дополнительные ресурсы В Internet существуют сотни ресурсов, посвященных Maya и 3D. Автор книги отдает предпочтение сайту www.upaxis. com. Этот ресурс содержит уроки и занятия, которые ежедневно обновляют и пополняют талантливые 3D-художники. Сайт UpAxis.com поддерживает онлайновая школа 3D-анимации колледжа Carbon college of Design (www.carboncollege. com). Рекомендуем также посетить сайты Highend 3D (www.highend3d.com), 3D Cafe (www.3dcafe.com) и Animation World Network (www.awn.com), где вы получите подробные консультации по трехмерному моделированию и найдете массу полезной информации.
Примечание. Этот значок предваряет дополнительную информацию, относящуюся к излагаемому материалу. Совет. Так помечены советы, которые помогут вам в практической работе. Внимание. Данный знак обращает ваше внимание на важные сведения, касающиеся функционирования программы Maya.
Полезная информация, которую следует иметь в виду при работе с программой, обведена рамочкой.
Основы Maya
Узел
Рис. 1.1. Просмотреть узлы можно в окнах Hypergraph и Outliner. Для каждого объекта создается новый узел
1 Многослойный пользовательский интерфейс Maya в действительности очень прост в применении, так как позволяет быстро получить доступ ко всем функциям приложения. В этой главе вы познакомитесь с интерфейсом программы, научитесь изменять настройки, открывать проект и получать интерактивную помощь. Однако сначала нужно приобрести некоторое представление о том, как работает Maya.
О программе Maya
Рис. 1.2. Файл сцены в Maya обычно состоит из нескольких узлов и соединений, однако в более сложных сценах может содержаться около тысячи узлов
Основным понятием в Maya является узел. Узел – это наглядное представление элемента, например, поверхности, текстуры или анимационной кривой. Все элементы в программе отображаются одним узлом или несколькими связанными узлами (см. рис. 1.1). Узлы состоят из множества атрибутов, то есть качественной и количественной информации об узле, такой как положение объекта или его размер. Получить доступ к узлам позволяют панели Outliner (Планировщик) и Hypergraph (Гиперграф) – рис. 1.2. Их основное назначение одинаково – представить
Системы координат в Maya 19
18 Основы Maya иерархическую схему (или план) конкретной сцены. Преимуществом подобной архитектуры является то, что вы можете в точности управлять всеми узлами, соединяя или разъединяя их, то есть определять вид и поведение объекта. Все соединения сцены можно просмотреть в окне Hypergraph (рис. 1.3). Линии со стрелками обозначают существующие соединения. (Более подробно об окне Hypergraph рассказывается далее.)
Системы координат в Maya Традиционные анимационные и графические приложения, например, Adobe Photoshop, работают с двумя осями, обычно это X и Y (рис. 1.4). В системе координат X и Y есть высота и ширина, но нет глубины, из-за которой объекты и становятся трехмерными. В Maya есть эта третья ось, ось Z (рис. 1.5). Добавление третьей оси позволяет создавать пропорционально точные модели.
Рис. 1.4. 2D-графика работает с осями X и Y, поэтому в характеристиках объекта отсутствует глубина Рис. 1.3. Соединения узлов можно увидеть на панели Hypergraph. Цветные линии со стрелками показывают соединения между узлами и их направление
Рис. 1.5. При добавлении еще одной оси объекты становятся трехмерными, что позволяет создавать очень правдоподобные модели
Системы координат XYZ делятся на два вида: глобальная (world) и локальная (local). Глобальные координаты начинаются в центре сцены в точке 0,0,0, которая называется началом координат (origin) – рис. 1.6. Локальными называются координаты вокруг области объекта. Сами же объекты имеют так называемое координатное пространство UV. У любой поверхности есть два направления: U и V. Для простой плоскости направление U идет слева направо, а направление V – сверху вниз (рис. 1.7). Это аналог широты и долготы на карте мира. С помощью координат U и V можно задать положение точки на поверхности так же, как и с помощью широты и долготы определяется положение на географической карте. Это особенно важно при наложении текстур на поверхности.
Направление V
Начало системы координат
Начало системы координат
Направление U
Рис. 1.7. Любая поверхность описывается с помощью направлений U и V. Они позволяют размещать кривые на поверхности
Рис. 1.6. Центральная точка сцены называется началом координат. Все значения направлений отсчитываются от нуля в начале координат
Интерфейс Maya 21
20 Основы Maya
Интерфейс Maya На первый взгляд интерфейс Maya выглядит довольно сложным, однако, изучив его, вы поймете, что это хорошо организованная и простая в обращении система (рис. 1.8). В верхней части окна программы находится строка главного меню (main menu bar), которая содержит все основные команды. В Maya гораздо больше меню, чем может поместиться в окне, поэтому просматривать их все сразу в строке меню невозможно. По этой причине команды собраны в группы меню по задачам, к которым можно получить доступ, выбрав нужную группу из выпадающего списка слева от строки состояния. В строке состояния (status line), которая находится непосредственно под строкой главного меню, содержится большинство функций управления. Под строкой состояния расположена панель Shelf (Полка),
Основные меню Строка состояния Полка
Окна проекций
Выбор маски
Панель инструментов
в которой находятся часто используемые инструменты. В левой части главного окна расположена панель инструментов (toolbar), в которой содержатся инструменты управления объектами и видами в Maya. С их помощью можно выделять, поворачивать, перемещать объекты, а также изменять размеры объектов или их частей, которые называются компонентами. По умолчанию в Maya при открытии файла отображаются четыре вида: вид спереди (Front), вид сбоку (Side), вид сверху (Top) и вид в перспективе (Perspective). Области экрана, содержащие эти виды, называются окнами вида, или окнами проекций (panes). По умолчанию сцена открывается в четырех окнах проекций. В нижней части главного окна расположены ползунок диапазона (Range Slider) и ползунок времени (Time Slider), с помощью которых можно управлять положением сцены во времени при создании анимации.
Привязки История создания вкл/выкл
Редактор каналов
Быстрый вызов компоновок
Слои Ползунок времени Ползунок диапазона
Клавиши управления анимацией Редактор скриптов Помощь
Рис. 1.9. Контекстное меню предоставляет быстрый доступ к командам редактирования различных компонентов
Командная строка
Рис. 1.8. На рисунке представлен интерфейс Maya, установленный по умолчанию. Большинство элементов, которые здесь отображены, можно скрыть или привязать к текущей задаче
Рис. 1.10. Конфигурация элементов инструмента Hotbox, принятая по умолчанию. Состав отображаемых команд можно изменить в меню Hotbox Controls
С правой стороны главного окна находится редактор каналов (Channel Box), в котором содержатся числовые поля атрибутов объектов. Доступ к командам можно получить не только с помощью строки главного меню, но и воспользовавшись отдельными панелями или контекстным меню (Marking Menu) – рис. 1.9. Эти меню позволяют быстро активизировать нужный инструмент или выполнить команду. Контекстное меню можно вызвать, щелкнув по объекту правой кнопкой мыши или щелкнув по одной из пяти областей быстрого меню Hotbox (см. далее раздел «Меню Hotbox»). В Maya очень много различных меню, поэтому потребуется достаточно много времени, чтобы освоить все содержащиеся в них команды. Инструмент оперативного доступа к элементам пользовательского интерфейса Hotbox (Быстрое меню) позволяет вывести на экран все необходимые меню в тот или иной момент работы (рис. 1.10). Если вы нажмете клавишу пробела, то быстрое меню появится на экране прямо под указателем мыши (и исчезнет, если клавишу отпустить). Hotbox позволяет значительно сэкономить время, так как получить доступ к нему можно при любом положении указателя мыши, не перемещаясь в строку главного меню, чтобы выбрать команду.
Использование Shelf 23
22 Основы Maya Чтобы изменить положение объекта, повернуть его или промасштабировать (все вместе это называется преобразованиями), нужно ввести соответствующие значения в редакторе каналов (рис. 1.11) или воспользоваться манипуляторами Maya, с помощью которых можно изменять значения атрибутов объекта, щелкнув по маркеру и перетащив его мышью в другое положение (рис. 1.12).
Рис. 1.11. Можно изменять значения атрибутов следующим образом: выделите имя атрибута и перемещайте указатель мыши в окне вида, удерживая нажатой среднюю кнопку мыши
Использование Shelf На полке (Shelf) хранятся часто используемые инструменты и команды. Чтобы собрать наиболее применяемые инструменты, можно воспользоваться обширным набором предварительно заданных полок, предоставляемым Maya 5 (рис. 1.13). На рис. 1.13 изображены все устанавливаемые по умолчанию полки: General (Общие), Curves (Кривые), Surfaces (Поверхности), Polygons (Многоугольники), Subdivs (Поверхности разделения), Deformation (Деформации), Animation (Анимация), Dynamics (Динамика), Rendering (Визуализация), Paint Effects (Рисование), Cloth (Одежда), Fluids (Жидкости), Fur (Мех). Добавлять элементы в отдельные наборы полок очень удобно. Например,
Рис. 1.12. Этот конус окружен манипулятором вращения. Объект можно повернуть, выделив окружности и переместив их
Рис. 1.14. Множество отображаемых окон и панелей уменьшает рабочее пространство. Громоздкие элементы можно скрыть, убрав галочку в подменю Display UI Elements
можно создать одну полку для инструментов моделирования, а другую – для инструментов визуализации. Можно сформировать и третью полку с десятью или пятнадцатью часто используемыми инструментами и командами. Допускается добавлять в полку элементы или удалять их, а также использовать любую заранее установленную в полке команду. Несмотря на всю приносимую пользу полка иногда мешает работе, поскольку занимает много места на экране. Если нужно освободить рабочее пространство, полку можно скрыть. Чтобы скрыть полку, выполните команды меню Display UI Elements Shelf (Показ Элементы интерфейса пользователя Полка) – рис. 1.14. Элементы, помещаемые в полку, сохраняют последние установки, а это значит, что можно добавить один и тот же инструмент дважды, но с различными установками. Например, попробуйте добавить в полку две иконки, заменяющие команды Create Primitive Sphere (Создать Примитив Сфера), но одна сфера будет занимать 360°, а другая меньше 360° (например, 240). Чтобы создать сферу с нужным числом градусов, не возвращаясь к настройкам, вы можете просто щелкнуть по любой из этих иконок.
Добавление объекта на полку С одновременным нажатием клавиш Ctrl/ Control и Shift выберите тот элемент меню, который требуется добавить на полку. На полке появится нужный инструмент.
Удаление объекта с полки Чтобы удалить инструмент, с помощью средней кнопки мыши перетащите его с полки в корзину. Рис. 1.13. В полках собраны инструменты и команды. Вы можете изменять их или создавать для текущей задачи дополнительные полки с часто используемыми командами и инструментами
Редактор каналов 25
24 Основы Maya
Строка подсказки
Редактор каналов
В строке подсказки (Help Line) отображается информация о преобразованиях объекта, а также сведения о том, каков должен быть ваш следующий шаг. Когда вы проводите указателем мыши над элементом меню, в строке подсказки появляется описание шагов, которые нужно предпринять, чтобы завершить команду. Если вы поворачиваете объект, изменения отобразятся в строке подсказки в виде чисел (рис. 1.15). Точные значения преобразований можно ввести в поле Numeric Input (Ввод численных данных), которое находится слева от строки состояния. Это необходимо, если требуется точно определить положение объектов, таких как части архитектурных сооружений или различных механизмов. Maya предоставляет возможность выбора: выполнять построения на глаз или вводить точные цифры, определяющие положение и размер объектов. После внесения изменений в строке подсказки появляются новые значения.
Редактор каналов (Channel Box), в котором перечислены ключевые атрибуты объекта, расположен в правой части главного окна Maya (рис. 1.16). Ключевыми атрибутами называются основные свойства объекта, использующиеся при анимации. Редактор каналов позволяет быстро изменить значение атрибута, не открывая еще одно лишнее окно (таким образом экономится рабочее пространство). Чтобы переопределить значение атрибута, в его поле следует ввести нужное число или же щелкнуть по имени атрибута и переместить указатель мыши в любом окне проекции, удерживая нажатой среднюю кнопку мыши. При выделении объекта в редакторе каналов отобразятся его атрибуты, устанавливаемые по умолчанию (рис. 1.17): Translate X (Перемещение по X), Translate Y (Перемещение по Y), Translate Z (Перемещение по Z), Rotate X (Поворот относительно X), Rotate Y (Поворот относительно Y), Rotate Z (Поворот относительно Z), Scale X (Изменить размер по X), Scale Y (Изменить размер по Y), Scale Z (Изменить размер по Z) и Visibility (Видимость). Значения для этих атрибутов можно вводить по одному, в небольших наборах или все сразу. С помощью окна Channel Control (Управление каналами) список атрибутов редактора каналов можно дополнить, сделав ключевыми другие атрибуты объекта.
Рис. 1.15. В строке подсказки отображается важная информация о командах и преобразованиях объектов. В нижней части рисунка в градусах представлено значение поворота сферы
Рис. 1.16. В редакторе каналов содержится вся информация об объекте: в строках Translate описывается его положение, в строках Scale – изменение размеров, Rotate – поворот. Это составляющие узла преобразований
Рис. 1.17. По умолчанию ключевыми считаются десять атрибутов объекта, но вы можете добавлять атрибуты или удалять их из списка
Меню Hotbox 27
26 Основы Maya Под узлом преобразований расположены узлы Shapes (Формы) и Inputs (Входные данные) – рис. 1.18. В разделе Shapes перечислены названия каждого объекта. Эти узлы определяют геометрию объекта. Например, при создании сферы в разделе Shapes появляется элемент pSphereShape. Если объект состоит из нескольких форм, их узлы также перечисляются в данном разделе. В разделе Inputs обычно находятся атрибуты, влияющие на историю создания выбранного объекта (см. далее раздел «История создания»). При выделении нескольких объектов в ре- дакторе каналов отображается последний выбранный объект; однако любое изменение значений атрибута отразится на всех выделенных объектах. Чтобы выделить несколько значений в редакторе каналов, нужно выбрать их, удерживая нажатой клавишу Ctrl/Control (рис. 1.19). Теперь изменение одного из них отразится на значениях всех выделенных атрибутов.
Меню Hotbox Рис. 1.18. Чтобы изменить свойства поверхности после ее создания, переопределите атрибуты узла Inputs
Рис. 1.21. Для каждой из областей быстрого меню – North, South, East, West и Center – есть соответствующее контекстное меню. Центральная область определяется символом A/W Рис. 1.19. Если в редакторе каналов выделено несколько атрибутов, их можно изменять одновременно
Редактор атрибутов Редактор атрибутов (Attribute Editor) похож на редактор каналов, поскольку позволяет работать с атрибутами объекта. Однако редактор атрибутов открывает доступ ко всем атрибутам объекта, а редактор каналов – только к тем, которые могут стать ключевыми в анимации (рис. 1.20). Еще одно отличие заключается в том, что в Attribute Editor находятся атрибуты, на которые нельзя назначить ключевые кадры (то есть нельзя использовать при создании анимации), а следовательно, нельзя переместить в редактор каналов.
Рис. 1.22. В контекстном меню северной области можно выбрать различные схемы интерфейса
Меню Hotbox (Быстрое меню) содержит наборы меню, к которым можно получить доступ простым нажатием и удерживанием клавиши Пробел при любом положении указателя мыши. Быстрое меню разделено на пять областей: North (Северная), South (Южная), East (Восточная), West (Западная) и Center (Центральная) – рис. 1.21. У каждой области есть соответствующее ей контекстное меню (Marking Menu). По умолчанию в контекстном меню для северной области содержатся ярлыки для различной компоновки элементов интерфейса (например, Single Perspective (Только перспектива)) – рис. 1.22. В южной области переопределяется содержимое активного рабочего окна (рис. 1.23), например, вид Perspective меняется на Outliner (см. ниже раздел «Окно Outliner»). В меню западной области находятся заранее заданные маски выбора (рис. 1.24), с помощью которых фильтруются те или иные объекты. Меню восточной области позволяет скрыть или отобразить отдельные
Рис. 1.24. В контекстном меню западной области можно изменять режимы выбора объектов и компонентов
Рис. 1.20. В редакторе атрибутов содержится вся информация о выделенном объекте
Рис. 1.23. С помощью контекстного меню южной области можно менять содержимое панелей
Окно Hypergraph 29
28 Основы Maya элементы пользовательского интерфейса (рис. 1.25). Например, с его помощью можно скрыть полку и освободить пространство. Меню центральной области содержит ярлыки для переключения между панелями видов (например, с вида спереди на перспективу) – рис. 1.26. Помимо контекстных меню, Hotbox предоставляет доступ ко всем наборам меню Maya. В верхней строке всегда находятся такие основные меню (имеющиеся во всех режимах), как Window (Окно) или Create (Создать). Во второй строке дублируется меню активного окна. Третья строка включает меню Recent Commands (Последние команды), при помощи которого можно просмотреть 15 последних исполненных команд, и меню Hotbox Controls (Элементы Hotbox), позволяющее настроить режим отображения информации в меню Hotbox. Hotbox Controls позволяет скрыть или показать элементы меню Hotbox. На экране можно оставить только среднюю строку, сделать видимым другой набор меню или отобразить все строки одновременно (рис. 1.27).
3. Удерживая клавишу Пробел и кнопку мыши, выберите пункт Show All (Отобразить все). Как только вы отпустите кнопку мыши, на экране появятся все наборы меню (рис. 1.27). Такое отображение позволяет быстро найти любое меню программы, не тратя время на долгий поиск.
Рис. 1.25. Контекстное меню восточной области позволяет скрыть/отобразить элементы интерфейса
Рис. 1.26. С помощью меню центральной области можно быстро переключаться между видами
Рис. 1.28. Меню Hotbox позволяет просматривать как один набор меню, так и все меню программы
Рис. 1.29. Иерархическая структура состоит из узлов, соединенных между собой. Эти связи отображаются в окнах Hypergraph и Outliner
Отображение всех наборов меню в Hotbox 1. Нажмите и удерживайте клавишу Пробел. Меню Hotbox будет отображаться на экране, пока вы не отпустите эту клавишу. 2. Щелкните по кнопке Hotbox Controls. На экране появится контекстное меню (рис. 1.28). Рис. 1.27. В данном случае отображены все компоненты меню Hotbox
Рис. 1.30. Маленький значок на каждом узле обозначает тип объекта этого узла. Например, у узла поверхности (левый столбец) рядом с названием есть маленький синий значок, напоминающий простую поверхность
Окно Hypergraph Окно Hypergraph (Гиперграф) содержит представление сцены с использованием элементов, подобных гипертекстовым (отсюда и его название). Если вам когда-нибудь приходилось работать с HTML Authoring tool, вы сразу заметите, что объекты в окне Hypergraph имеют Web-вид. Hypergraph показывает, как организованы и соединены все узлы в сцене. От этих соединений зависит качество конечной анимации и визуализации. Создание персонажей и их перемещение невозможны без правильного соединения узлов, иначе части тела персонажей двигались бы неестественным образом, не составляя единого целого. Такая организация и соединение отдельных узлов называется иерархией (рис. 1.29). Иерархия сцены отображается в окнах Hypergraph и Outliner, ее можно настраивать, то есть добавлять и удалять связи между элементами сцены. Для каждого типа объекта в Maya есть соответствующий значок (рис. 1.30). Без таких значков ярлыки всех объектов выглядели бы совершенно одинаково. По мере знакомства с программой вы начнете узнавать значок каждого типа объекта. Так, например, выглядит значок кривой – , – значок объекта Spotlight. В окне а так Hypergraph можно просматривать узлы
Зависимости 31
30 Основы Maya по типу объекта (рис. 1.31) или же отображать все узлы сразу (рис. 1.32). Узлы, не участвующие в анимации, представлены в виде прямоугольника, а узлы, задействованные в ключевых кадрах, – в виде параллелограмма (рис. 1.33).
Зависимости
Рис. 1.31. Чтобы упростить поиск и выбор объектов, в окне Hypergraph можно отобразить узлы одного типа объектов. Например, для моделирования, возможно, понадобятся только кривые и поверхности. А для анимирования потребуются только соединения и IK-указатели, использующиеся для выбора и перемещения частей персонажа и имитирующие движение
Рис. 1.32. По умолчанию для окна Hypergraph установлена опция Show All. Этот вид помогает проиллюстрировать, как геометрия связана с узлом, а также предоставляет другую информацию об иерархии
Рис. 1.33. Узлы, задействованные в ключевых кадрах, представлены в виде параллелограммов, что позволяет предотвратить нежелательные анимации объекта
Рис. 1.34. Исходящий и входящий граф объекта показывает соединения с другими объектами. Некоторые из этих зависимостей могут соответствовать группам объектов, источникам света или текстуре
Рис. 1.35. Чтобы освободить место в окне Hypergraph, иерархию можно свернуть. Свернутая иерархия обозначается красной стрелкой, расположенной под верхним узлом
Каждый узел в окне Hypergraph имеет зависимости (dependences), которые соединяют его с другими узлами. Например, вы выделили вновь созданную сферу, чтобы рассмотреть ее исходящие и входящие соединения в Hypergraph (рис. 1.34). На экране отобразятся узел Shape сферы, узел Shader, устанавливаемый по умолчанию, и соединенный с ним узел makeNurbs Construction History. Стрелки между узлами показывают направление соединений. Один из способов увидеть все взаимосвязи узла – нажать на кнопку Show Upstream and Downstream Connections (Показать исходящие и входящие соединения) . Закончив просмотр данных соединений, нажмите на кнопку SceneHierarchy (Иерархия сцены) , чтобы в Hypergraph вновь появилась общая иерархия сцены. Чтобы сократить число узлов, отображаемых на экране, дочерние узлы можно свернуть. На родительском узле при этом появится красная стрелка (рис. 1.35). Чтобы свернуть иерархию, дважды щелкните
Зависимости 33
32 Основы Maya по верхнему узлу. Двойной щелчок по верхнему узлу свернутой иерархии разворачивает ее по одному узлу за один раз (рис. 1.36). Чтобы развернуть всю иерархию, щелкните правой кнопкой мыши по самому верхнему узлу и выберите в выпадающем меню пункт Expand All (Развернуть все) – рис. 1.37. Благодаря тому, что Hypergraph обеспечивает доступ ко многим данным, он быстро завоевывает симпатии пользователей. Этот инструмент позволяет поддерживать функциональность и организованность сцены, поскольку с его помощью можно соединять, разъединять и перемещать узлы, на которых построена работа программы.
Окно Outliner
Рис. 1.36. Иерархию можно развернуть, чтобы посмотреть, какие узлы являются дочерними, после чего вновь свернуть, чтобы не загромождать окно Hypergraph
Рис. 1.38. Список Outliner появляется в небольшом окне, что упрощает процесс выбора и перемещения объектов
Рис. 1.39. Окно Outliner, как и Hypergraph, позволяет скрывать и отображать объекты
Рис. 1.37. Если вы захотите увидеть иерархию целиком, щелкните правой кнопкой мыши по верхнему узлу и выберите пункт Expand All
Рис. 1.40. Новая сцена в Outliner содержит четыре камеры видов, которые устанавливаются по умолчанию
В окне Outliner (Планировщик) представлена общая схема сцены, что делает его похожим на Hypergraph. Иерархия отображается в виде списка (рис. 1.38), что упрощает поиск объектов и их выбор. В меню Outliner содержатся команды фильтрации конкретных типов объектов, позволяющие сократить количество отображаемых в списке узлов (рис. 1.39). В окне Outliner можно изменять положение объекта в иерархии и быстро выбирать объекты, которые находятся на самых глубоких уровнях иерархии. Если окно Outliner открыто, а в сцене еще не создано ни одного объекта, то помимо значков defaultLightSet и defaultObjectSet вы увидите цветные значки видов сверху, спереди, сбоку и в перспективе (обратите внимание, что все ортогональные виды здесь считаются камерами) – рис. 1.40. По мере создания каждого нового объекта в списке отображается новый узел. Если установлены соединения и построена иерархия, то рядом с родительским объектом иерархии появляется плюс, нажатие на который раскрывает список дочерних объектов (рис. 1.41).
Рис. 1.41. Чтобы увидеть дочерние объекты, щелкните по плюсу и раскройте иерархию. У каждого объекта в Outliner есть свой значок, обозначающий его тип
Зависимости 35
34 Основы Maya
кривой и переместить ее; в результате поверхность изменится в соответствии с изменениями кривой (рис. 1.44). У большинства примитивов NURBS (NonUniform Rational B-Spline – неоднородные рациональные би-сплайны) и полигональных объектов есть история создания, которая присоединена к узлам поверхностей. Узлы History для примитивов находятся в Channel Box под заголовком Inputs и используются для изменения основных атрибутов объекта после его создания. В качестве примера рассмотрим изменение конечной точки развертки сферы, в результате чего из формы вырезается кусок (рис. 1.45).
У окна Outliner небольшие размеры, что делает его удобным инструментом для выбора объектов. Однако инструмент Hypergraph предоставляет большую гибкость в управлении узлами. Если для простых сцен вполне годится инструмент Outliner, то для сложных лучше использовать Hypergraph, с более совершенным интерфейсом, позволяющим просматривать сотни элементов.
История создания По мере построения объектов Maya сохраняет связи с первоначальными кривыми или поверхностями, которые использовались при моделировании. Эта связь называется историей создания (construction history). Поскольку в истории создания записаны шаги, которые вы совершали при моделировании объекта, его конечную форму можно изменить, переопределив начальную кривую или поверхность. Это позволяет изменить поверхность, не создавая ее заново. В качестве примера рассмотрим рисование кривой, которая определяет форму вазы (рис. 1.42), и ее последующее вращение вокруг вертикальной оси, в результате которого очерчивается полный контур объекта (рис. 1.43). В истории создания записывается положение кривой, которое привязывается к форме конечной поверхности. Чтобы изменить форму вазы, нужно выбрать часть начальной
Рис. 1.42. Кривые используются для создания контура формы – при вращении вокруг какой-либо оси они моделируют поверхность
Рис. 1.44. Чтобы изменить форму поверхности, нужно выделить и переместить целую кривую или ее отдельные точки. В истории создания узел поверхности присоединен к узлу кривой, поэтому поверхность повторяет изменения этой кривой
Рис. 1.45. Поверхность примитива можно изменить с помощью его узла Inputs, содержащего многочисленные атрибуты, которые используются при редактировании. Каждый тип объекта имеет уникальные атрибуты
Рис. 1.43. На основе одной и той же кривой можно создать бесчисленное количество объектов, с помощью истории создания изменяя конечную форму поверхности уже после того, как поверхность была построена
Включение и отключение истории создания В строке состояния щелкните по кнопке Construction History On/Off. Пиктограмма на данной кнопке означает, что история включена, а – отключена. Отключение этой функции для всей сцены или отдельного объекта позволяет увеличить скорость работы, но значительно снижает ее гибкость, поскольку история создания предоставляет дополнительные средства контроля и больше свободы для реализации альтернативных озможностей моделирования. Если история создания отключена, она не войдет ни в один из создаваемых объектов. Чтобы добавить историю создания, нужно перестроить объект.
Начало проекта 37
36 Основы Maya
2. В поле Name в верхней части окна введите имя проекта. 3. Нажмите кнопку Browse (рядом с полем Location) и выберите директорию, в которую предполагаете поместить папки проекта (рис. 1.48). 4. Чтобы использовать имена папок, установленные по умолчанию, нажмите кнопку Use Defaults (По умолчанию). 5. Нажмите кнопку Accept. В указанном вами месте создана папка проекта, содержащая множество папок, имена которых устанавливаются по умолчанию (рис. 1.49).
Удаление истории создания объекта 1. Чтобы создать сферу, в меню Create (Создать) выберите пункты NURBS Primitive Sphere (Примитив NURBS Сфера) или выделите объект. 2. В меню Edit (Редактирование) выберите пункты Delete by Type History (Удалить по типу История).
Начало проекта Для каждого проекта Maya может создаваться огромное количество файлов, поэтому для работы необходим набор папок, в котором несколько директорий будут отведены для хранения определенных типов файлов. Чтобы быстро систематизировать создаваемые файлы, можно использовать предоставляемые Maya готовые наборы папок, которые называются проектами (project) – рис. 1.46. Создав новый проект, необходимо определить его в качестве рабочего. Если проект определен, Maya автоматически размещает файлы по папкам, точно зная, например, в какие папки поместить визуализированные изображения, а в какие – сцены. Рабочий файл Maya, называемый файлом сцены (scene file), следует хранить в папке Scenes. Лучший способ организовать хорошую файловую структуру – создать новый проект, определить его, создать новую сцену и сохранить ее в папке Scenes. В следующем разделе создание проекта описывается по шагам.
Создание нового проекта 1. В меню File (Файл) выберите команды Project New (Проект Создать) – рис. 1.47.
Рис. 1.46. Чтобы правильно организовать работу с программой, необходимо хранить файлы разного типа в разных папках. Можно использовать готовые проекты Maya или создавать свои директории Рис. 1.48. Укажите путь к папке, в которой вы хотите хранить файлы нового проекта
Рис. 1.47. При создании нового проекта на жестком диске появляется главная папка проекта, содержащая множество папок с растровыми изображениями, объектами визуализации, текстурами и файлами сцен
Рис. 1.49. Использование имен папок, устанавливаемых по умолчанию, позволяет сохранять единую структуру от проекта к проекту
Чтобы программа автоматически размещала файлы по папкам, нужно определить проект так, чтобы он соответствовал текущим рабочим файлам. Поскольку конечные визуализированные файлы будут сохранены в папках проекта, который определен как рабочий, перед тем, как производить визуализацию, убедитесь, что проект задан правильно. (Визуализация – это процесс превращения трехмерной сцены в конечное двумерное изображение. Более подробно об этом рассказывается в главе 15.)
Начало проекта 39
38 Основы Maya Определение проекта
Сохранение сцены
1. Создайте новый проект, выполнив шаги из предыдущего раздела. 2. В меню File (Файл) выберите команды Project Set (Проект Определить) – рис. 1.50. 3. Укажите путь к папке, которую вы хотите использовать в качестве рабочей папки проекта, и выберите ее. 4. Чтобы определить проект, нажмите кнопку ОК.
1. В меню File (Файл) выберите пункт Save Scene (Сохранить сцену). При первом сохранении файла появится диалоговое окно Save. 2. Чтобы выбрать папку для сохранения файла, откройте выпадающее меню поля Look in (рис. 1.52). Если вы правильно определили проект, в директории проекта уже должна быть папка Scenes. 3. В поле File Name (Имя файла) введите имя файла и нажмите кнопку Save (рис. 1.53). Сцена будет сохранена в папке Scenes. Во многих случаях при создании новой сцены вам захочется, чтобы у нее были предварительно выставленные настройки по умолчанию. Это может быть все что угодно: от ваших личных настроек до осветительного оборудования, установленного в трех точках, или какой-то определенной сферы. В Maya легко установить файл сцены по умолчанию.
Рабочий файл Maya называется файлом сцены; его можно сохранять, открывать и импортировать в другие файлы сцен.
Создание новой сцены В меню File (Файл) выберите пункт New Scene (Создать сцену) – рис. 1.51. На экране появится пустая сцена Maya.
Рис. 1.50. Если проект и его папки созданы, вы можете определить проект как Current, и программа поместит файлы в соответствующие папки этого проекта, например, файлы сцен сохранит в папке Scenes
Рис. 1.52. Если проект определен правильно, команда Save As откроет папку со сценами текущего проекта
Рис. 1.51. Файлы сцен можно использовать для создания отдельных моделей или сцен, которые будут импортированы в другие сцены или открыты позднее. В файле сцены хранится информация о текстурах, моделях, анимации, частицах и всех установках пользователя Рис. 1.53. Проект обычно состоит из множества файлов сцен, поэтому файлам рекомендуется присваивать имена, содержащие номер
Начало проекта 41
40 Основы Maya Установка сцены по умолчанию 1. Настройте и сохраните файл сцены, который хотите использовать по умолчанию. 2. В меню File щелкните мышью по квадрату напротив пункта New Scene (Новая сцена) – рис. 1.54. Появится диалоговое окно New Scene Options (Установки новой сцены). 3. Щелкните указателем мыши для установки флажка Enable Default Scene (Разрешить сцену по умолчанию) – рис. 1.55. В результате откроется доступ к полю параметра Default Scene (Сцена по умолчанию) под флажком. 4. Щелкните указателем мыши по пикторядом с параметром грамме папки Default Scene, чтобы запустить средство просмотра файлов. 5. Найдите вашу папку со сценами и выберите настроенную сцену, которую хотите использовать по умолчанию (рис. 1.56), и нажмите кнопку Open (Открыть).
Рис. 1.54. Вы можете установить сцену по умолчанию, щелкнув мышью по квадрату напротив пункта New Scene в меню File
Рис. 1.55. Чтобы использовать Default Scene, щелкните по флажку
Рис. 1.56. Выберите файл сцены для установки по умолчанию
Рис. 1.57. Использование сцены по умолчанию сэкономит ваше время, избавив от необходимости повторно вводить часто используемые настройки
6. Нажмите Apply (Применить), чтобы сохранить данный выбор. Появится диалоговое окно Warning (Предупреждение), чтобы вы не потеряли результаты работы над открытым проектом. 7. Нажмите Save (Сохранить) – рис. 1.57, чтобы сохранить сцену, которая открыта в настоящий момент. Maya создает новую сцену на базе сцены по умолчанию, которую вы только что выбрали, заменяя сцену, открытую в данный момент. Теперь каждый раз при выборе пункта меню New Scene (Новая сцена), будет открываться настроенная вами сцена.
Импорт, экспорт и ссылки 43
42 Основы Maya
Использование ссылок – мощный инструмент организации больших проектов. Большие сцены могут быть разбиты на сегменты путем хранения составных частей сцены в отдельных файлах, в результате они при сохранении будут занимать меньше места. Это сэкономит ваше время (сохранение больших файлов сцен на жесткий диск может протекать очень долго) и пространство на жестком диске.
Импорт, экспорт и ссылки Перенести файлы и геометрию в сцену Maya можно двумя способами: с помощью импорта и ссылки. Импортированный файл помещается в текущую сцену без отслеживания изменений с исходным. Этот метод рекомендуется применять, если вы работаете только с одним файлом. Но чтобы использовать одну и ту же модель в нескольких сценах (рис. 1.58), следует задействовать ссылки. Если вы редактируете файл, на который ссылается несколько сцен, изменения будут внесены во все файлы сцен, содержащих эту ссылку. Например, можно создать персонаж в одном файле, а затем ссылаться на него из различных файлов, соответствующих каждому кадру камеры. Если в дальнейшем вы захотите изменить объект, откройте начальный файл и внесите изменения, затем сохраните его. Все файлы, которые ссылаются на этот персонаж, будут обновлены автоматически (рис. 1.59). Применение ссылок особенно популярно в рабочих коллективах, когда над одним и тем же проектом работает несколько человек. Художник моделей (моделлер) может первоначально создать персонаж с низкой детализацией, а аниматор будет ссылаться на него в сцене. Таким образом, моделлер может продолжать вносить дополнения, а аниматор – создавать движение персонажа. По мере обновления модели аниматор будет видеть изменения в сцене. Другое преимущество состоит в том, что модель с низким разрешением быстрее обновляется на экране, поскольку центральному процессору не приходится обрабатывать много геометрических построений (рис. 1.60).
При редактировании файлов, на которые имеются ссылки, неизменность имен узлов и объектов становится чрезвычайно важной. Если имена изменяются, то сцена, которая ссылается на них, не сможет найти эти объекты.
Рис. 1.58. При изменении объекта в начальном файле все файлы, которые ссылаются на этот персонаж, будут обновлены автоматически
Рис. 1.60. Слева направо изображены плавная деформируемая геометрическая фигура, каркас, а затем дубль, созданный из примитивов куба
Рис. 1.61. Выгрузка ссылок значительно ускорит процесс анимации
Рис. 1.59. Изменения, внесенные в файл, на который ссылаются сцены, автоматически учитываются в каждой сцене
Maya может назначать координатный манипулятор при импорте ссылки. Для больших сцен это дает возможность выгружать объект, на который имеется ссылка, щелкнув правой кнопки мыши по имени ссылки в любом окне и выбрав пункт Unload Related Reference (Выгрузить связанную ссылку). Вы все еще будете видеть перекрестие координатного манипулятора и имена ссылок, но поскольку геометрическая фигура уже не загружена, отображение вашей сцены будет происходить гораздо быстрее при переходе к другой части сцены (рис. 1.61).
Импорт, экспорт и ссылки 45
44 Основы Maya Помимо импорта и использования ссылок Maya предоставляет еще одну функцию переноса: объекты можно экспортировать из сцены. Существует две опции экспорта: Export All (Экспортировать все) и Export Selection (Экспортировать выделенные объекты). Команда Export All экспортирует в новый файл все содержимое текущей сцены. Команда Export Selection экспортирует только объекты, которые выделены в текущий момент. Помните, что команда Export All также экспортирует виды Orthographic и Perspective. Это означает, что в сценах, в которые импортируются объекты, будет два набора видов сверху, спереди, сбоку и в перспективе, что затрудняет выделение и последующую визуализацию вида.
Импорт файла
Рис. 1.62. Чтобы экспортировать все содержимое сцены, воспользуйтесь командой Export All
Рис. 1.65 Импортированный файл объединяется с текущим
Использование ссылки на файл 1. В меню File (Файл) выберите пункт Create Reference (Создать ссылку) – рис. 1.67. Откроется окно Reference. 2. Укажите путь к папке, содержащей файл, на который будут ссылаться другие файлы. 3. Выделите этот файл и нажмите кнопку Reference (рис. 1.68). Теперь в сцене есть объекты со ссылкой на файл.
Экспорт всей сцены 1. В меню File (Файл) выберите пункт Export All (Экспортировать все) – рис. 1.62. Откроется окно Export. 2. Укажите путь к папке, в которую вы хотите поместить экспортированный файл. 3. Нажмите кнопку Export, чтобы экспортировать все компоненты файла.
1. В меню File (Файл) выберите пункт Import (Импортировать) – рис. 1.65. Откроется окно Import. 2. Укажите путь к папке, содержащей файл, который требуется импортировать. 3. Щелкните по импортируемому файлу и нажмите кнопку Import (рис. 1.66), чтобы перенести в сцену содержимое файла.
Рис. 1.63. Этот персонаж выделен в окне Outliner, поэтому его можно экспортировать отдельно от остального содержимого сцены
Рис. 1.66. Файл сцены creature.mb импортируется в сцену, которая в данный момент открыта
Экспорт выделенных объектов 1. Выделите объекты, которые требуется экспортировать (рис. 1.63). 2. В меню File (Файл) выберите пункт Export Selection (Экспортировать выделенные объекты) – рис. 1.64. Откроется окно Export. 3. Укажите путь к папке, в которую вы хотите поместить экспортированный файл. 4. Нажмите Export, чтобы экспортировать выделенные объекты.
Рис. 1.64. Чтобы экспортировать только выделенные объекты сцены, воспользуйтесь командой Export Selection
Рис. 1.67. Чтобы перенести файл в существующую сцену, выполните команды меню File Create Reference
Рис. 1.68. Укажите путь к файлу, на который будут ссылаться остальные файлы, и нажмите кнопку Reference или дважды щелкните по имени файла
Определение настроек Maya 47
46 Основы Maya
4. Чтобы применить настройки, нажмите кнопку Save (Сохранить). Теперь вы можете отменять действия бесконечное число раз.
Не группируйте объекты, на которые имеются ссылки с теми, на которые ссылок нет. Если вы трансформируете узел группы в момент времени между загрузкой и выгрузкой ссылок, Maya может потерять место, на которое ссылается тот или иной объект.
Каждая сохраненная отмена действия занимает место в памяти. Если накоплено слишком много отмен, производительность системы заметно падает.
Определение настроек Maya В Maya есть множество настроек (preferences), изменяя которые можно подобрать оптимальный для вас стиль работы с интерфейсом и наиболее подходящую цветовую схему. В этом разделе рассказывается только о нескольких наиболее важных настройках (более подробную информацию о различных настройках вы найдете в файлах помощи Maya). Программа позволяет устанавливать количество разрешенных отмен действий (undo), которые определяют, сколько раз можно отменить предыдущие команды.
Рис. 1.71. Присвойте параметру Undo Queue значение Infinite
Рис. 1.69. Определенные вами настройки будут приняты по умолчанию, поэтому каждый раз при запуске программа открывается с нужной вам конфигурацией интерфейса
Изменение размера манипулятора Maya
Рис. 1.72. В окне Preferences в разделе Manipulators можно изменить размер манипуляторов
Изменение количества отмен 1. В меню Window (Окно) выберите пункт Settings/Preferences Preferences (Установки/настройки Настройки) – рис. 1.69. Откроется окно Preferences. 2. Чтобы просмотреть свойства команды Undo, щелкните по пункту Undo (Отменить) в списке под заголовком Categories (Категории) – рис. 1.70. Откроется раздел Undo. 3. По умолчанию число отмен действий равно пятидесяти. Присвойте параметру Queue (Очередь) свойство Infinite (Бесконечная) – рис. 1.71. Это позволит отменить любую выполненную команду вплоть до момента последнего сохранения файла сцены.
Рис. 1.70. Чтобы изменить число разрешенных отмен действий, в окне Preferences выберите пункт Undo
С помощью специальных установок можно настроить вид и размеры манипуляторов. Здесь вам придется действовать на свое усмотрение, однако необходимо учесть, что манипуляторы большего размера проще ухватить и перетащить, но они загромождают рабочую область.
Рис. 1.73. Не закрывая окно Preferences, выделите сферу щелчком мыши
1. В меню Create выберите команды NURBS Primitive Sphere. В начале координат будет создана сфера. 2. Выберите инструмент Move, нажав на клавишу w или на кнопку Move на панели инструментов . 3. В меню Window (Окно) выберите пункты Settings/Preferences Preferences (Установки/настройки Настройки). Откроется окно Preferences. 4. В списке категорий выберите пункт Manipulators (рис. 1.72). Справа отобразятся свойства манипулятора. 5. Переместите окно Preferences так, чтобы было видно сферу. Щелкните по сфере, чтобы убедиться в том, что она выделена (рис. 1.73).
Определение настроек Maya 49
48 Основы Maya 6. В разделе Manipulator Display Preferences медленно перемещайте ползунок Global Scale (Общий размер), пока не подберете нужный вам размер манипулятора (рис. 1.74). Передвигая ползунок, наблюдайте, как изменяются размеры манипулятора (рис. 1.75). 7. Переместите ползунок Handle Size (Размер меток) – рис. 1.76. Метка манипулятора (в данном случае стрелки) уменьшается при движении ползунка влево и увеличивается при перемещении вправо (рис. 1.77).
Возвращение к установкам по умолчанию Если вы по какой-то причине захотите вернуться к установкам по умолчанию, в окне Preferences выполните команды меню Edit Restore Default Settings (рис. 1.78). Таким образом вы восстановите настройки, которые определяются по умолчанию. При восстановлении установок, определенных по умолчанию, не забудьте в настройках отмены действий установить значение Infinite.
Рис. 1.75. При перемещении ползунка вправо манипулятор увеличивается, при перемещении влево – уменьшается Рис. 1.78. В окне Preferences выполните команды меню Edit Restore Default Settings, чтобы вернуться к первоначальным установкам
Вы можете изменять размер манипуляторов «на лету» с помощью клавиш Плюс и Минус.
Изменение цветовой схемы Maya 1. В меню Window (Окно) выберите пункт Settings/Preferences Colors (Настройки/свойства Цвета) – рис. 1.79. Откроется Окно Colors. 2. Нажмите на стрелку рядом с надписью , чтобы отобра3D Views зить ползунок, с помощью которого изменяется цвет фона (рис. 1.80).
Рис. 1.76. В числовом поле Handle Size определяются размеры метки манипулятора
Рис. 1.74. Переопределяя числовое значение в поле Global Scale, можно поменять размеры манипуляторов. В данном случае они были уменьшены Рис. 1.79. В окне Colors можно изменить цвета элементов интерфейса
Рис. 1.77. Значки метки манипулятора уменьшаются при перемещении ползунка влево и увеличиваются при перемещении вправо
Рис. 1.80. Чтобы открыть палитру Color Chooser, в окне Colors щелкните по образцу цвета рядом с надписью Background
«Горячие» клавиши 51
50 Основы Maya 3. Чтобы открыть окно Color Chooser (Выбор цвета), щелкните по образцу цвета рядом с надписью Background (Фон). 4. В разделе Wheel (Цветовой круг) выберите тот цвет, которым вы хотите закрасить фон окон видов в Maya (рис. 1.81). 5. Нажмите кнопку Accept, чтобы применить настройки. Теперь в качестве фона будет использоваться выбранный вами цвет.
Создание «горячей» клавиши
Таким же образом вы можете изменить любую часть цветовой схемы интерфейса. Нажатием комбинации клавиш Ctrl + b можно чередовать цвет фона в поле зрения камеры, изменяя оттенки серого.
Рис. 1.81. Чтобы выбрать цвет фона, щелкните в поле Wheel
«Горячие» клавиши У любой функции в Maya есть сокращенный клавиатурный набор или «горячая» клавиша (hotkey). Горячие клавиши позволяют значительно сэкономить время, поскольку используются вместо выбора инструмента или команды в меню. По умолчанию в Maya установлено множество «горячих» клавиш, которые не рекомендуется переопределять до тех пор, пока вы не познакомитесь с интерфейсом достаточно подробно. Позднее вы, возможно, захотите создать «горячие» клавиши для определенных команд, которые используются регулярно. Давайте рассмотрим, как создать новую «горячую» клавишу или открыть список уже существующих.
Рис. 1.83. Выберите в окне Hotkey Editor в списке категорий и команд название меню, в котором находится команда, и саму команду
Рис. 1.84 В разделе Assign New Hotkey выберите клавишу и модификатор – клавишу Ctrl или Alt
1. В меню Window (Окно) выберите пункт Settings/Preferences Hotkeys (Установки/свойства Горячие клавиши) – см. рис. 1.82. Откроется окно Hotkey Editor (Редактор «горячих» клавиш). 2. В окне Categories щелкните по названию категории команды, для которой требуется клавиатурное сокращение (рис. 1.83). Название категории совпадает с названием меню, в котором находится команда. 3. В меню Commands выберите название команды, для которой требуется создать «горячую» клавишу. Если у этой команды уже была соответствующая клавиатурная комбинация, вы увидите ее в правом верхнем углу окна в поле Current Hotkeys. 4. В разделе Assign New Hotkey (Присвоить новую «горячую» клавишу) выберите клавишу и модификатор команды (клавишу Ctrl или Alt) – рис. 1.84. Можно удалить текущие клавиатурные сокращения, которые определены для этой команды в настоящий момент. 5. Нажмите кнопку Assign. 6. Закройте окно Hotkey Editor. Maya создает папку в вашей пользовательской директории для использования настроек на нескольких компьютерах.
Рис. 1.82. Практически любой команде или инструменту можно назначить сокращенный клавиатурный набор
Справочная система Maya 53
52 Основы Maya
Функция Contents and Search (Содержание и поиск) позволяет с помощью клавиатуры набирать тему, по которой хотите получить больше информации, и отображает список ссылок, отсортированный по степени соответствия теме поиска (рис. 1.88).
Справочная система Maya Справочная система Maya хранится в файлах помощи. В этих файлах можно производить поиск по темам или пролистывать страницу за страницей. Файлы помощи – полезный ресурс при поиске информации по определенной теме. Maya предлагает встроенный Web-браузер, в котором гораздо удобнее просматривать файлы помощи вместо того, чтобы переключаться из одной программы в другую. Поскольку он встроен в Maya, браузер позволяет Web-страницам исполнять команды встроенного языка MEL, контролирующие происходящее в программе (рис. 1.85). Вы можете загрузить Web-браузер в свое окно проекций, выбрав в меню Panels Panel Web Browser (рис. 1.86). В меню Help (Помощь) в правом верхнем углу интерфейса Maya находятся ссылки на обучающие материалы, поисковые функции, указатель тем и определений и меню Find (поиск) на тот случай, если вы забудете, где расположен пункт меню (рис. 1.87). В Tutorials (Уроки) и Learning Movies (Обучающие фильмы) включены уроки и ссылки для обеспечения поиска, многие из которых предлагают пошаговые инструкции для выполнения типовых задач с помощью Maya.
Рис. 1.87. Меню помощи позволяет искать и пролистывать информацию по интересующим вас темам Рис. 1.85. Новый встроенный Web-браузер предоставляет удобный доступ к справочной документации и обучающим материалам
Рис. 1.86. Можно привязать Web-браузер к панели в окне просмотра через меню панелей
Рис. 1.88. В окне Contents and Search в меню Help показаны многочисленные ссылки на дополнительную информацию по выбранной теме
54 Основы Maya Функция Find a Menu Item (Найти элемент меню) работает следующим образом: вы вводите название команды или инструмента и получаете путь к меню, которое содержит этот элемент (рис. 1.89). Данная функция может оказать неоценимую помощь в том случае, если вы знаете, как называется команда, но не помните, в каком меню она находится. Алфавитный указатель Maya напоминает указатель, который обычно содержится в конце книги. При выборе из списка нужной темы на экране отображается определение и другая информация по этому вопросу (рис. 1.90).
Рис. 1.89. Функция Find a Menu Item позволяет быстро отыскать любое меню, в котором находится интересующая вас команда
Рис. 1.90. В указателе вы найдете определение функций и консультации по всем разделам файла помощи
Навигация по интерфейсу и настройка
Рис. 2.1. Интерфейс Maya можно легко перенастроить
2 Интерфейс Maya можно целиком перенастроить (рис. 2.1). Это значит, что допускается изменять его, подстраивать под текущий проект и технологический процесс. Например, пока вы работаете с одной частью экрана – панелью или окном, все остальные элементы интерфейса могут быть скрыты. Однако даже к скрытым меню можно получить доступ при помощи меню Hotbox (рис. 2.2). Меню Show позволяет скрывать и отображать объекты определенного типа. Просматривая объекты в рабочем окне, вы можете перемещать камеру вверх-вниз и вперед-назад, смещать ее параллельно фокальной плоскости и поворачивать вокруг объектов (откат, параллельное смещение и поворот камеры – термины киноиндустрии, обозначающие конкретные перемещения камеры). Maya предоставляет множество способов выполнения одной и той же задачи, что позволяет оптимизировать рабочий процесс. Например, один из способов заключается в применении «горячих» клавиш, или клавиш оперативного вызова, которые можно определить практически для каждой команды. Прочитав эту главу, вы узнаете, как настроить интерфейс Maya и перемещаться по сцене.
Откат, смещение и поворот камеры 57
56 Навигация по интерфейсу и настройка
Масштабирование вида
Откат, смещение и поворот камеры Откат (dollying), параллельное смещение (tracking) и поворот камеры вокруг объектов (tumbling) позволяют смотреть на сцену с разных сторон и управлять расстоянием от зрителя до объектов. Вы всегда видите сцену сквозь камеру, а откат, смещение и поворот – способы ее передвижения, а значит, и возможность представить сцену по-другому. Эти функции являются одними из самых важных в Maya, поскольку при моделировании и создании сцены объект необходимо видеть со всех сторон и с разных расстояний. Кроме того, при выравнивании и размещении объектов очень большое значение имеет положение точки, из которой вы смотрите на сцену. При параллельном смещении вида камера передвигается вверх, вниз или в стороны, не приближаясь к сцене и не удаляясь от нее. Это похоже на действие полосы прокрутки: вид как бы прокручивается, чтобы камера могла захватить объект, который в текущий момент не виден на экране.
Смещение вида
1. Установите указатель мыши в любом окне проекции. 2. Удерживая нажатой клавиш Alt/ , левую и среднюю кнопки мыши, переместите указатель влево, чтобы уменьшить вид, а чтобы увеличить – вправо (рис. 2.4).
Рис. 2.2. Hotbox – это набор меню, который появляется под указателем мыши при нажатии клавиши Пробел
Рис. 2.4. Откат камеры используется для изменения масштаба как всей сцены, так и ее отдельных областей; откат вправо (внизу) увеличивает масштаб Рис. 2.3. При смещении камеры сцена прокручивается вверх, вниз, вправо или влево
1. Установите указатель мыши в любом окне проекции. 2. Удерживая нажатыми клавишу Alt или в Macintosh) и среднюю кнопку мыши, переместите указатель мыши (рис. 2.3). Направление движения камеры совпадает с направлением движения указателя. Откат камеры зрительно увеличивает или уменьшает вид, объекты становятся ближе (увеличивается масштаб) или наоборот отдаляются (масштаб уменьшается).
Если требуется показать крупным планом определенный участок сцены, то, удерживая нажатыми клавиши Ctrl/Control и Alt/ , охватите его (с помощью только левой кнопки мыши) ограничивающим контуром, начав с левого края. Как только вы отпустите кнопку мыши, масштаб указанного фрагмента изображения будет увеличен, и фрагмент заполнит все окно. Если при очерчивании контура вы начнете перемещать указатель справа налево, то масштаб сцены уменьшится, и все исходное изображение поместится в охваченную контуром область (чем меньше ее площадь, тем меньше масштаб).
Поворот вида обычно происходит вокруг центра объекта – это полезно делать, если нужно получить полное представление о трехмерном характере объектов или сцены. Например, вы можете повернуть камеру вокруг объекта, чтобы увидеть его спереди, сзади и сбоку под любым углом.
Поворот вида 1. Поместите указатель мыши в окно проекции Perspective. 2. Удерживая нажатыми клавиу Alt/ и левую кнопку мыши, перемещайте указатель. Сцена начнет вращаться (рис. 2.5). Рис. 2.5. Здесь показано четырехоконное представление интерфейса Maya. Функция вращения камеры работает только в окне перспективы
Настройка разметки интерфейса 59
58 Навигация по интерфейсу и настройка
Разработчики Maya оснастили программу современными, очень удобными в работе и настраиваемыми по желанию пользователя средствами. Они предусмотрели множество способов изменения интерфейса Maya и разметки рабочей области. Разметка – это компоновка окон проекций и панелей, которые размещаются в данных окнах (рис. 2.10).
Чтобы повернуть вид вокруг вертикальной или горизонтальной оси, во время вращения камеры удерживайте нажатой клавишу Shift.
Настройка разметки интерфейса В интерфейсе Maya есть два элемента, которые легко спутать друг с другом, поскольку их названия очень похожи: рабочее окно (pane) и панель (panel). Рабочее окно – это по сути то же самое, что и окна проекций. Если вы внимательно рассмотрите главное окно приложения, разделенное окнами проекций, в каждом окне вы увидите что-то отличное от содержимого других окон. То же самое верно и в данном случае. В рабочем окне могут содержаться виды спереди, сверху, сбоку и в перспективе или любая панель. Панель – это разновидность окна Maya, которая предназначена для выполнения различных функций. Например, инструменты Hypergraph и Outliner представляют собой панели, в которых отображаются все узлы сцены, а Graph Editor – панель, используемая для редактирования анимационных кривых. Многие из этих панелей можно открыть в отдельных окнах (рис. 2.6) или в рабочем окне (рис. 2.7). Если панель открыта в рабочем окне, ее можно свернуть (рис. 2.8) или развернуть (рис. 2.9), нажимая клавишу Пробел. Таким же образом осуществляется управление рабочей областью: вы можете какое-то время работать в одном окне проекции, а затем быстрым нажатием клавиши Пробел вернуться в четырехоконное представление.
Рис. 2.6. Панель Outliner открыта в отдельном окне Рис. 2.9. Если вы развернете рабочее окно, оно расположится поверх других окон, расширяя таким образом рабочее пространство
Рис. 2.7. Панель Outliner занимает все рабочее окно; ее можно свернуть или развернуть
Рис. 2.8. Свернув рабочее окно, вы получите доступ к другим окнам проекций
Рис. 2.10. Пользователь может создать свой вариант разметки рабочей области. В верхней части рисунка представлена разметка рабочей области, разбитой на четыре окна, в нижней части – на два окна проекции
Настройка разметки интерфейса 61
60 Навигация по интерфейсу и настройка При первом запуске Maya вы увидите, что по умолчанию рабочая область разделена на четыре окна, которые соответствуют следующим видам: Top (Сверху), Persp (В перспективе), Front (Спереди) и Side (Сбоку). Виды спереди, сбоку и сверху называются ортогональными, поскольку представляют собой ортогональную проекцию поверхностей на плоскость (рис. 2.11). Это позволяет просматривать сцены под любым углом зрения. Такой способ просмотра особенно важен, если нужно разместить и выровнять объекты в сцене. Комбинация из трех ортогональных видов позволяет оценить точное положение объекта по отношению к остальному содержимому сцены. Начинающие 3D-художники часто забывают проверить компоновку сцены во всех видах, а это может вызвать трудности при размещении других объектов. На виде спереди объект может быть размещен идеально, однако виды сбоку и сверху позволяют обнаружить ошибку. Вид в перспективе дает полное трехмерное изображение сцены (рис. 2.12). Изучив все четыре вида, вы сможете смотреть на сцену практически под любым углом. В этой главе рассказывается, как изменить разметку всей рабочей области, создать и записать собственную компоновку или модифицировать только одну панель.
Замена рабочего окна ортогональным видом
Рис. 2.12. Осуществлять поворот сцены позволяет только вид в перспективе, который демонстрирует эффект трехмерности
Рис. 2.13. Выполнив команды меню Panels Perspective Persp, можно поменять любое окно проекции на вид в перспективе Рис. 2.15. На панели Graph Editor находятся анимационные кривые. Ее можно встроить в рабочее окно или открыть в отдельном окне
Замена рабочего окна видом Perspective В меню Panels рабочего окна, которое вы хотите заменить, выберите пункт Perspective Persp (рис. 2.13).
В меню Panels рабочего окна, которое требуется заменить, выберите пункты Orthographic front, side или top (рис. 2.14). Рабочее окно не всегда содержит изображения сцены, такие как вид спереди или в перспективе. В нем могут находиться панели, предоставляющие доступ к различным инструментам и окнам Maya. Часто такие панели являются окнами, управляющими анимацией, например, Graph editor (Редактор кривых) – рис. 2.15, или содержат список узлов сцены, например, Hypergraph (Гиперграф) – рис. 2.16. В следующих главах вы узнаете, какое место отведено каждой из этих панелей в рабочем процессе.
Рис. 2.11. Ортогональные виды используются при создании чертежей. Они проецируются в камеру без искажений, поэтому в них проще редактировать и размещать объекты Рис. 2.14. Выбрав пункт Orthographic, можно заменить окно проекции любым из ортогональных видов, например, видом спереди или сверху
Рис. 2.16. Панель Hypergraph представляет иерархическую схему объектов конкретной сцены. Ее можно встроить рабочее окно или открыть в отдельном окне
Настройка разметки интерфейса 63
62 Навигация по интерфейсу и настройка
Сохранение компоновки
Замена рабочего окна вспомогательной панелью
1. Установите разметку рабочей области, которую вы хотите сохранить и использовать в дальнейшем. 2. В меню Window выберите пункт Save Current Layout (Сохранить текущую компоновку). 3. Введите имя компоновки и нажмите кнопку ОК.
Из меню Panels рабочего окна выберите пункт Panel и выделите название нужной панели, например, Outliner, которой вы хотите заменить рабочее окно (рис. 2.17).
Варианты компоновки окон Maya предлагает два типа встроенных компоновок: базовые компоновки (Layouts) и заготовленные, или записанные (Saved Layouts). Базовые компоновки содержат основные виды сцены (как в четырехоконном представлении), заготовки представляют собой комбинации различных окон, в том числе и основных видов. Чтобы получить доступ к базовым компоновкам, выберите из меню Panels любого рабочего окна пункт Layouts (Компоновки) и щелкните по названию варианта разметки, например, Two Panes Side by Side (Два рабочих окна рядом) – рис. 2.18. При выборе такой компоновки на экране отображаются только два окна, которые располагаются рядом (см. рис. 2.10); или Выберите значок варианта компоновки на панели инструментов, которая расположена в левой части главного окна Maya (рис. 2.19).
Выбор сохраненной компоновки Рис. 2.19. На панели инструментов расположены ярлыки быстрого доступа к наиболее используемым схемам интерфейса
В меню Panels любого рабочего окна выберите пункт Saved Layouts (Сохраненные схемы) и щелкните по названию сохраненной компоновки.
Редактирование компоновки Рис. 2.17. В рабочем окне можно открыть любую из перечисленных в меню панелей
Рис. 2.18. Базовые компоновки позволяют быстро определить разметку рабочей области, количество окон проекций и набор находящихся в них панелей
1. В меню Panels любого рабочего окна выберите пункты Saved Layouts Edit Layouts. На вкладке Layouts выберите название компоновки, которую будете редактировать (рис. 2.20).
Рис. 2.20. На вкладке Layouts можно отредактировать существующий вариант компоновки или создать собственный
Настройка разметки интерфейса 65
64 Навигация по интерфейсу и настройка 2. На вкладке Edit Layouts в выпадающем меню Configuration выберите другую конфигурацию рабочей области (рис. 2.21). 3. Чтобы изменить размер частей окна, перетащите разделительные границы нумерованных блоков (рис. 2.22). 4. Чтобы закрыть окно, нажмите кнопку Close.
Скрытие или отображение элемента интерфейса В меню Display щелкните по пункту UI Elements и выберите элементы интерфейса, которые вы хотите скрыть или отобразить (рис. 2.23). Каждый элемент имеет два состояния видимости: он может быть скрыт или отображен. Если напротив названия элемента стоит галочка, значит, он отображается на экране. Вы можете скрыть элемент, щелкнув по его названию, или отобразить, если он скрыт.
Теперь можно получить доступ к новому варианту компоновки в меню Panels Saved Layouts.
Скрытие всех элементов интерфейса Рис. 2.21. Изменить число и расположение окон в рабочей области можно в поле Configuration вкладки Configuration
Рис. 2.22. Размер рабочих окон рекомендуется изменять в соответствии с целью их использования. Например, окно Perspective можно сделать больше, увеличив область экрана
Рис. 2.23. Каждый элемент интерфейса или соответствующий раздел можно отобразить или скрыть, чтобы сэкономить пространство на экране
Рис. 2.24. Быстрый способ увеличить рабочее пространство – использовать команду Hide UI Elements
Выберите пункты меню Display UI Elements Hide UI Elements. Будут скрыты все элементы, кроме главного меню, меню рабочих окон и рабочей области с текущей компоновкой (рис. 2.24).
Настройка разметки интерфейса 67
66 Навигация по интерфейсу и настройка Отображение всех элементов интерфейса
Меню Show
Выберите пункты меню Display UI Elements Restore UI Elements (рис. 2.25). Все элементы пользовательского интерфейса отобразятся на экране.
Если вы хотите отделить объекты конкретного типа (и скрыть другие объекты), например, кривые или источники света, воспользуйтесь для этой цели меню Show (Отображение). Это удобный способ редактировать только нужные типы объектов, скрыв все объекты других типов. Например, создавая анимацию, вы, возможно, захотите отобразить в одном окне проекции только визуализируемые поверхности персонажа, а в другом – только его каркас (рис. 2.27). Меню Show позволяет отображать и скрывать все объекты сцены или только объекты конкретного типа. Рекомендуется сначала скрыть все объекты, а затем отобразить объекты нужного типа (рис. 2.28). Следует запомнить, что с помощью меню Show вы скрываете или отображаете группы объектов только зрительно, не удаляя их из сцены. Все скрытые таким образом объекты будут отображены при конечной визуализации.
Скрытие и отображение главного меню и строки меню Удерживая нажатой клавишу Пробел, выполните команды меню Hotbox Controls Window Options Show Main Menubar (Управление Hotbox Настройка окна Показать главное меню) или Show Pane Menubars (Показать меню рабочих окон) – рис. 2.26. Опции Show Main Menubar и Show Pane Menubars можно либо отметить, либо снять с них выделение. Если они не отмечены, выделите их щелчком мыши (эти элементы появятся на экране), а если они отмечены, щелкните по ним мышью, чтобы снять выделение (главное меню и строка меню будут скрыты).
Рис. 2.25. Команда Restore UI Elements позволяет быстро отобразить все элементы интерфейса
Рис. 2.27. Можно открыть две копии одного и того же рабочего окна – в данном случае это вид в перспективе – и отобразить в них различные типы объектов. Так будет проще выбирать объекты и представлять строение модели
Рис. 2.26. Главное меню и меню рабочего окна следует скрывать и отображать отдельно от остальных элементов интерфейса
Рис. 2.28. Меню Show позволяет отобразить в одном рабочем окне только нужные типы объектов
Настройка разметки интерфейса 69
68 Навигация по интерфейсу и настройка Скрытие объектов
Увеличение объекта в окне вида
В меню Show любого рабочего окна выделите тип объекта, который требуется скрыть (рис. 2.29). Объекты выбранного типа будут скрыты (рис. 2.30).
1. Выделите элемент, который требуется увеличить, щелкнув по нему. 2. Нажмите клавишу f. Объект приблизится к камере (рис. 2.33).
Отображение скрытых объектов В меню Show любого рабочего окна выделите тип объекта, который вы хотите отобразить в этом окне проекции (рис. 2.29). На панели вида отобразятся все объекты выбранного типа. Чтобы лучше рассмотреть содержимое какого-либо рабочего окна, окно можно увеличить.
Нажав клавиши Shift и f одновременно, можно приблизить выделенный объект во всех видах. Рис. 2.30. Если объект скрыт, его невозможно выбрать или увидеть в рабочем окне. В правом окне проекции скрыты все источники света
Отображение всех объектов в окне вида Рис. 2.33. Чтобы рассмотреть поближе выбранный объект, нажмите клавишу f
Увеличение рабочего окна до размеров экрана 1. Установите указатель мыши над тем рабочим окном, которое требуется развернуть (рис. 2.31). 2. Один раз нажмите клавишу Пробел. Рабочее окно займет весь экран, расположившись поверх всех остальных окон – рис. 2.32.
Переключаться с предыдущего вида на следующий и наоборот можно с помощью клавиш с квадратными скобками ([ и ]).
Нажав клавиши Shift и a одновременно, можно отобразить все объекты во всех окнах проекций.
В Maya есть четыре набора главных меню: Animation (Анимация), Modeling (Моделирование), Dynamics (Динамика) и Rendering (Визуализация). В каждом из наборов содержатся дополнительные меню, соответствующие режиму работы, а также общие меню File (Файл), Edit (Правка), Modify (Изменить), Create (Создать), Display (Отобразить) и Window (Окно), которые всегда можно вызвать через главное меню, независимо от того, какой набор вы в данный момент используете.
Рис. 2.31. Граница выделенного рабочего окна приобретает синий цвет
Чтобы восстановить размеры выбранного рабочего окна и вернуться в четырехоконное представление, нажмите клавишу Пробел еще раз.
Рис. 2.29. Меню Show скрывает и отображает все объекты выбранного типа. Если вы выберете пункт Lights, в окне проекции будут скрыты все источники света
Нажмите клавишу a. В камере будут показаны все объекты сцены (рис. 2.34).
Рис. 2.32. Быстрое нажатие на клавишу Пробел разворачивает рабочее окно, а удерживание этой клавиши открывает меню Hotbox. Научитесь правильно ее использовать!
Рис. 2.34. При нажатой клавише a вид из камеры изменяется от изображения на верхнем рисунке к изображению на нижнем. Теперь все объекты сцены отображены в окне проекции
Настройка разметки интерфейса 71
70 Навигация по интерфейсу и настройка Смена набора меню Чтобы открыть нужный набор меню, воспользуйтесь выпадающим списком, который находится в левой части строки состояния (рис. 2.35); или Чтобы открыть набор в контекстном меню, на любой панели вида нажмите и удерживайте клавишу h и левую кнопку мыши – рис. 2.36 (у большинства объектов есть контекстное меню, которое соответствует типу объекта); или Нажмите клавишу F2, чтобы вызвать набор меню Animation, F3 – Modeling, F4 – Dynamic и F5 – Rendering.
Отображение и скрытие отдельных наборов меню в Hotbox
Рис. 2.35. Каждый набор состоит из меню команд, соответствующих разным стадиям работы над проектом. Если вы занимаетесь моделированием, воспользуйтесь меню Modeling
Рис. 2.38. Изменить состав меню, отображаемых в Hotbox, можно с помощью контекстного меню Hotbox Controls
Отображение и скрытие меню Hotbox 1. Нажмите клавишу Пробел, чтобы отобразить на экране меню Hotbox (рис. 2.37). 2. Отпустите клавишу, чтобы скрыть меню Hotbox.
Рис. 2.36. Если вы скрыли строку состояния, воспользуйтесь контекстным меню, чтобы сменить набор меню
Отображение всех наборов меню в Hotbox
Рис. 2.39. Вы можете скрыть и отобразить отдельные меню. Это позволяет управлять размерами и составом меню Hotbox
Рис. 2.37. Управление меню Hotbox осуществляется с помощью клавиши Пробел
1. Нажав клавишу Пробел, откройте меню Hotbox. 2. Щелкните по пункту Hotbox Controls и удерживайте нажатой левую кнопку мыши, чтобы вызвать меню Hotbox Controls Marking (Контекстное меню Hotbox) – рис. 2.38. 3. Наведите указатель мыши на опцию отображения нужного набора меню, в данном примере Show Animation (Отобразить меню Animation). Откроется дополнительное контекстное меню. 4. Выберите опцию Show/Hide + имя набора меню (в данном случае Animation) – рис. 2.39. Если набор меню был скрыт, он отобразится, и наоборот.
Рис. 2.40. Меню Hotbox позволяет отобразить все меню сразу или активировать только одно или два из них
1. Нажав клавишу Пробел, откройте меню Hotbox. 2. Щелкните по пункту Hotbox Controls и удерживайте нажатой левую кнопку мыши, чтобы вызвать меню Hotbox Controls Marking. 3. Выберите опцию Show All, чтобы отобразить все наборы меню в Hotbox (рис. 2.40).
Настройка разметки интерфейса 73
72 Навигация по интерфейсу и настройка Скрытие всех наборов меню в Hotbox
Отображение и скрытие сетки
1. Нажав клавишу Пробел, отобразите в любой части окна меню Hotbox. 2. Чтобы вызвать меню Hotbox Controls Marking, щелкните по пункту Hotbox Controls и удерживайте нажатой левую кнопку мыши. 3. Выберите опцию Hide All, чтобы скрыть все наборы меню в Hotbox (рис. 2.41).
Чтобы отобразить или скрыть сетку, в меню Display выберите пункт Grid.
Если вы скроете все меню, то выбирать можно будет только из двух меню: Recent Commands (Последние команды) и Hotbox Controls. Помимо этих элементов будут доступны и все контекстные меню. У большинства объектов есть меню Marking (Контекстное меню), которое соответствует типу объекта. В нем содержатся команды, которые для выделенного объекта используются наиболее часто. Поэтому контекстное меню позволяет сэкономить массу времени.
В свойствах Grid можно изменить размер, цвет и плотность сетки.
Окно Channel Box предоставляет простой способ изменения ключевых атрибутов выделенного объекта. Оно находится в правой части главного окна при разметке рабочей области по умолчанию (рис. 2.43). Если окно Channel Box было скрыто, его можно восстановить, выполнив действия, описанные ниже.
Рис. 2.41. В меню Hotbox можно скрыть все меню
Рис. 2.43. Окно Channel Box позволяет быстро вызывать ключевые атрибуты объекта. Его можно скрыть, чтобы освободить место на экране
Отображение контекстного меню объекта 1. Наведите указатель мыши на объект. 2. Нажмите и удерживайте правую кнопку мыши, чтобы вызвать контекстное меню объекта (рис. 2.42). Если вы знаете местоположение конкретной команды в контекстном меню, вы можете быстро перетащить указатель в направлении команды, которую хотите выбрать, не дожидаясь появления элементов меню.
Рис. 2.42. Чтобы вызвать контекстное меню объекта, щелкните по нему правой кнопкой мыши
Рис. 2.44. Чтобы рационально использовать рабочее пространство, окна Channel Box и Layer Editor можно отобразить на экране одновременно
Отображение и скрытие окна Channel Box Щелкните по кнопке Show or Hide the Channel Box/Layer Editor , которая находится в правой части строки состояния. (Строка состояния расположена под строкой главного меню.); или Выберите пункты Display UI Elements Channel Box/Layer Editor (рис. 2.44). В правой части экрана появится окно Channel Box. По умолчанию в окне Channel Box содержатся ключевые атрибуты выделенного объекта. Выполнив действия, описанные ниже, вы можете добавить атрибуты в список окна Channel Box.
Настройка разметки интерфейса 75
74 Навигация по интерфейсу и настройка
В Attribute Editor содержатся дополнительные атрибуты, которых нет в Channel Box. Последнее окно обеспечивает быстрый доступ к тем атрибутам объекта, которые могут стать ключевыми в анимации. Список всех остальных атрибутов объекта находится в окне Attribute Editor. Оно остается пустым до тех пор, пока объект не выделен.
Добавление предопределенных наборов атрибутов в Channel Box 1. Создайте или выделите объект, в который нужно добавить атрибут. 2. В меню Window выберите команды General Editors Channel Control (рис. 2.45). Откроется окно Channel Control. 3. На вкладке Keyable выделите имя атрибута в области Non Keyable окна Channel Control рис. 2.46). 4. Нажмите кнопку Move . 5. Атрибут добавлен в список атрибутов Keyable (рис. 2.47). 6. Чтобы закрыть окно Channel Control, нажмите кнопку Close. Теперь новый атрибут отображается в Channel Box (рис. 2.48).
Отображение и скрытие Attribute Editor
Рис. 2.46. В области Non Keyable окна Channel Control содержатся атрибуты, которые можно добавить в Channel Box
Рис. 2.49. Окно Attribute Editor можно открыть при помощи команд меню Display UI Elements
Нажмите на кнопу Show or Hide the Attribute Editor , которая находится справа от строки состояния. Выберите объект и просмотрите его атрибуты; или В меню Display выберите пункт UI Elements Attribute Editor (рис. 2.49). В правой части экрана появится окно Attribute Editor; или Нажмите комбинацию клавиш Ctrl/Control+a. Откроется окно Attribute Editor (рис. 2.50); или В меню Window выберите пункт Attribute Editor (рис. 2.51). В правой части экрана появится окно Attribute Editor.
Рис. 2.47. Чтобы добавить атрибуты в Channel Box, то есть сделать их ключевыми, переместите элементы списка Non Keyable в список Keyable
Рис. 2.45. Окно Channel Control позволяет добавлять ключевые атрибуты или удалять их из списка Channel Box
Рис. 2.48. В окне Channel Box отображаются все атрибуты, которые можно использовать при анимации
Рис. 2.50. Если редактор Attribute Editor открыт в новом окне, его можно перемещать и увеличивать
Рис. 2.51. Окно Attribute Editor можно открыть в новом окне
Сглаживание и опции отображения 77
76 Навигация по интерфейсу и настройка
Сглаживание и опции отображения
«Горячие» клавиши для тонирования и сглаживания
Настройки отображения Maya позволяют изменить способ просмотра объектов в рабочем окне. Сцену можно просматривать в каркасном режиме, режиме тонирования с плавными цветовыми переходами, плоскостного тонирования, обрамления габаритным контейнером или в точечном режиме. Настройки отображения можно переопределять в соответствии с текущими задачами. Режим обрамления и точечный режим используются в сложных сценах, поскольку позволяют сократить время просчета вида при повороте камеры. Каркасный режим применяется при выделении компонентов (все компоненты объекта видны одновременно), а в режиме тонирования с плавными цветовыми переходами и плоскостного тонирования можно рассмотреть поверхность более подробно, что значительно упрощает процесс ее моделирования. Каждый режим полезен в конкретной ситуации, поэтому переключение между ними помогает оптимизировать рабочий процесс. В настройки отображения также входят опции аппаратного текстурирования и освещения, с помощью которых достигается быстрая обратная связь (то есть видимый результат) при добавлении в сцену текстуры или подсветки. У большинства опций есть соответствующие сокращенные клавиатурные наборы. Объекты можно отображать на одном из трех уровней сглаживания: низком, среднем и высоком. По умолчанию объекты отображаются при низком уровне сглаживания, но сглаживание можно переопределить с помощью «горячих» клавиш, описанных ниже. Низкий уровень сглаживания облегчает процесс выделения
Рис. 2.52. Меню Shading управляет режимом отображения в каждом конкретном рабочем окне
компонентов, так как уменьшает количество отображаемых линий поверхности. Высокий уровень сглаживания используется при финальной подгонке поверхности, когда нужно сфокусироваться на мелких деталях.
Рис. 2.53. При низком сглаживании (слева) объект отображается с низким разрешением сетки триангуляции. При среднем сглаживании (в середине) объект воспроизводится с дополнительным, но не достаточным разрешением. При высоком уровне сглаживания (справа) достигается наилучшее представление формы поверхности
Рис. 2.54. Режим каркаса позволяет просматривать геометрию объектов на переднем и заднем плане
клавиша 1 = Низкий уровень сглаживания (рис. 2.53); клавиша 2 = Средний уровень сглаживания (рис. 2.53); клавиша 3 = Высокий уровень сглаживания (рис. 2.53); клавиша 4 = Режим каркаса (рис. 2.54); клавиша 5 = Режим тонирования (рис. 2.55); клавиша 6 = Аппаратное текстурирование (рис. 2.56); клавиша 7 = Аппаратная подсветка (рис. 2.57).
Рис. 2.56. При аппаратном текстурировании в рабочем окне отображаются текстуры поверхностей
Изменение опций отображения в меню Shading В меню Shading (Тонирование) любого окна проекции выберите одну из следующих опций тонирования: Wireframe (Каркас), Smooth Shade (Тонирование с плавными переходами), Flat Shade (Плоскостное тонирование), Bounding Box (Обрамление) или Points (Точки) – рис. 2.52.
Рис. 2.55. По умолчанию в режиме тонирования поверхность отображается серым цветом, что позволяет показать ее конечную оболочку
Рис. 2.57. Режим аппаратной подсветки суммирует все эффекты освещения сцены. Это грубый вариант конечной визуализации, который позволяет оценить результат сразу же после изменения положения источников света
Сглаживание и опции отображения 79
78 Навигация по интерфейсу и настройка
Меню View
Доступ к отмеченной точке наблюдения
Меню View (Просмотр) содержит команды управления целью камеры в окне проекции (рис. 2.58). Если создаваемая вами сцена оказалась сложной, вы можете отметить текущую точку наблюдения в рабочем окне, чтобы вернуться к этому представлению позже. Закладки чаще всего применяются в окне проекции Persp и позволяют возвращаться к ранее определенной пользователем точке наблюдения.
В меню View любого окна проекции выберите пункт Bookmarks (имя закладки) – рис. 2.61. В окне проекции отобразится отмеченное ранее представление сцены. Меню View также используется для выбора камеры, через которую ведется наблюдение в настоящий момент, а также приближения выделенных объектов. Рис. 2.61. Чтобы вернуться к сохраненному виду dannys_camera, выполните команды меню View Bookmarks dannys_camera
Запоминание текущей точки наблюдения 1. В меню View рабочего окна выберите пункты Bookmarks (Закладки) Edit Bookmarks (Редактировать закладки). Откроется окно Bookmark Editor (Редактор закладок) – рис. 2.59. 2. Нажмите на кнопку New Bookmark (Создать закладку). 3. В поле Name введите имя закладки (см. рис. 2.60). 4. Нажмите кнопку Apply (Применить), а затем Close (Закрыть), чтобы завершить работу.
Рис. 2.59. Окно Bookmark Editor используется для создания закладок, фиксирующих представления, которые понадобятся вам позже
Рис. 2.62. Команда Select Camera находится в меню View любого окна проекции
Выбор камеры текущего просмотра В меню View любого окна проекции выберите пункт Select Camera (Выбрать камеру) – рис. 2.62. Камера, через которую вы просматриваете объекты, будет выделена, а в правой части экрана откроется окно Attribute Editor, содержащее список свойств этой камеры (рис. 2.63). Чтобы удалить неиспользованные слои, выберите пункты меню Layer Select Unused Layers (Слои Выделить неиспользованные слои) и затем выберите Layer Delete Selected Layer(s) (Слои Удалить выделенные слои).
Отображение/скрытие слоя В Layer Editor щелкните в самом левом от имени слоя квадратике. Если слой в текущий момент отображается, он станет невидимым; если слой невидим, он вновь появится на экране. Рис. 2.60. Закладке присвоено имя dannys_camera
Рис. 2.58. Меню View используется для изменения, сохранения и восстановления точек наблюдения камеры
Рис. 2.63. В окне Attribute Editor содержатся все параметры выделенной камеры
80 Навигация по интерфейсу и настройка Добавление примечания к объекту 1. Выделите объект, к которому вы хотите добавить примечание. 2. В меню Create выберите пункт Annotation (Примечание). Появится диалоговое окно Annotate Node (Узел примечания). 3. В поле Enter Annotation (Введите примечание) введите текст примечания, затем нажмите кнопку ОК. Появится примечание с линией, указывающей на объект.
Создание примитивов и текстовых объектов
3
Примитивы – это заранее созданные геометрические наборы, которые упрощают составление более сложных форм. Их можно назвать строительными блоками 3D-моделирования. Чтобы убедиться в этом, просто взгляните на окружающие вас объекты. Все предметы, какими бы сложными они ни казались, можно разбить на несколько примитивных форм. Присмотритесь к объектам, которые находятся в данный момент перед вами. Например, стул, выполненный из металлических труб, построен на основе множества цилиндров, а стена и дверь имеют форму расплющенного куба. Большинство объектов состоят из различных примитивов. Например, велосипед. Его колеса состоят из цилиндров (это любая спица) и тонкого тора, определяющего форму шины. Таким же образом с помощью примитивов из простой сферы создается лицо или из нескольких кубов получается здание.
Кратко о NURBS 83
82 Cоздание примитивов и текстовых объектов На основе примитивов можно создать бесчисленное множество объектов, поэтому они и стали важной частью Maya и других 3D-программ. Примитивы NURBS ускоряют рабочий процесс, потому что составляющие их кривые уже нарисованы и заменены геометрией поверхности. Можно изменять масштаб, растягивать, разрезать, перемещать, вырезать и перестраивать примитивы. Эти несложные фигуры становятся неотъемлемой частью вашего рабочего процесса и позволяют существенно сэкономить время. Примитивы Maya делятся на три группы: NURBS, полигоны (Polygons) и поверхности разделения (subdivision surfaces). Чтобы помочь вам разобраться, какие примитивы использовать для решения конкретной задачи, , в этой главе подробно рассматриваются примитивы NURBS (рис. 3.1), полигоны (рис. 3.2) и поверхности разделения (рис. 3.3), причем для каждого из типов указываются его сильные и слабые стороны.
Взвешенные контрольные точки
Рис. 3.2. Полигональные примитивы (сверху вниз): сфера, куб, цилиндр, конус, плоскость и тор
Рис. 3.4. Поверхности NURBS изменяются с помощью взвешенных контрольных точек
Кратко о NURBS Кривые, поверхности и примитивы NURBS являются важной частью моделирования в Maya. Объекты NURBS используются для создания гладких (например, капот автомобиля) или острых, угловых поверхностей (например, дорожные знаки). Вы можете изменять поверхность объектов NURBS, работая всего лишь с несколькими взвешенными контрольными точками (рис. 3.4). У каждой кривой или поверхности NURBS есть соответствующая ей степень, с помощью которой можно управлять сглаживанием объекта NURBS. При степени поверхности, равной 1 (параметр кривизны принимает значение linear (линейный)), все контрольные точки соединяются прямыми линиями и поверхность становится угловатой (рис. 3.5). При более высокой степени контрольные точки объекта NURBS соединяются сглаженными кривыми, что позволяет создать более ровную поверхность (рис. 3.6). Чем больше степень кривой, тем из большего количества точек она состоит. Более подробно о степенях NURBS рассказывается в главе 7.
Рис. 3.5. Поверхность со степенью 1 или параметром кривизны со значением linear Pис. 3.3. Примитивы поверхностей разделения (сверху вниз): сфера, куб, цилиндр, конус, плоскость и тор
Рис. 3.1. Примитивы NURBS (сверху вниз): сфера, куб, цилиндр, конус, плоскость, тор, окружность и квадрат
Рис. 3.6. Более высокая степень позволяет создавать сглаженные поверхности
Примитивы NURBS 85
84 Cоздание примитивов и текстовых объектов NURBS, или неоднородный рациональный би-сплайн, описывает объекты, формы которых определяются математическими уравнениями. К счастью, большинство математических преобразований программа оставляет за кадром. Би-сплайн ссылается на основную кривую, определяющую все объекты NURBS. При создании объекта NURBS используется множество кривых, чтобы затем получить каркасное изображение поверхности. Завершив работу с кривыми поверхности, программа как бы натягивает поверх них оболочку, чтобы создать конечную поверхность. Процесс создания поверхности на основе множества кривых называется лофтингом (lofting – создание по сечениям) – рис. 3.7. Объекты NURBS можно разбить на отдельные компоненты, которые совместно определяют форму объекта NURBS. Контрольные вершины (CV), редактирующие точки (edit points) и огибающие (hulls) используются для моделирования поверхности и определения формы кривых. Чтобы изменить форму объекта, можно работать сразу со всеми компонентами или с каждой по отдельности. Более подробно о компонентах NURBS рассказывается в главе 7.
Примитивы NURBS
Рис. 3.8. Примитивы NURBS используются в качестве составляющих для более сложных моделей
Рис. 3.7. Верхний объект состоит только из кривых, а нижний имеет еще и оболочку
Рис. 3.9. Атрибуты примитива изменяются в диалоговом окне Options
Рис. 3.10. История создания позволяет изменить атрибуты существующей поверхности
Примитивы NURBS представляют собой набор предопределенных кривых и поверхностей. В Maya существует восемь примитивов NURBS: сфера (sphere), куб (cube), цилиндр (cylinder), конус (cone), плоскость (plane), тор (torus), окружность (circle) и квадрат (square) – рис. 3.8. Предопределенные примитивные поверхности не только позволяют сэкономить время при создании простых объектов, их можно также использовать как составляющие более сложных форм. Окружность и квадрат – это кривые NURBS, к которым поверхность не прикреплена; остальные шесть примитивов NURBS представляют собой предопределенные поверхности, которые можно без какой-либо предварительной обработки помещать в сцену Maya или применять для построения сложных моделей. Каждый примитив имеет ряд атрибутов, с помощью которых можно получить объекты самых разных форм. Чтобы создать объект, атрибуты примитива следует изменить в диалоговом окне Options (Настройки) – рис. 3.9. В большинство примитивов входит история создания, которая прикрепляется к узлам их поверхности. Можно изменить и отрегулировать свойства поверхности после того, как она была создана (рис. 3.10). Атрибуты истории создания каждого примитива отображаются в Channel Box под заголовком makeNurb. В этой главе рассказывается, как создавать примитивы NURBS и изменять некоторые их атрибуты (как до, так и после создания объекта). Более подробно об истории создания рассказывается в главе 1.
Примитивы NURBS 87
86 Cоздание примитивов и текстовых объектов
Создание примитивов NURBS Доступ к примитивам NURBS можно получить, выполнив команды меню Create NURBS Primitives (рис. 3.11). Чтобы создать примитив, нужно щелкнуть по его имени. Далее рассказывается, как создать примитив с помощью Hotbox. Есть еще один, более быстрый способ создания примитивных поверхностей NURBS: следует щелкнуть по соответствующей кнопке в разделе Surfaces (Поверхности) полки (shelf) – рис. 3.12. При создании примитива поверхности или кривой центр объекта помещается в начало координат сцены (точка с координатами 0, 0, 0). Таким образом, большинство объектов центрируется относительно оси Y (одна половина объекта находится над осью, а другая – под ней) – рис. 3.13. Исключением является конус, центр которого помещается на основании. Чтобы создать примитивы NURBS, выполните описанные далее действия.
Примитив тор Примитив конус
1. Выполните команду меню Create NURBS Primitives. 2. Щелкните по названию примитива, который требуется создать; в данном случае моделируется сфера (рис. 3.14). Примитив NURBS появится в начале координат сцены Maya (рис. 3.15).
Примитив цилиндр Примитив куб Примитив сфера
Рис. 3.12. Чтобы быстро создать примитивы NURBS, щелкните по соответствующей кнопке в полке Surfaces
Рис. 3.14. В подменю NURBS Primitives выберите имя примитива, который нужно создать
Рис. 3.13. Центр примитива находится в начале координат сцены
Рис. 3.11. Чтобы создать примитивы NURBS, выберите пункты меню Create NURBS Primitives
Создание примитива NURBS с помощью главного меню
Примитив плоскость
Рис. 3.15. Примитив NURBS появится в начале координат сцены Maya
Hotbox позволяет значительно сэкономить время при создании объектов и примитивов, поскольку воспользоваться им проще, чем выполнить команды главного меню. Вызвать меню Hotbox можно из любой части окна Maya, сократив тем самым время получения доступа к меню.
Примитивы NURBS 89
88 Cоздание примитивов и текстовых объектов Создание примитива NURBS с помощью Hotbox
Создание примитива NURBS с помощью полки
1. Чтобы отобразить меню Hotbox, нажмите и удерживайте клавишу Пробел. 2. В меню Create, которое находится в меню Hotbox, выберите подменю NURBS Primitives. 3. Щелкните по названию примитива, который требуется создать; в данном случае моделируется куб (рис. 3.16). Примитив NURBS появится в начале координат сцены Maya (рис. 3.17).
В полке выберите значок нужного вам примитива NURBS (например, сферы или конуса . Примитив появится в начале координат сцены Maya (рис. 3.19). Если полка не отображается на экране, выполните команды Display UI Elements Shelf (рис. 3.20).
Рис. 3.16. Чтобы выбрать подменю NURBS Primitives, можно воспользоваться меню Hotbox
В разделе Surfaces (Поверхности) полки содержатся кнопки для быстрого доступа ко всем поверхностям примитивов NURBS (рис. 3.18). Выбирая примитивы в меню Shelf, вы можете сократить процесс создания на два или три шага, которые нужно было бы выполнить, чтобы найти тот же примитив в меню Create.
Рис. 3.19. В полке Surfaces щелкните по значку примитива NURBS. В данном случае выбран конус
Чтобы добавить в полку примитивы или другие объекты, выделите элемент в главном меню, удерживая нажатыми клавиши Shift и Ctrl/Control. Выбранная в меню команда и пункты меню, которые выделены в текущий момент, сохранятся в полке. Допустим, вам нужно переопределить атрибуты объекта перед тем, как добавлять его в меню Shelf. Произведите необходимые изменения параметров в диалоговом окне Options примитива. Например, поместите в полку одну сферу с углом конечной точки развертки в 20° и еще одну с углом конечной точки развертки в 360°. В этом заключается еще один способ ускорить работу с часто используемыми примитивами. Чтобы удалить элементы из меню Shelf, перетащите их в корзину, удерживая нажатой среднюю кнопку мыши.
Рис. 3.17. Примитив NURBS создается в начале координат сцены Maya
Рис. 3.18. По умолчанию в полке содержатся значки сферы и конуса
Рис. 3.20. Чтобы отобразить окно Shelf, выберите пункты меню UI Elements Shelf
Изменение атрибутов примитивов NURBS 91
90 Cоздание примитивов и текстовых объектов
Изменение атрибутов примитивов NURBS
Изменение радиуса существующего объекта
У каждого примитива NURBS есть определенный набор атрибутов. Некоторые атрибуты являются общими для всех примитивов NURBS, другие же присущи лишь одному или двум. Переопределяя атрибуты, можно изменять поверхности примитивов. Все атрибуты примитива NURBS изменяются одним и тем же способом. В этом разделе рассказывается о том, как переопределить радиус примитива NURBS. Чтобы изменить другие атрибуты объекта, выполните те же действия. В следующем разделе описывается большая часть атрибутов примитивов NURBS. Радиус является общим атрибутом для следующих примитивов NURBS: сферы, конуса, цилиндра, тора и окружности (рис. 3.21).
1. Выделите примитив NURBS: сферу, конус, цилиндр, тор или окружность. 2. Чтобы просмотреть атрибуты выделенного примитива, которые можно изменять, щелкните по строке makeNurb (Создание NURBS) под заголовком INPUTS (Входящие) в окне Channel Box (рис. 3.24). 3. Щелкните в поле Radius (рис. 3.25). 4. Измените значение радиуса. 5. Нажмите клавишу Enter, чтобы завершить процедуру (рис. 3.26).
Рис. 3.21. Радиус определяет размеры объекта
Рис. 3.24. Выберите строку makeNurb под заголовком INPUTS в окне Channel Box
Определение радиуса с помощью меню Create 1. В меню Create выберите пункт NURBS Primitives (Примитивы NURBS). 2. Щелкните по значку окошка рядом с названием примитива, радиус которого требуется задать, в данном случае определяется радиус цилиндра (рис. 3.22). 3. В диалоговом окне Options (Опции) выбранного примитива с помощью ползунка Radius установите значение, соответствующее половине нужного диаметра примитива (рис. 3.23).
Рис. 3.22. Выберите значок рядом с названием примитива, радиус которого требуется определить
Рис. 3.25. Чтобы выделить поле Radius, щелкните по нему один раз
Вы можете ввести цифру, превышающую максимальное значение, определенное для ползунка. Рис. 3.23. С помощью ползунка Radius установите значение, соответствующее половине диаметра создаваемого примитива
Рис. 3.26. Цилиндр до изменения радиуса (слева) и после (справа)
Если вам трудно указать точное значение атрибута, вы можете определить его интерактивно. Щелкните по названию атрибута (в данном примере это Radius) в окне Channel Box, а затем нажмите среднюю кнопку мыши и перетащите указатель влево или впрао в рабочем окне. Если история создания отключена, узел makeNurb в окне Channel Box будет недоступен. Для скопированного объекта опция makeNurb будет недоступна. Чтобы ее активировать, поставьте флажок Duplicate Upstream Graph (Копировать исходящий поток) в меню Edit Duplicate.
Изменение атрибутов примитивов NURBS 93
92 Cоздание примитивов и текстовых объектов
Атрибуты примитивов NURBS Ниже приведены некоторые важные атрибуты примитивов NURBS и их определения. Эти атрибуты можно определить в редакторе Channel Box или диалоговом окне Options:
Radius (Радиус). Радиус объекта – это половина его диаметра. При переопределении радиуса размеры объекта пропорционально изменяются по всем трем осям координат; Start Sweep (Начальная точка развертки). При изменении этого атрибута поверхность объекта отделяется от конечной точки по часовой стрелке. В результате получается неполная поверхность или поверхность, занимающая менее 360° (рис. 3.27); End Sweep (Конечная точка развертки). Результат ее переопределения такой же, как и при изменении начальной точки, но поверхность отделяется от своей начальной точки против часовой стрелки, а не по часовой. В результате получается неполная поверхность или поверхность, занимающая менее 360°; Minor Sweep (Второстепенная развертка). При настройке атрибута Minor Sweep, который является свойством тора, поверхность срезается в направлении U. Тор становится похож на катушку, а не на бублик – рис. 3.28; Degree (Степень). Примитив NURBS может быть линейным или кубическим. Если атрибут Degree определен как Linear (Линейный), то поверхность будет планарной с четко очерченными гранями. Если атрибут Degree определен как Cubic (Кубический), что устанавливается по умолчанию, поверхность становится более выпуклой и гладкой (рис. 3.29);
Рис. 3.27. При настройке начальной точки развертки начало и конец поверхности разделяются. В верхней части рисунка изображен тор до изменения начальной развертки, в нижней – после ее изменения
Рис. 3.30. Изменение атрибута Sections детализирует поверхность в направлении U
Рис. 3.28. При настройке атрибута Minor Sweep поверхность срезается вдоль оси U. В верхней части рисунка представлен тор до изменения второстепенной развертки, в нижней показан результат изменения
Рис. 3.29. Если атрибут Degree определен как Cubic, поверхность примитива сглаживается (вверху). Если атрибут Degree определен как Linear, поверхность будет угловатой, с четко очерченными гранями (внизу)
Рис. 3.31. Изменение атрибута Spans добавляет изопармы в направлении V
Рис. 3.32. Изменение атрибутов Patches U и Patches V увеличивает геометрию плоской поверхности в направлениях U или V
Sections (Сечения). Изменение этого атрибута детализирует поверхность в направлении U. Это упрощает редактирование поверхности (рис. 3.30); Spans (Сегменты). Атрибут детализирует поверхность в направлении V, что упрощает редактирование поверхности (рис. 3.31); Height Ratio (Коэффициент высоты). Отношение высоты к глубине. Если коэффициент равен 2, то высота будет в два раза больше глубины; Length Ratio (Коэффициент длины). Отношение длины к глубине. Если коэффициент равен 2, то длина будет в два раза больше глубины; Patches U и Patches V (Патчи по U и V). Данный параметр свойственен только примитивам плоскости и куба. Изменение этих атрибутов увеличит сложность геометрии поверхности в направлении U или V (рис. 3.32).
Полигональные примитивы 95
94 Cоздание примитивов и текстовых объектов
Полигоны Применение полигональных сеток (polygon meshes) придает моделированию необходимую гибкость, поскольку с их помощью можно создать как гладкие поверхности высокого качества, так и поверхности быстрой визуализации с низким качеством. В играх можно использовать лишь так называемые низкополигональные (low-poly) модели, иначе игровые ядра (engines) не смогут визуализировать их достаточно быстро, и скорость игры будет очень небольшой. Таким образом, полигоны – это тип поверхности, который нужно выбирать разработчикам игр и Internet-ресурсов. Опытный моделлер лишь из нескольких правильно размещенных полигонов может создать модель, которая будет иметь привлекательный вид и быстро загружаться (рис. 3.33). Полигоны состоят из множества компонентов, которые используются для управления конечным видом поверхности, – граней (faces), ребер (edges) и вершин (vertices). Они и определяют форму полигонального объекта (рис. 3.34). Каждым компонентом можно управлять отдельно, что предоставляет создателю точный контроль над процессом построения полигона. Вы можете создавать полигоны по одному, постепенно увеличивая разрешение поверхности. Можно воспользоваться и другим способом: начните с самого простого полигонального объекта (например, полигонального примитива, см. следующий раздел) и с помощью команды Smooth (Сглаживание) добавьте еще несколько отдельных полигонов, повышая разрешение и гладкость поверхности (рис. 3.35). Более подробно о команде Smooth рассказывается в главе 8.
Рис. 3.33. Низкополигональная модель быстро визуализируется. На рисунке представлена одна из моделей, созданных Андрю Бриттом Вершины Ребра
Рис. 3.36. Гладкость конечной поверхности зависит от количества разделений. Поверхность, заданная по умолчанию, изображена слева, на объекте справа проведены разделения
Разделения (subdivisions) – важная характеристика полигональной сетки. Число разделений поверхности полигона определяет, насколько гладкой будет конечная поверхность после визуализации (рис. 3.36). Уменьшение числа разделений приводит к сокращению числа граней, а поверхность выглядит более угловатой. Число разделений полигона задается до или после создания объекта. Разделять можно также и отдельные полигоны, что позволяет полностью управлять конечным числом полигонов.
Грани
Полигональные примитивы
Рис. 3.34. Грани, ребра и вершины являются компонентами полигона
Рис. 3.35. Начните с простого полигонального объекта, например полигонального примитива (слева), и с помощью команды Smooth добавьте еще несколько полигонов (справа)
Рис. 3.37. Полигональные примитивы: цилиндр, куб, сфера, конус, тор и плоскость
Рис. 3.38. Полигональные примитивы можно выдавливать, разбивать, разделять, соединять. На рисунке изображен куб-примитив, у которого скошена одна из граней
Полигональные примитивы, как и примитивы NURBS, представляют собой набор часто используемых предопределенных поверхностей. Они позволяют сэкономить время при создании объектов, что существенно упрощает моделирование более сложных форм. В Maya шесть полигональных примитивов: сфера (sphere), куб (cube), цилиндр (cylinder), плоскость (plane) и тор (torus) – рис. 3.37. Применение полигональных примитивов оптимизирует рабочий процесс, поскольку вам не потребуется рисовать грани, описывающие поверхность, они уже созданы программой. Из полигональных примитивов можно создавать самые разнообразные объекты при помощи команд выдавливания, разбиения, сглаживания, соединения, скашивания и др. Это позволяет быстро моделировать объекты и задавать точное число граней, используемых для создания поверхности. Таким образом можно сократить время визуализации конечного изображения, что просто необходимо при работе над персонажами компьютерных игр и изображениями для Web (рис. 3.38).
Полигональные примитивы 97
96 Cоздание примитивов и текстовых объектов
3. Щелкните по названию примитива, который требуется создать (в данном случае моделируется конус) – рис. 3.42. Полигональный примитив будет создан в начале координат сцены Maya (рис. 3.43).
Создание полигональных примитивов Доступ к полигональным примитивам можно получить, выполнив команды меню Create Polygon Primitives. Есть и еще два способа их создания – с помощью меню Hotbox или полки Polygons, где можно выбрать значок любого из примитивов. При создании полигонального примитива центр объекта помещается в начало координат сцены (как и при создании примитива NURBS). Чтобы создать полигональный примитив, выполните действия, описанные ниже.
Рис. 3.39. Чтобы создать полигональный примитив, выполните команды Create Polygon Primitives. В данном случае на сцене появится тор
Рис. 3.42. Выберите имя примитива, который требуется создать
Создание полигональных примитивов с помощью полки
Создание полигонального примитива с помощью главного меню 1. В меню Create (Создать) выберите подменю Polygon Primitives (Полигональные примитивы). 2. Щелкните по названию примитива, который требуется создать (в данном случае моделируется тор) – рис. 3.39. Полигональный примитив появится в начале координат (0, 0, 0) сцены Maya (рис. 3.40).
В разделе Polygons полки выберите значок полигонального примитива, который требуется создать, например, куба или цилиндра . Примитив будет создан в начале координат сцены Maya (рис. 3.45). Рис. 3.43. Полигональный примитив появится в начале координат сцены Maya Рис. 3.40. Полигональный примитив появится в начале координат сцены Maya. На рисунке изображен тор
Меню Hotbox позволяет значительно сэкономить время. Вы можете создавать объекты и примитивы, не возвращаясь в главное меню. Hotbox вызывается из любого окна Maya, что значительно облегчает доступ к меню программы.
Рис. 3.44. Кнопки в разделе Polygons для построения полигональных примитивов
Создание полигонального примитива с помощью Hotbox 1. Чтобы вызвать меню Hotbox, нажмите и удерживайте клавишу Пробел. 2. В меню Create в Hotbox выберите пункт Polygon Primitives (рис. 3.41).
В полке по умолчанию (default shelf) содержатся кнопки для быстрого построения полигональных примитивов куба и цилиндра (рис. 3.44). Выбирая эти примитивы в меню Shelf, вы можете сократить процесс создания на два или три шага, которые нужно было бы выполнить, чтобы найти тот же примитив в меню Create.
Рис. 3.41. Вызвать подменю Polygon Primitives можно через меню Hotbox
Рис. 3.45. Полигональный примитив появится в начале координат сцены Maya
Если полка не отображается на экране, выполните команды меню Display UI Elements Shelf. Чтобы добавить в полку примитивы или другие объекты, выберите примитив в меню Create, удерживая нажатыми клавиши Shift и Ctrl/Control.
Изменение атрибутов полигонального примитива 99
98 Cоздание примитивов и текстовых объектов
Изменение атрибутов полигонального примитива
Определение атрибута Subdivisions Height с помощью меню Create
Как и у примитивов NURBS, у каждого полигонального примитива есть атрибуты, с помощью которых можно изменить форму объекта до или после его создания. Если объект еще не создан, атрибуты примитива, которые устанавливаются по умолчанию, переопределяются в диалоговом окне Options (рис. 3.46). К поверхностям большинства примитивов присоединена история создания, а это значит, что изменить свойства поверхности можно после ее создания (рис. 3.47). Атрибуты, относящиеся к истории создания, находятся под заголовком каждого полигонального примитива в окне Channel Box. Все атрибуты полигональных примитивов изменяются одинаково. В следующем разделе рассказывается о том, как переопределить атрибут Subdivisions Height (Разделения по высоте). Аналогичным образом можно изменять и другие атрибуты объекта. Атрибут Subdivisions Height (общий для всех полигональных примитивов) определяет, на сколько сегментов разделена поверхность по высоте. Увеличивая это число, вы добавляете полигоны (рис. 3.48). При уменьшении значения для описания поверхности по высоте будет использоваться меньшее количество полигонов (рис. 3.49).
1. В меню Create выберите пункт Polygon Primitives. 2. Щелкните по значку рядом с названием примитива, для которого требуется определить атрибут Subdivisions Height (в данном случае для цилиндра) – см. рис. 3.50. 3. В диалоговом окне Options с помощью ползунка Subdivisions Along Height (Разделения по высоте) задайте нужное число делений по высоте (рис. 3.51). 4. Чтобы создать примитив с новыми установками Subdivisions Height, нажмите кнопку Create.
Рис. 3.50. Щелкните по значку рядом с названием примитива, для которого нужно определить атрибут Subdivisions Height
Рис. 3.46. У каждого полигонального примитива есть атрибуты, которые можно определять до или после создания объекта
Вы можете ввести значение, превышающее максимальное значение ползунка.
Рис. 3.47. Можно отрегулировать форму созданного полигонального примитива, изменяя его атрибуты Рис. 3.51. С помощью ползунка Subdivisions Along Height задайте требуемое число делений по высоте
Рис. 3.48. Увеличивая значение атрибута Subdivisions Height, вы добавляете полигоны, которые описывают поверхность объекта по высоте
Рис. 3.49. Для описания поверхности по высоте объекта используется меньшее количество полигонов
Изменение атрибутов полигонального примитива 101
100 Cоздание примитивов и текстовых объектов Изменение атрибута Subdivisions Height после создания объекта
Атрибуты полигонального примитива
1. Выделите полигональный примитив. 2. В окне Channel Box под заголовком Inputs выберите название полигонального объекта – рис. 3.52. 3. Щелкните в поле Subdivisions Height, чтобы ввести число (рис. 3.53). 4. Укажите, сколько раз вы хотите разделить поверхность по высоте. 5. Чтобы закончить процедуру, нажмите клавишу Enter (рис. 3.54).
Ниже описываются некоторые важнейшие атрибуты полигонального примитива:
Если вам трудно указать точное значение атрибута, вы можете определить его интерактивно. Щелкните по названию атрибута (в данном примере изменяется значение Subdivisions Height) в окне Channel Box, и, удерживая нажатой среднюю кнопку мыши, перетащите указатель вправо или влево в окне проекции.
Рис. 3.52 В окне Channel Box под заголовком Inputs выберите название полигонального объекта
Рис. 3.55. При переопределении атрибута Subdivisions Height изменяется количество полигонов по высоте объекта
Рис. 3.53. Щелкните в поле Subdivisions Height и измените значение
Рис. 3.56. При переопределении атрибута Subdivisions Axis изменяется количество полигонов по центральной оси объекта
Рис. 3.54. Нажмите клавишу Enter, чтобы завершить процедуру. Слева изображен конус с установками по умолчанию, а справа – конус с измененным значением атрибута Subdivisions Height
Рис. 3.57. При переопределении атрибута Subdivisions Cap изменяется количество полигонов основания объекта
Subdivisions Height, Width (Разделения по ширине, высоте). Эти атрибуты определяют число делений поверхности по высоте или ширине объекта. При увеличении/уменьшении их значения изменяется количество полигонов по осям ширины и высоты (рис. 3.55); Subdivisions Depth (Разделения по глубине). Данный атрибут определяет число делений поверхности по глубине. При увеличении/уменьшении его значения изменяется количество полигонов по оси, указывающей глубину объекта; Subdivisions Axis (Разделения по оси). Этот атрибут определяет число делений поверхности по центральной оси. При увеличении/уменьшении его значения изменяется количество полигонов по центральной оси. Похожим образом разрезается пицца (рис. 3.56); Subdivisions Cap (Разделения оснований). Основания есть у двух полигональных примитивов – конуса и цилиндра. Так называется часть геометрии, закрывающая круглые отверстия поверхности. У цилиндра два основания, у конуса – только одно. Атрибут Subdivisions Cap определяет количество делений основания. При его изменении добавляются или удаляются грани основания. Результат можно сравнить с концентрическими кругами на воде, расходящимися от центра (рис. 3.57); Radius (Радиус). Радиус объекта – это половина его диаметра. При переопределении атрибута Radius объект пропорционально изменяет размеры по всем осям координат;
Поверхности разделения 103
102 Cоздание примитивов и текстовых объектов
Section Radius (Радиус сечения). Этот атрибут является специфическим свойством тора. Изменение радиуса сечения приводит к утолщению или утончению формы тора (рис. 3.58); Width, Height и Depth (Ширина, высота и глубина). С помощью этих атрибутов изменяется ширина, высота и глубина объекта; Twist (Скручивание). Этот атрибут является специфическим свойством тора. Его изменение поворачивает грани вокруг центральной оси трубковидной формы на угол от 0° до 360° (рис. 3.59).
Поверхности разделения
Рис. 3.58. Изменение радиуса приводит к утолщению или утончению формы тора
Pис. 3.60. Модель разделения – одна сетка, которая задает сложную поверхность. На модели слева показана одна поверхность разделения, справа – модель патчей NURBS, которая содержит свыше сотни отдельных поверхностей.
Рис. 3.59. Применение эффекта скручивания к тору
Понятие поверхностей разделения, или разделений, существует с 1978 года. Но только недавно компьютерные аппаратные средства стали настолько быстрыми, чтобы можно было полноценно работать с разделениями. Все больше программ начинают использовать поверхности разделения в процессе моделирования, и все большее число профессиональных студий использует их в своих производственных циклах для создания художественных фильмов и на телевещании. Однако в видеоиграх по-прежнему доминируют полигоны. Разделения вобрали в себя все лучшее как от NURBS, так и от полигонов. Поверхность разделения напоминает полигональную модель тем, что может задавать сложную поверхность всего лишь одной сеткой (рис. 3.60), тогда как модели NURBS могут потребовать создания большого числа поверхностей для прорисовки сложной модели патча. Как и модель NURBS, любое разделение можно увеличить в любой момент для более детальной прорисовки линий изгиба, тогда как полигональные модели обычно непослушны и менее управляемы после добавления деталей. Однако работа с разделениями в значительной степени зависит от набора инструментов полигонального моделирования, имеющегося в Maya. Поэтому ознакомление с полигонами позволяет гораздо лучше понять разделения.
Примитивы разделения 105
104 Cоздание примитивов и текстовых объектов У разделений, как и у NURBS и полигонов, имеются такие компоненты, как точки/вершины, линии/ребра и грани, которыми можно напрямую манипулировать для формирования вашей (рис. 3.61). Разделения в Maya различаются уровнями детализации. Самый верхний уровень – сетка Level 0, у которой самый грубый уровень детализации. За ней следуют другие уровни с большей прорисовкой деталей. Вы можете использовать сетку Level 0 в качестве подстановочного элемента для привязки и анимации. Этим разделения вносят большое разнообразие. Можно отобразить боґльшую или меньшую детализацию выбранной модели, нажимая на клавиатуре клавиши 1, 2 или 3 (рис. 3.62).
Точки/вершины
Примитивы разделения
Level 0
Линии/края
Level 1
Лицевые стороны
Level 2
Примитивы разделения имеют шесть базовых форм, как и полигональные примитивы (рис. 3.63), с одним большим отличием – у них нет атрибутов настройки. Как и другие примитивы, о которых вы уже читали, можно использовать эти шесть форм как основу моделирования и добавлять детали, используя инструменты моделирования. Можно также конвертировать другие примитивы в поверхности разделения и использовать инструменты полигонального моделирования для опосредованного манипулирования моделью разделения. Более подробно это описано в главе 9 «Поверхности разделения». Pис. 3.62. Вы можете отобразить большее или меньшее количество деталей примитива разделения, нажимая на клавиатуре 1, 2 или 3
Pис. 3.61. Компоненты модели разделения и уровни детализации от грубого до подробного
Pис. 3.63. Шесть примитивов разделения: куб, сфера, цилиндр, плоскость, конус и тор
Создание примитивов разделения 107
106 Cоздание примитивов и текстовых объектов
Создание примитивов разделения
Создание примитива разделения с помощью Hotbox
Примитивы разделения находятся в меню Create (Создать), в подменю Subdiv Primitives (Примитивы разделения). Доступ к примитивам разделения можно также получить через быстрое меню Hotbox, как описано ниже. Щелчком мыши по пиктограммам на панели Subdiv Shelf (Полка разделения) вы можете быстро создать любой из шести примитивов разделения. Когда вы создаете примитив разделения, Maya помещает центр объекта на исходную точку сцены (так же, как и при создании примитива NURBS или полигонального примитива). Чтобы создавать примитивы разделения, выполните действия, описанные ниже.
1. Нажмите клавишу Пробел, в то время как курсор находится в любом месте сцены, для отображения быстрого меню Hotbox. 2. В меню Create в Hotbox выберите пункт Subdiv Primitives, а затем имя примитива, который хотите создать (рис. 3.66). Примитив разделения будет создан в исходном начале координат, виртуальном пространстве сцены Maya, куда вы помещаете объекты (рис. 3.67). На полке Maya по умолчанию (default Shelf) находятся пиктограммы быстрого доступа к примитивам «куб» и «цилиндр» (рис. 3.68). Выбор этих примитивов с полки (Shelf) может сэкономить два-три шага, которые пришлось бы сделать при выборе примитива из меню Create.
Pис. 3.66. Выборите цилиндр в меню Subdiv Primitives с использованием меню Hotbox Pис. 3.64. Выполните команду Subdiv Primitives Cube
Создание примитива разделения с помощью главного меню 1. В меню Create выберите подменю Primitives. 2. Щелкните по названию примитива, который хотите создать (рис. 3.64). Примитив разделения создается в начале координат (0, 0, 0) сцены Maya (рис. 3.65). Pис. 3.67. Примитив разделения «Цилиндр» появится в исходном начале координат Pис. 3.65. Примитив разделения «куб» появится в центре сцены Maya
Pис. 3.68. Пиктограммы быстрого доступа к примитивам разделения в Polygon Shelf
Текстовые объекты 109
108 Cоздание примитивов и текстовых объектов Создание примитива разделения с использованием полки Shelf На полке Subdivs Shelf выберите пиктограмму примитива разделения, который хотите создать – например, куб (Cube) или цилиндр (Cylinder). Примитив будет создан в исходном начале координат сцены Maya (рис. 3.69).
Текстовые объекты В Maya можно создавать текстовые объекты трех видов: кривые (curves), вырезки (trims) и полигоны (polys) – рис. 3.70. Все эти объекты находятся в диалоговом окне Text Options, вызываемом из меню Create. У каждого типа текстового объекта есть свое применение, а выбор зависит от конкретной ситуации. С помощью этих типов в Maya создаются плоские текстовые объекты, состоящие из кривых, вырезанных поверхностей (см. главу 7) или полигонов. При создании текст получается плоским, но есть много способов сделать его объемным. Двумерный текст можно изменять точно так же, как и любую кривую или поверхность. Например, если текст создан из кривых, можно выполнить лофтинг. Эта функция дублирует кривые и создает поверхности между копией и оригиналом (рис. 3.71). Текст, составленный из полигонов, можно выдавить, чтобы получить объемный текст. О лофтинге более подробно рассказывается в главе 7.
Pис. 3.69. Примитив разделения .«тор» появится в исходном начале координат
Рис. 3.72. В меню Create выберите поле рядом с надписью Text
С помощью типа текстового объекта Curves (Кривые) легко создать многофункциональный текст, состоящий из одних кривых, не соединенных поверхностями. Переднюю грань текста можно сделать планарной и создать на ней поверхность или же оставить ее открытой и произвести лофтинг между двумя копиями текста, придав ему трехмерность и оставив открытой переднюю грань, как на рис. 3.71. Заметьте, что текст создается отдельными частями, которые можно выделять. Например, буква D будет состоять из двух кривых: одной для внешней части буквы и другой – для центральной части.
Создание текстового объекта Curves
Рис. 3.73. Щелкните по стрелке рядом с полем Font и выберите шрифт текста
Рис. 3.70. Три вида текстовых объектов (сверху вниз): кривые, вырезки и полигоны
Рис. 3.74. Убедитесь, что в списке Type выбран переключатель Curves
Рис. 3.71. Созданный двумерный текст можно изменять так же, как и любую кривую или поверхность. На рисунке изображен текст, к которому был применен эффект лофтинга
Рис. 3.75. Левый нижний угол текста совпадает с началом координат
1. В меню Create щелкните по значку рядом с пунктом Text (рис. 3.72). 2. В диалоговом окне Options щелкните в поле Text и введите новый текст. 3. Щелкните по стрелке рядом с полем Font (Шрифт) и выберите шрифт текста. Затем нажмите кнопку Create (рис. 3.73). 4. Убедитесь, что параметру Type (Тип) присвоено значение Curves (Кривые) – рис. 3.74. 5. Нажмите кнопку Create для завершения операции. На сцене Maya появится текст, левый нижний край которого совпадает с началом координат (рис. 3.75).
Текстовые объекты 111
110 Cоздание примитивов и текстовых объектов Рассмотрим еще один тип текстового объекта – Trim (Вырезка). Если вам нужно выделить кривые, преобразовать их в планарные и натянуть на них визуализируемую поверхность (см. главу 7), выберите этот тип текстового объекта, и вы сократите процедуру на несколько шагов. Иными словами, объект Trim позволяет оптимизировать процесс создания текста с геометрией поверхности на передней грани (рис. 3.76). В объект включена история создания, в частности, присоединения поверхности к кривым, что позволяет при работе с кривыми изменять форму отдельной буквы (рис. 3.77).
Рис. 3.76. Объект Trim сокращает процесс создания текста с геометрией поверхности на передней грани
Рис. 3.80. Убедитесь, что в разделе Type выбран переключатель Poly
Создание текстового объекта Poly
Создание текстового объекта Trim 1. В меню Create щелкните по значку рядом с пунктом Text. 2. В диалоговом окне Options щелкните в поле Text и введите новый текст (см. рис. 3.78). 3. Щелкните по стрелке рядом с полем Font и выберите шрифт текста. Нажмите кнопку ОК. 4. Убедитесь, что параметру Type присвоено значение Trim (Вырезка) – рис. 3.79. 5. Нажмите кнопку Create для завершения операции. На сцене Maya появится текст, левый нижний край которого совпадает с началом координат, как на рис. 3.75.
Третий тип текстового объекта – Poly (Полигональный). Он более, чем остальные типы, подходит для встраивания текста в другие полигональные поверхности. Для объектов этого типа в Maya имеются многочисленные опции управления количеством полигонов, составляющих текст, а также другие полезные атрибуты текста. В объект Poly включена история создания, в частности, присоединения поверхностей к кривым, что позволяет при работе с кривыми изменять форму отдельной буквы.
Рис. 3.77. Работая с компонентами кривых, вы можете изменять форму отдельной буквы Рис. 3.81. На сцене Maya появится текст, левый нижний край которого совпадает с началом координат
Рис. 3.78. Щелкните в поле Text и введите новый текст
Рис. 3.79. Убедитесь, что в списке Type выбран переключатель Trim
1. В меню Create щелкните по значку рядом с пунктом Text. 2. В диалоговом окне Options щелкните в поле Text и введите новый текст. 3. Щелкните по стрелке рядом с полем Font и выберите шрифт текста. 4. Убедитесь, что параметру Type присвоено значение Poly (Полигональный). Для достижения наилучших результатов воспользуйтесь установками по умолчанию (рис. 3.80). 5. Нажмите кнопку Create, чтобы завершить операцию. На сцене Maya появится текст, левый нижний край которого совпадает с началом координат (рис. 3.81).
Присваивание названия объектам 113
112 Cоздание примитивов и текстовых объектов
Изменить название объекта можно также в разделе Transform (Преобразования) первой вкладки, которая находится в окне Attribute Editor (Редактор атрибутов) – рис. 3.85. Сначала выделите объект, а затем вызовите редактор Attribute Editor при помощи клавиш Ctrl/Control+a.
Присваивание названия объектам По умолчанию всем созданным объектам присваивается название. Оно представляет собой описание объекта, за которым следует номер, в котором указывается, сколько раз был создан объект этого типа за текущий сеанс работы с программой. Например, седьмой по счету сфере NURBS по умолчанию присваивается название nurbsSphere7 (рис. 3.82). Чтобы в дальнейшем объект было проще найти, вы наверняка захотите поменять это название на какое-нибудь более значащее имя. Например, если вы создали сферу, которая впоследствии станет головой персонажа, то ее название можно изменить на head (голова). Это позволяет по мере добавления в сцену объектов не запутаться и держать ситуацию под контролем.
Изменение названия объекта 1. Создайте объект или выделите щелчком мыши уже существующий. 2. В верхней части окна Channel Box в текстовом поле выделите название объекта, присвоенное по умолчанию (рис. 3.83). 3. Замените имя, присвоенное по умолчанию, вписав новое, например dannysSphere (рис. 3.84). 4. Нажмите клавишу Enter, чтобы завершить процедуру.
Рис. 3.82. По умолчанию седьмая созданная на сцене сфера NURBS будет называться nurbsSphere7
Рис. 3.85. Изменить название объекта можно также в разделе Transform, который находится на первой вкладке окна Attribute Editor
Каждый раз при создании примитива или другого объекта в Maya создается узел, представляющий этот объект. Просмотреть этот узел и любое из его соединений позволяет редактор Hypergraph (Гиперграф). В этом окне можно также поменять название объекта. Более подробно о редакторе Hypergraph рассказывается в главе 1.
Изменение названия объекта в Hypergraph
Рис. 3.83. В верхней части окна Channel Box выделите название объекта, присвоенное по умолчанию Рис. 3.86. Чтобы заменить текущий вид окном Hypergraph, в любом рабочем окне выберите пункты меню Panels Panel Hypergraph
Рис. 3.84. Замените название, присвоенное по умолчанию, на новое название
Рис. 3.87. Удерживая нажатой клавишу Ctrl/Control, дважды щелкните по названию узла объекта
1. Создайте объект или щелчком мыши выделите уже существующий. 2. Чтобы заменить текущий вид окном Hypergraph, в любом рабочем окне выберите пункты меню Panels Panel Hypergraph (рис. 3.86). Это меню находится в верхней части каждого рабочего окна. 3. Нажмите клавишу f, чтобы приблизить узел выделенного объекта. 4. Удерживая нажатой клавишу Ctrl/Control, дважды щелкните по имени узла объекта (рис. 3.87). 5. Замените название, присвоенное по умолчанию, на новое, например dannysSphere. 6. Нажмите клавишу Enter, чтобы завершить процедуру.
Центры трансформаций 115
114 Cоздание примитивов и текстовых объектов
4. Чтобы выйти из режима изменения центра трансформаций, нажмите на клавишу Insert/Home. 5. Поверните объект, чтобы оценить результат выполненной работы (рис. 3.90).
Центры трансформаций У каждого объекта в Maya есть центр трансформаций (pivot point). Когда вы вращаете объект, он поворачивается вокруг этой точки, а когда вы изменяете размеры объекта, увеличение или уменьшение происходит от точки или к точке центра трансформаций. По умолчанию данная точка находится в центре объекта, однако Maya позволяет перемещать ее в соответствии с выбранным типом трансформации. Это может оказаться очень полезным, если вы хотите создать определенные виды анимации и передвижений. Например, если требуется, чтобы камера вращалась вокруг сферы, которая в это время находится в центре вида камеры, вы можете переместить центр трансформаций камеры в центр сферы. Когда вы будете вращать камеру, сфера останется в центре вида. Если бы точка центра трансформации находилась в центре камеры (положение, определяемое по умолчанию), она бы вращалась вокруг своей оси, а не вокруг объекта.
Пример моделирования при помощи центра трансформаций описан в главе 5, в разделе «Создание простой лестницы». Рис. 3.88. Чтобы переопределить ось вращения, нужно переместить манипулятор центра трансформаций Рис. 3.91. Точка центра трансформаций находится рядом с выделенным объектом
Рис. 3.89. Центр трансформаций перемещен в новое положение
Переопределение центра трансформаций объекта Рис. 3.92. Точка центра трансформаций находится в центре выделенного объекта
1. Выделите объект, центр трансформаций которого требуется переместить. 2. Чтобы перейти в режим изменения центра трансформаций, нажмите клавишу Insert/Home. На экране появится манипулятор (рис. 3.88). 3. Щелкните по одному из управляющих элементов манипулятора и переместите его в требуемое положение (рис. 3.89). Здесь и будет находиться точка вращения объекта. Рис. 3.90. Объект вращается вокруг нового центра трансформаций
Перемещение центра трансформаций в центр объекта 1. Выделите объект, в центр которого требуется перенести центр трансформаций (рис. 3.91). 2. В меню Modify (Изменить) выберите пункт Center Pivot (Центрировать точку центра трансформаций). Центр трансформаций выделенного объекта теперь находится в центре этого объекта (рис. 3.92).
Режимы выделения, скрытие и шаблоны 117
Режимы выделения, скрытие и шаблоны В сцену Maya могут входить сотни суставов, тысячи полигонов и сотни тысяч точек, что создает большие трудности при попытке определить положение одной маленькой точки в середине геометрического объекта
4
огромных размеров (рис. 4.1). Но не стоит заранее расстраиваться: в Maya есть инструменты, позволяющие скрыть объекты, выделить их, перевести в режим шаблона, работать со слоями объектов и т.п.
Однако для новичков выбор объектов определенного типа или части объекта (то есть компонента) может оказаться сложной задачей. Например, поверхность, которую вы пытаетесь выделить, находится на заднем плане, а на переднем располагается кривая, которая мешает выбрать поверхность. В этом случае необходимо использовать режим Pick Mask (Установить маску). Помехой может оказаться не только кривая, но и источник освещения, поверхность или любой другой тип объекта, которых существует множество, но которые можно исключить из процесса отбора с помощью Pick mask (рис. 4.2). Исключить определенные типы объектов (так, чтобы доступными для выделения были только нужные вам типы) позволяют
Объект Иерархия
Компонент
Суставы Манипуляторы
элементы управления Pick mask. Например, если требуется выделить только кривые, следует исключить объекты другого типа из процесса отбора (рис. 4.3). Теперь, щелкая мышью по объекту, вы не сможете его выделить. Однако если вы щелкнете по кривой, она будет выделена. Большая часть этой главы посвящена как этому полезному инструменту, так и процессу выбора в целом. Иногда объекты могут закрывать поверхности, находящиеся на заднем плане. В этом случае следует применять такие функции Maya, как скрытие, создание шаблонов и слоев. Они позволяют отделять объекты таким образом, чтобы они не мешали просмотру и выбору других объектов.
Поверхности
Кривые
Частицы
Остальное
Деформации Визуализация
Рис. 4.2. Элементы управления Pick mask позволяют определить объекты, доступные для выбора
Рис. 4.3. Чтобы ограничить выбор одним типом объекта, в Pick mask следует щелкнуть по кнопке с изображением объекта этого типа, например кривой
Рис. 4.1. Модель, как правило, состоит из множества точек. Инструменты Maya позволяют выбрать из них лишь нужные. В данном случае для выбора точки используется режим Pick mask
Выбор объектов и использование Pick mask 119
118 Режимы выделения, скрытие и шаблоны
Выбор объектов и использование Pick mask Для выполнения многих команд Maya требуется предварительно выделить объект или его компонент. Чтобы это сделать, нужно воспользоваться инструментом Pick mask (Установить маску). Иногда его называют Selection mask (Маска выбора). Он позволяет выбрать объект или его компонент, запрещая выделение объектов других типов (выделение с помощью мыши имеет здесь второстепенное значение). У инструмента Pick mask есть три режима: Hierarchy (Иерархия), Object (Объект) и Component (Компонент) – рис. 4.4. Каждый из этих режимов открывает доступ к множеству подтипов, которые можно включать в процесс отбора или исключать из него. Они позволяют маскировать даже большее число объектов или компонентов, чтобы облегчить процедуру выбора в дальнейшем. Чтобы открыть меню подтипов, щелкните правой кнопкой мыши по кнопке режима (рис. 4.5). Нажимая на клавишу F8, вы можете переключаться с режима Object (Выделение объекта целиком) в режим Component (Выделение компонента объекта). Далее описывается назначение каждого режима Pick mask.
Объект Иерархия
Добавление объектов к уже выделенным
Компонент
Рис. 4.4. Режимы Hierarchy, Object и Component инструмента Pick mask позволяют выбирать как объект, так и его компонент Рис. 4.7. Чтобы выделить объект, щелкните по нему или, удерживая нажатой левую кнопку мыши, заключите его в пунктирную рамку
Если ограничивающая рамка захватит часть объекта, который уже выделен, программа снимет с него выделение.
Удаление объектов из числа выделенных
Рис. 4.5. У каждого режима Pick mask есть дополнительные команды, которые можно просмотреть, щелкнув по его значку правой кнопкой мыши
Рис. 4.8. В меню Edit выберите пункт Invert Selection
Удерживая нажатой клавишу Shift, щелкните по каждому из объектов, которые требуется удалить из числа выделенных; или Удерживая нажатой клавишу Shift, выделите с помощью ограничивающей рамки хотя бы часть каждого объекта, которые нужно удалить из числа выделенных.
Инвертирование выделения 1. Выделите объект (рис. 4.7). 2. В меню Edit выберите пункт Invert Selection (Инвертировать выделение) – рис. 4.8. Это позволит выбрать невыделенные объекты и снять выделение с выбранных (рис. 4.9).
Выделение объекта 1. Щелкните по кнопке Select by Object Type (Выбрать по типу объекта) . 2. Наведите указатель на объект. 3. Щелкните по объекту, чтобы его выделить, или очертите с помощью рамки объект или группу объектов, удерживая нажатой левую кнопку мыши (рис. 4.6). 4. Закончив выделение, отпустите кнопку мыши.
Удерживая нажатой клавишу Shift, щелкните по каждому из объектов, которые требуется добавить к выделенным; или Удерживая нажатой клавишу Shift, выделите с помощью ограничивающей рамки хотя бы часть каждого объекта, который требуется добавить к выделенным.
Рис. 4.6. С помощью ограничивающей рамки можно быстро выделить несколько объектов
Рис. 4.9. Команда Invert Selection позволяет инвертировать выделение объектов всей сцены
120 Режимы выделения, скрытие и шаблоны
Выбор объектов и использование Pick mask 121
Отмена выделения объектов
Выделение объектов в режиме Hierarchy
Чтобы отменить выделение всех объектов, щелкните один раз в пустом месте сцены или, удерживая нажатой клавишу Shift, щелкните по выделенному объекту, чтобы отменить только его выделение (рис. 4.10).
Выделение объекта с помощью Outliner 1. В меню Window выберите пункт Outliner. 2. Щелкните по имени объекта, который требуется выделить (рис. 4.11).
Рис. 4.10. Щелкните по пустому месту сцены или, удерживая нажатой клавишу Shift, щелкните по выделенному объекту Рис. 4.13. Дочерним называется узел, расположенный ниже в иерархии, в данном случае дочерним является узел tire4
Выделение объекта с помощью Hypergraph 1. В меню Window выберите пункт Hypergraph. 2. Щелкните по узлу объекта, который требуется выделить (рис. 4.12). Программа выделит объект.
Выделение верхнего объекта иерархии 1. Создайте две сферы. 2. Выделите обе сферы, очертив их ограничивающей рамкой (рис. 4.14). 3. В меню Edit (Редактирование) выберите пункт Group (Сгруппировать), чтобы сгруппировать объекты. 4. В меню Window выберите пункт Outliner (рис. 4.15). Откроется окно Outliner (Планировщик).
Рис. 4.11. Выберите пункт Outliner в меню Window и щелкните по имени объекта, который нужно выделить
Рис. 4.14. Рамка выделяет все объекты, которые она частично захватывает; необязательно окружать объекты рамкой целиком
Рис. 4.15. В окне Outliner перечислены все узлы сцены
Рис. 4.12. Щелкните по узлу объекта, который нужно выделить
Режим Hierarchy (Иерархия) используется для выделения объектов в иерархии. Он позволяет выбрать верхний узел иерархии (root); последующий узел, который называется дочерним (leaf) – рис. 4.13; шаблонный объект. В режиме Hierarchy есть три основных маски, которые описаны в табл. 4.1. В приведенном ниже примере сначала создается иерархия из двух сфер, а затем показывается, как выделять ее объекты. Более подробно об иерархиях рассказывается в главе 6.
Таблица 4.1. Маски выбора в режиме Hierarchy Кнопка Имя узла
Функция
Root (Корневой)
Выделяет верхний узел иерархии
Leaf (Дочерний)
Выделяет дочерний объект иерархии
Template (Шаблон)
Выделяет шаблонный объект (только в режиме шаблона)
Выбор объектов и использование Pick mask 123
122 Режимы выделения, скрытие и шаблоны 5. Чтобы просмотреть иерархию, в окне Outliner щелкните по плюсу слева от имени группы (рис. 4.16). 6. Нажав на кнопку в строке состояния, установите Pick mask в режим Select by Hierarchy. 7. Перейдите в режим выделения корневого узла Select by Hierarchy: Root, щелв строке состояния. кнув по кнопке 8. Щелкните по любому из объектов. При этом выделится не один объект, чего следовало ожидать, а обе сферы, поскольку в этом режиме выделяется корневой узел группы, то есть все объекты, входящие в соединение (рис. 4.17).
Таблица 4.2. Маски выбора в режиме Object Кнопка Имя объекта
Выделяет маHandles нипуляторы вы(Манипуляторы) бранных объектов и IK-дескрипторы
Рис. 4.16. Щелкните по плюсу, чтобы увидеть все объекты, составляющие иерархию
Выделение объекта в иерархии 1. Выполните шаги 1–6 предыдущей процедуры. 2. Перейдите в режим выделения дочернего узла Select by Hierarchy: Leaf, в строке состощелкнув по кнопке яния. 3. Щелкните по какому-либо из объектов. При этом выделяется только этот объект, а не вся группа целиком, как в предыдущем примере (рис. 4.18). В окне Outliner выделенный узел помечен серым цветом.
Функция
Рис. 4.17. Независимо от того, по какому объекту вы щелкнули, выделяется все соединение, то есть корневой узел группы
Joints (Суставы)
Выделяет суставы скелета
Curves (Кривые)
Выделяет кривые NURBS, кривые поверхностей и штрихи Paints Effects
Surfaces
Выделяет NURBS, (Поверхности) полигоны, поверхности разделения и плоскости
Deformations (Деформации)
Выделяет сетки, кластеры, нелинейные преобразования и рельефные объекты
Dynamics (Динамика)
Выделяет частицы, эмиттеры, поля, пружины, твердые тела и ограничения
Выделение объектов в режиме Object Type В режиме Object Type (обычно просто режим Object) объекты выделяются целиком. В этом режиме есть восемь масок, которые описаны в табл. 4.2. Этот режим позволяет выбрать объект определенного типа, находящийся под объектами других типов, которые закрывают к нему доступ. Например, возьмем объект, который уже подготовлен для анимации, – с суставами, обратной кинематикой (или IK), манипуляторами выделения и геометрией, которые располагаются друг над другом. Трудно выделить суставы, которые находятся за геометрией. Решить эту задачу помогает инструмент Object Pick mask, с помощью которого можно запретить выделение всех типов объектов, кроме суставов (рис. 4.19). Теперь на экране отчетливо видны только сами суставы, что значительно упрощает процесс их выделения.
Выделяет источниRendering ки света, камеры (Визуализация) и текстуры
Miscellaneous (Остальное)
Выделяет конечные спецификаторы обратной кинематики, локаторы и измерители
Вы можете свернуть иерархию в узел группы, нажав на клавишу со стрелкой «вверх». Рис. 4.18. В окне Outliner выделенный узел помечается серым цветом, а корневой узел иерархии – зеленым Рис. 4.19. Если выбрана маска Joints Pick mask, выделять можно только суставы
Выбор объектов и использование Pick mask 125
124 Режимы выделения, скрытие и шаблоны Выделение поверхностей с помощью маски Object Pick mask 1. В меню Create выберите пункты NURBS primitive Sphere. 2. Выполните команды меню Create Lights Spotlight (Создать Источники света Прожектор). 3. Чтобы увеличить масштаб объектов в окне проекции, нажмите клавишу f (рис. 4.20). , чтобы опре4. Щелкните по кнопке делить режим Pick mask как Select by Object Type (Выделение по типу объекта). 5. Нажмите на стрелку справа от кнопки Object Pick Mask и выберите в выпадающем меню пункт All Objects Off (Выключить все объекты), чтобы запретить выделение всех объектов (рис. 4.21). 6. Перейдите в режим Select by Object Type: Surfaces (Выделение по типу объекта: поверхности), щелкнув по кнопке . 7. Очертите ограничивающей рамкой оба объекта. Сфера является поверхностью, поэтому она выделяется. А прожектор остался невыделенным, поскольку не принадлежит к типу поверхностей (рис. 4.22).
Рис. 4.20. Нажав на клавишу f, приблизьте камеру к объекту. Чтобы приблизить объект во всех видах, нажмите клавиши Shift+f
Таблица 4.3. Маски выбора в режиме Component Кнопка Имя объекта
Выделяет контрольPoints (Точки) ные точки NURBS, вершины поверхносполигона, тей разделения, точвершины) ки сетки и частицы Parameter points (Точки параметра)
Выделяет редактирующие точки NURBS, точки кривой, точки поверхности и UVкоординаты поверхностей разделения
Lines (Линии)
Выделяет изопармы NURBS и ребра вырезки NURBS, ребра полигона и разделений и спирали
Faces (Грани)
Выделяет патчи NURBS, грани полигонов и поверхностей разделения
Hulls (Огибающие)
Выделяет огибающие NURBS
Pivots (Центры трансформаций)
Выделяет центры трансформаций обычной геометрии и суставов
Handles (Манипуляторы)
Выделяет манипуляторы выделенных объектов
Рис. 4.21. Чтобы запретить выделение объектов всех типов, выберите в меню Pick mask пункт Select All Objects Off
Рис. 4.22. Выделена только сфера, поскольку она является поверхностью, несмотря на то что в область выделения попадает еще и прожектор
Функция
Выделение частей объектов в режиме Component Любой объект в Maya состоит из компонентов, которые определяют конечную форму кривой или поверхности. Кривая, например, включает в себя огибающие (hulls), контрольные вершины (CV) и редактирующие точки (edit points) – рис. 4.23. Положение каждого из этих компонентов определяет вид кривой. В режиме Component любой компонент объекта можно выделять и редактировать отдельно от других с помощью манипуляторов. (Более подробно о компонентах кривых и поверхностей рассказывается в главе 7.) В режиме Component имеется восемь основных масок, которые определены в табл. 4.3.
Огибающие
Контрольные точки
Выделяет местLocal Rotation ные оси вращения (Местное и плоскости изобравращение) жений
Выполнив описанные действия, можно маскировать объекты любого типа. Редактирующие точки
Рис. 4.23. Вид кривой определяют три основных компонента, которые можно выделять и редактировать: огибающие, CV и редактирующие точки
Выбор объектов и использование Pick mask 127
126 Режимы выделения, скрытие и шаблоны
Для функций инструмента Pick mask по умолчанию установлены «горячие» клавиши, которые дублируют определенные команды.
Выделение и перемещение контрольных точек кривой 1. Нарисуйте кривую с помощью инструмента CV Curve или откройте файл, в котором используются кривые (рис. 4.24). Более подробно о создании кривых рассказывается в главе 7. 2. На панели Pick mask нажмите кнопку Select by Component (Выделить по компоненту) . 3. Щелкните по стрелке справа от кнопки Set the Component Type (Определить тип компонента) и в меню выберите пункт All Components Off (Выключить все компоненты). 4. Щелкните по кнопке Points Submask (Поднабор: точки) . 5. Выделите кривую, чтобы увидеть ее точки. 6. Щелкните по одной или нескольким контрольным точкам кривой, чтобы их выделить (рис. 4.25). 7. Нажмите на кнопку Move панели инструментов. Появится манипулятор инструмента Move. 8. Чтобы переместить контрольные точки и определить форму кривой, щелкните по манипулятору и, удерживая нажатой левую кнопку мыши, перетащите его в нужное место (рис. 4.26).
2
3
«Горячие» клавиши для инструмента Pick mask 1
4
Рис. 4.24. Чтобы создать кривую, щелкните в четырех контрольных точках
Рис. 4.27. Нажмите клавишу F9, чтобы определить в Pick mask выбор вершин
Рис. 4.25. Чтобы выделить контрольные точки, щелкните по одной из них
Рис. 4.28. Нажмите клавишу F10, чтобы задать в Pick mask выбор ребер
Рис. 4.26. Чтобы изменить форму кривой, переместите контрольные точки
Рис. 4.29. Нажмите клавишу F11, чтобы установить в Pick mask выбор граней
F8 переключает режимы Object и Component; F9 устанавливает выбор вершин (см. рис. 4.27); F10 задает выбор ребер (рис. 4.28); F11 определяет выбор граней (рис. 4.29); F12 активирует выбор UV-координат (рис. 4.30).
При моделировании вам понадобится многократно выделять одну и ту же группу точек или одни и те же объекты; однако производить выбор более одного раза утомительно и требует немалых временных затрат, кроме того, в этом нет никакой необходимости. Сохранив список выделения и присвоив ему название, вы можете сэкономить массу времени. Эта функция называется Quick Select Set (Набор быстрого выделения). Она позволяет быстро выделять объекты и компоненты.
Рис. 4.30. Нажмите клавишу F12, чтобы активировать в Pick mask выбор UV-координат
128 Режимы выделения, скрытие и шаблоны
Выбор объектов и использование Pick mask 129
Создание набора быстрого выделения
Скрытие выделенного объекта
1. В режиме Component выделите несколько точек (рис. 4.31) или в режиме Object – несколько объектов. 2. Выполните команды Create Sets Quick Select Set (Создать Наборы Набор быстрого выделения) – рис. 4.32. Откроется диалоговое окно Create Quick Select Set (Создать набор быстрого выделения). 3. В поле Enter Quick Select Set name введите название набора быстрого выделения (рис. 4.33). 4. Нажмите кнопку ОК. Область выделения доступна в меню Edit Quick Select Sets [имя набора] – рис. 4.34.
1. Выделите объект, который необходимо скрыть (рис. 4.35). 2. В меню Display выберите пункт Hide Hide Selection (Скрыть Скрыть выделенные объекты) или нажмите клавиши Ctrl/Control+h (рис. 4.36). Выделенный объект будет недоступен для просмотра (рис. 4.37).
Рис. 4.34. Создав набор быстрого выделения, вы можете заново производить выделение, выбрав пункты меню Edit Quick Select Set [имя набора]
Рис. 4.36. Выполните команды меню Display Hide Hide Selection
Рис. 4.32. Чтобы создать набор быстрого выделения, выполните команду Quick Select Set
Рис. 4.33. Присвойте списку выделения значащее имя, чтобы при необходимости быстро отыскать набор в меню Quick Select Set Рис. 4.31. Выделите точки, которые вы хотите сохранить в списке выделения
Рис. 4.35. Выделите один объект или несколько объектов, которые требуется скрыть
Рис. 4.37. Выделенные объекты не отображаются на экране. Затем вы можете отобразить все скрытые объекты или объект, скрытый последним
130 Режимы выделения, скрытие и шаблоны
Выбор объектов и использование Pick mask 131 3. Объект становится серым (рис. 4.42), и его можно выбрать только с помощью маски Hierarchy: Select Template Selection (Иерархия: режим выбора шаблонов).
Отображение всех скрытых объектов В меню Display выберите пункты Show All (Отобразить Все) – рис. 4.38. Все скрытые объекты отобразятся на экране.
Отображение скрытого объекта В меню Display выберите пункты Show Show Last Hidden (Отобразить Отобразить последний скрытый) или нажмите клавиши Ctrl/Control+h (рис. 4.39). Объект, скрытый последним, отобразится на экране. Перевод объекта в режим шаблона (templating) позволяет оставить объект на сцене, но при этом он не будет мешать выделению других объектов. После создания шаблона объект становится серым и выделить его можно только с помощью маски Select Template Pick.
Рис. 4.39. Чтобы на экране появился объект, скрытый последним, выберите пункты меню Show Show Last Hidden
Снятие с объекта режима шаблона
Рис. 4.42. Если не объект не выделен, его шаблон отображается серым цветом. При использовании маски Template Selection он становится розовым
Перевод объекта в режим шаблона 1. Выделите объекты, которые требуется перевести в режим шаблона (рис. 4.40). 2. В меню Display выполните команды Object Display Template (Отображение объектов Шаблон) – рис. 4.41.
Рис. 4.40. Перевести в режим шаблона можно любой выделенный объект. Шаблон отображается серым цветом до тех пор, пока объект не выделен
Рис. 4.43. Чтобы выделить объект, переведенный в режим шаблона, нужно определить режим Hierarchy Pick mask как Select Template
Рис. 4.38. Чтобы отобразить все скрытые объекты, выберите пункты меню Show All
1. Определите режим Pick mask как Hierarchy и щелкните по кнопке , чтобы включить шаблоны в процесс выделения. 2. Выделите объекты, отображающиеся в режиме шаблона, которые требуется вывести из этого режима (рис. 4.43). Объекты станут светло-розовыми. 3. В меню Display выберите пункты Object Display Untemplate (Отображение объектов Снять режим шаблона) – рис. 4.44. Объекты переведены в обычный режим.
Рис. 4.41. В меню Display выберите пункты Object Display Template
Рис. 4.44. Чтобы снять с объекта режим шаблона, выберите пункты меню Object Display Untemplate
Понятие о слоях 133
132 Режимы выделения, скрытие и шаблоны
5. В выпадающем меню Display Type (Отобразить тип) выберите значение Normal. Этот параметр определяет, будут ли объекты слоя отображаться как нормальные (стандартные), как шаблон или как ссылка. 6. В поле Color выберите цвет (рис. 4.48), которым будет отображаться каркас объектов слоя. 7. Нажмите кнопку Save.
Понятие о слоях Использование слоев значительно упрощает работу, в частности, моделирование сложного объекта, состоящего из множества частей (например, часовой механизм или живое существо). Слои отделяют объекты друг от друга, что позволяет просматривать и редактировать их независимо от других объектов. Каждому слою можно присвоить какой-либо цвет – это помогает легко узнавать объекты данного слоя. Слой можно скрыть, показать, перевести в режим шаблона или определить ссылку на него. Объекты допускается по необходимости перемещать с одного слоя на другой. Кроме того, в любой момент вы можете создать новый слой.
Создание, переименование и изменение цвета слоя 1. Откройте окно Channel Box (Редактор каналов) и нажмите на кнопку Layer Editor (Редактор слоев) . 2. В меню Layers (Слои) окна Layer Editor (рис. 4.45) выберите пункт Create Layer (Создать слой) или нажмите на кнопку Create Layer . Новому слою по умолчанию присваивается имя layer1. 3. Чтобы открыть диалоговое окно Edit Layer (Редактировать слой), дважды щелкните по строке layer1 (рис. 4.46). 4. В поле Name введите значащее имя слоя (рис. 4.47).
Рис. 4.45. В меню Layers можно создавать дополнительные слои
Рис. 4.50. Выделите объекты, которые нужно переместить на новый слой Рис. 4.46. В диалоговом окне Edit Layer можно присвоить слою название, выбрать тип отображения объектов и цвет их каркаса
Любой новый слой можно сделать текущим, выбрав в меню Layer Options опцию Make New Layers Currnt (Сделать новый слой текущим). Чтобы удалить слой, щелкните по нему правой кнопкой мыши и выберите пункт Delete в контекстном меню.
Рис. 4.47. Выберите для слоя значащее название
Рис. 4.48. Выберите цвет, в который будут окрашены каркасы объектов слоя
Рис. 4.49. Чтобы каждый новый объект помещался на текущем слое, в меню Layer Options выберите пункт Use Current Layer
Объекты помещаются на слое, созданном по умолчанию, а не на новом слое. Чтобы располагать каждый новый объект на текущем слое, выберите пункт Use Current Layer (Использовать текущий слой) в меню Layer Options (Опции слоя) – рис. 4.49.
Рис. 4.51. Чтобы переместить объекты на другой слой, выберите пункт Add Selected Objects
Перемещение объекта на другой слой 1. Выделите объекты, которые нужно переместить (рис. 4.50). 2. Правой кнопкой мыши щелкните по слою, на который хотите переместить объекты. Затем в контекстном меню выберите пункт Add Selected Objects (Добавить выделенные объекты) – рис. 4.51.
134 Режимы выделения, скрытие и шаблоны Удаление слоя 1. В Layer Editor выделите один или несколько слоев, которые необходимо удалить. 2. Выберите пункты меню Layer Delete Selected Layer(s). Слой будет удален из Layer Editor. Если удален слой, содержащий объекты, они появляются на слое, определенном по умолчанию. Чтобы удалить неиспользованные слои, выберите пункты меню Layer Select Unused Layers (Слои Выделить неиспользованные слои) и затем выполните команды Layer Delete Selected Layer(s) (Слои Удалить выделенные слои).
Отображение/скрытие слоя В Layer Editor щелкните в самом левом от имени слоя квадратике. Если слой в текущий момент отображается, он станет невидимым; если слой невидим, он вновь появится на экране.
Добавление примечания к объекту 1. Выделите объект, к которому вы хотите добавить примечание. 2. В меню Create выберите пункт Annotation (Примечание). Появится диалоговое окно Annotate Node (Узел примечания). 3. В поле Enter Annotation (Введите примечание) введите текст примечания, затем нажмите кнопку ОК. Появится примечание с линией, указывающей на объект.
ПреобразоВание объектов и компонентов Выделение щелчком или рамкой Произвольное выделение Перемещение Вращение Масштабирование Инструмент Show Manipulator
Рис. 5.1. Инструменты преобразований Maya
Рис. 5.2. Манипулятор инструмента Move используется для перемещения по сцене объектов и компонентов
5
Maya позволяет перемещать, вращать и масштабировать объекты разными способами, кроме того, для выполнения этих стандартных задач существует множество сокращенных клавиатурных наборов. Чтобы переместить объект (translate), введите координаты объекта в окне Channel Box или выберите один из инструментов управления (рис. 5.1) и перетащите объект по сцене или вдоль какой-нибудь оси. Инструменты, применяемые для управления объектом на сцене, используются и для работы с частями объекта – компонентами. У каждого типа объектов есть свои компоненты, которые можно перемещать (рис. 5.2), вращать и масштабировать, то есть переопределять их вид и положение, изменяя таким образом форму объекта. Благодаря огромной работе, которую провели разработчики Maya, программу легко изучать, несмотря на то, что в нее заложены достаточно сложные функции. Как правило, действия, выполняемые инструментами, включают в себя углубленные функции. Многие из этих возможностей осваиваются по мере приобретения опыта работы с программой. В качестве примера рассмотрим команду Duplication (Копирование). Как только вы научитесь ее использовать, вы сможете выполнять ряд
Перемещение, вращение и масштабирование объектов 137
136 Преобразование объектов и компонентов
Перемещение, вращение и масштабирование объектов Maya располагает множеством инструментов для перемещения, вращения и масштабирования объектов и их компонентов. Каждый из этих инструментов имеет оси преобразования, которые можно перемещать с помощью мыши, чтобы изменить объект. Эти оси, называемые манипуляторами (рис. 5.3), используются для перемещения, вращения объекта или изменения его размеров. С помощью манипуляторов проще привязать объект к конкретной оси:
просто щелкните по цветной линии оси, на которой требуется закрепить объект, и перетащите ее. Каждый инструмент имеет свой цвет. Цвета RGB соответствуют осям X–Y–Z (рис. 5.4): ось X манипулятора – красная, ось Y – зеленая, а ось Z – синяя. Если вы не помните, какого цвета определенная ось, посмотрите на значок View axis (Вид осей), который находится в левом нижнем углу любого рабочего окна (рис. 5.5). Ось, выделенная манипулятором, всегда имеет желтый цвет.
Объект можно не только закреплять на оси, им можно также свободно управлять, захватив и перетащив маркер, который находится в центре манипуляторов Move и Scale, или щелкнув по манипулятору Rotate и переместив указатель, удерживая нажатой левую кнопку мыши (рис. 5.6). У каждого инструмента, находящегося на панели инструментов, кроме Lasso (Произвольное выделение), есть клавиши оперативного вызова, которые легко запомнить, так как они совпадают с клавишами q w e r t y (стандартное расположение клавиш на клавиатуре). Чтобы отобразить на экране манипулятор инструмента, нужно просто нажать на соответствующую клавишу. Ниже перечислены «горячие» клавиши основных инструментов Maya (рис. 5.7):
Зеленый
Ось Y
более сложных операций, например, многократно копировать объект, определив число копий, или указывать точное положение скопированного объекта на сцене.
Ось Z
Синий
Ось
X
Красный
Инструмент Move
Рис. 5.4. Красный, зеленый и синий цвета соответствуют осям X–Y–Z
Рис. 5.6. Чтобы трансформировать или масштабировать объект в любом направлении, следует перетащить центральный маркер манипуляторов Move или Scale; чтобы вращать объект, нужно щелкнуть по сфере манипулятора Rotate и перемещать указатель
Выделение щелчком или рамкой Произвольное выделение Перемещение (w)
Инструмент Rotate
Вращение (e) Изменение размеров (r) Инструмент Show Manipulator (t) Инструмент Scale
Рис. 5.3. Манипуляторы перемещения, вращения и масштабирования
Последний использованный инструмент (y)
Рис. 5.5. Чтобы вспомнить, какие цвета соответствуют осям координат, посмотрите на значок View axis в левом нижнем углу рабочего окна
Рис. 5.7. Инструменты управления и их сокращенные клавишные наборы
q – инструмент выделения щелчком мыши или ограничивающей рамкой; w – инструмент Move; e – инструмент Rotate; r – инструмент Scale; t – инструмент Show Manipulator; y – последний использованный инструмент. Помните, что эти клавиши не будут работать, если нажата клавиша Caps Lock. В Maya заглавные и строчные буквы представляют собой разные «горячие» клавиши, и функции, которые за ними закреплены, тоже различны. Например, инструментам Move, Rotate и Scale соответствуют клавиши w, e и r, однако те же самые заглавные буквы используются следующим образом: W – включение перемещения в ключевой кадр, E – включение поворота в ключевой кадр, R – включение масштабирования в ключевой кадр.
Перемещение, вращение и масштабирование объектов 139
138 Преобразование объектов и компонентов
Щелкните в любом месте рабочего окна левой кнопкой мыши, удерживая нажатой «горячую» клавишу для инструмента Move (w), Rotate (e) или Scale (r), чтобы вызвать контекстное меню этого инструмента (рис. 5.11). В меню Transform Marking (Контекстное меню преобразования) перечислены «горячие» клавиши для многих функций соответствующего инструмента.
Перемещение объекта или компонента при помощи инструмента Move 1. Щелчком мыши выделите объект или его компонент. 2. Нажмите клавишу w или щелкните по кнопке инструмента Move (Перена панели инструментов. мещение) На экране появится манипулятор Move (рис. 5.8). 3. Щелкните по стрелке манипулятора и перетащите ее, удерживая нажатой левую кнопку мыши (рис. 5.9). Чтобы переместить объект только по оси X, щелкните по красной стрелке; перемещая его по оси Y, используйте зеленую стрелку; по оси Z – синюю. Можно изменить положение объекта и другим способом: удерживая нажатой клавишу Shift, средней кнопкой мыши щелкните по объекту и перетащите его в нужном направлении (рис. 5.10). Таким образом вы автоматически выбираете манипулятор оси, по которой передвигаете объект. Подобное действие особенно полезно, если вы только что создали объект в начале координат, а камеру переместили так, что объект не видно в рабочем окне. Вы сможете переместить объект в вид камеры, если известно положение начала координат относительнокамеры. Чтобы активировать привязку к сетке, удерживайте нажатой клавишу x. Если при этом вы переместите указатель по сетке, удерживая нажатой среднюю кнопку мыши, программа привяжет объект к текущему поожению. Чтобы увеличить или уменьшить размер манипуляторов, используйте клавиши + (Плюс) и – (Минус).
Масштабирование объекта или компонента
Рис. 5.8. Для перемещения объекта по сцене используется манипулятор инструмента Move Начальное положение
Новое положение
Рис. 5.10. Перемещая указатель вправо и влево при помощи средней кнопки мыши, вы можете интерактивно изменять значения различных атрибутов. В данном случае изменено значение атрибута Translate
1. Щелчком мыши выделите объект или компонент. 2. Нажмите клавишу r или щелкните по кнопке инструмента Scale (Масштабирование) на панели инструментов. На объекте или компоненте появится манипулятор Scale (рис. 5.12).
Манипулятор оси
Рис. 5.9. Щелкните по оси, к которой требуется привязать перемещение объекта, и перетащите ее. Теперь вы сможете точно управлять положением поверхности, что особенно пригодится в окне вида в перспективе
Рис. 5.11. В контекстное меню инструмента Scale включены опции для пропорционального изменения размеров объекта и изменения размеров вдоль оси
Рис. 5.12. Чтобы масштабировать объект с сохранением пропорций или только по одной оси, воспользуйтесь манипулятором инструмента Scale
140 Преобразование объектов и компонентов 3. Щелкните по маркеру оси (кубик на конце каждой оси), по которой требуется изменить размеры объекта или компонента, и, удерживая нажатой левую кнопку мыши, переместите указатель (рис. 5.13). Объект вытянется или сожмется по выбранной оси. Чтобы провести изменение масштаба по всем осям одновременно, переместите желтый кубик, находящийся в центре манипулятора. Можно воспользоваться и другим способом: удерживая нажатой клавишу Shift, щелкните средней кнопкой мыши в любом месте рабочего окна и переместите указатель в направлении, по которому вы хотите масштабировать объект (рис. 5.14). Этим действием вы автоматически выбираете манипулятор соответствующей оси и изменяете размеры объекта.
Перемещение, вращение и масштабирование объектов 141 Вращение объекта или компонента
Рис. 5.14. Чтобы масштабировать цилиндр по оси X, щелкните средней кнопкой мыши в любом месте рабочего окна и переместите указатель вправо, удерживая клавишу Shift
Рис. 5.16. Щелкните по окружности, цвет которой соответствует оси вращения объекта, и перетащите указатель. Поворот в градусах показан с помощью серого сектора
1. Щелчком мыши выделите объект или компонент. 2. Нажмите клавишу e или щелкните по кнопке инструмента Rotate (Вращение) на панели инструментов. На экране появится манипулятор Rotate (рис. 5.15). 3. Щелкните по окружности, цвет которой соответствует оси вращения объекта или компонента, и, удерживая нажатой левую кнопку мыши, переместите указатель в направлении предполагаемого вращения (рис. 5.16). Желтая внешняя окружность позволяет вращать объект одновременно вокруг всех осей, но делать это не рекомендуется, поскольку такое движение трудно контролировать. Чтобы повернуть объект без привязки к какой-либо оси, щелкните в любом месте сферы манипулятора Rotate, затем щелкните по объекту и перетащите указатель мыши. Если ось манипулятора, которую вы хотите использовать, помечена желтым цветом, щелкните средней кнопкой мыши в любом месте рабочего окна и перетащите указатель. Таким образом вы преобразуете объект вокруг этой оси, не прикасаясь более ни к ней, ни к объекту.
Рис. 5.15. Чтобы повернуть поверхность вокруг оси или нескольких осей, используйте манипулятор Rotate
Рис. 5.13. Щелкните по оси манипулятора Scale и перетащите ее, чтобы изменить размеры объекта по какой-либо оси
Светло-синее внешнее кольцо поворачивает объект или компонент вокруг оси, которая всегда перпендикулярна виду камеры (рис. 5.17). Рис. 5.17. Светло-синее внешнее кольцо поворачивает объект или компонент относительно оси, перпендикулярной экрану
142 Преобразование объектов и компонентов
Перемещение, вращение и масштабирование объектов 143
Перемещение, вращение и изменение размеров объекта в окне Channel Box 1. Щелчком мыши выделите объект или компонент. 2. В окне Channel Box (Редактор каналов) щелкните в текстовом поле рядом с названием атрибута, который требуется изменить (рис. 5.18). 3. В выделенном поле введите новое значение. Изменение значения немедленно отразится на объекте (рис. 5.19–5.20). Можно воспользоваться и другим способом: выделите щелчком название атрибута, затем наведите указатель на рабочее окно. Удерживая нажатой среднюю кнопку мыши, перетащите указатель влево или вправо, чтобы интерактивно изменить значение выбранного атрибута (рис. 5.21).
Инструмент Show Manipulator
Рис. 5.19. Положение конуса при нулевом значении атрибута Translate X
Рис. 5.22. Манипулятор инструмента Show Manipulator управляет дополнительным атрибутом операции Revolve, освобождая вас от необходимости заходить в окно Channel Box. В этом примере значение поворота при операции Revolve установлено менее 360° Рис. 5.20. Присвойте атрибуту Translate X значение, равное 3. Конус переместится на три единицы в положительном направлении оси X
Выбор направления источника света с помощью инструмента Show Manipulator
Инструмент Show Manipulator (Показать манипулятор) позволяет получить интерактивный доступ к узлу Input (Входные данные) объекта (он также называется историей создания), чтобы изменить кривую или поверхность. Этот инструмент особенно полезен при работе с поверхностями, которые образуются из кривых, так как манипулятор предоставляет
Рис. 5.18. Щелкните в поле атрибута, который требуется изменить; в данном случае это атрибут Translate X
средства для быстрого изменения атрибутов узла INPUT (рис. 5.22). Более подробно эта тема обсуждается в главе 7 в разделе «Кривые и поверхности NURBS». Кроме того, инструмент Show Manipulator позволяет определить направление источника света или камеры. Если этот инструмент применяется к источнику света, то у него будет не один манипулятор, а два: один для перемещения собственно источника света, а второй – для точки, в которую попадает свет. Это упрощает настройку освещения. Чаще всего у инструмента Show Manipulator два манипулятора. В приведенном выше примере с источником света один манипулятор перемещает основной объект, а второй указывает, куда будет направлен свет. Чтобы создать источник света и выбрать его направление с помощью инструмента Show Manipulator, выполните описанные ниже действия.
1. Выполните команды меню Create Lights Spot Light. 2. На панели инструментов щелкните по кнопке Show Manipulator . Теперь один манипулятор источника света расположен в его основании, а другой – в точке освещения (рис. 5.23).
Рис. 5.21. Чтобы интерактивно изменять значения атрибута, перетащите указатель в любом месте рабочего окна, удерживая нажатой среднюю кнопку мыши
Рис. 5.23. С помощью двух манипуляторов можно более точно управлять теми объектами, которые освещает источник света, и направлением света
Перемещение, вращение и масштабирование объектов 145
144 Преобразование объектов и компонентов 3. Выделите манипулятор в основании источника света (рис. 5.24). 4. Переместите манипулятор вверх по оси Y. Источник света передвигается вместе с манипулятором, но продолжает указывать на точку, отмеченную вторым манипулятором (рис. 5.25). 5. Выделите манипулятор, который находится в центре окружности, создаваемой светом источника. 6. Переместите манипулятор по оси Z. Источник света останется на месте, но направление его лучей изменится (см. рис. 5.26). 7. Щелкните дважды по маленькому светло-синему кольцу, находящемуся рядом с объектом. Манипуляторы превращаются в кольцо, опоясывающее световой конус. Щелкните по этому кольцу, чтобы интерактивно изменять узлы истории создания (рис. 5.27).
Определяет, какой узел истории создания просматривается в данный момент
Изменяет угол конуса
8. Щелкните по кубику, который находится на окружности, очерчивающей конус, в одном из режимов, активированных нажатием на кольцо, и перетащите указатель. При перемещении мыши интерактивно изменится угол раствора конуса (рис. 5.28).
Использование инструмента Lasso selection для выделения набора компонентов Рис. 5.27. Для большинства объектов будет отображаться синее кольцо, с помощью которого можно получить доступ к узлам Input Рис. 5.25. Манипуляторы можно перемещать по одному или вместе, чтобы сохранить дистанцию между источником света и точкой освещения
Источник света перемещается при помощи этого манипулятора
1. Создайте примитив – сферу NURBS. 2. Нажмите клавишу F8. 3. На панели инструментов щелкните по кнопке инструмента Lasso selection (Произвольное выделение) . 4. Перетащите указатель так, чтобы очертить окружность вокруг контрольных то чек, которые вы хотите выбрать (рис. 5.29). 5. Отпустите кнопку мыши. Контрольные точки будут выделены (рис. 5.30).
Рис. 5.28. Угол конуса определяет ширину светового пучка
Направление источника света изменяется при помощи этого манипулятора
Рис. 5.24. Чтобы переместить источник света, передвигайте прикрепленный к нему манипулятор
Рис. 5.26. Чтобы направить свет непосредственно на объект, сгруппируйте манипулятор, определяющий точку попадания лучей, и объект. Источник света всегда будет направлен на этот объект
Рис. 5.30. Верхние контрольные точки выделены, так как они входили в область выделения Рис. 5.29. Окружность, очерченная инструментом Lasso Selection, замкнется после того, как вы отпустите кнопку мыши
Опции копирования 147
146 Преобразование объектов и компонентов
Помимо копирования и зеркального отображения можно создавать экземпляры (ins ta nces ) объектов, которые сохраняют связь с оригиналом (рис. 5.34). Если вы будете редактировать оригинал, все его изменения немедленно отразятся и на экземплярах. Например, чтобы построить множество одинаковых колонн, создайте одну колонну, а затем несколько ее экземпляров, которые и будут остальными колоннами. Если в дальнейшем вы решите изменить вид колонн, достаточно будет переопределить параметры одной, а остальные обновятся автоматически.
Опции копирования Инструменты копирования Maya позволяют моделировать объекты с повторяющейся геометрией, например лестницы. Для построения лестницы необходимо взять всего лишь один вытянутый куб и выполнить копирование, с помощью которого можно создать целую лестницу при минимальном количестве усилий (рис. 5.31). Как для простого, так и для сложного копирования объектов, включающего в себя повороты, перемещения и масштабирования, используется инструмент Duplicate (Копировать). Более того, среди опций Duplicate есть дополнительные функции для зеркального отображения объектов и создания их экземпляров. Объекты можно скопировать вместе с узлами INPUTS (историей создания) или без них – рис. 5.32. (Более подробно об истории создания рассказывается в главе 1.) Следует запомнить, что по умолчанию копирование этих узлов отключено.
Зеркальное отражение объектов и создание экземпляров Помимо перемещения объектов, инструмент Duplicate используется для создания зеркального отражения объекта (обращенной копии оригинала). Зеркальное отражение используется при моделировании симметричных частей тела (глаз, ушей, рук и ног), так как они практически совпадают друг с другом (рис. 5.33). Если вы выполните операцию зеркального отражения одного из подобных объектов, например уха, вы сможете простым нажатием кнопки мыши создать второй объект, точно отраженный относительно первого.
Рис. 5.31. Лестница была построена из двух объектов с помощью одной операции копирования
Рис. 5.34. Экземпляры объекта повторяют изменения, внесенные в оригинал
1. Щелчком мыши выделите объект. 2. В меню Edit щелкните по значку рядом с пунктом Duplicate (рис. 5.35). Откроется окно Duplicate Options (Опции копирования). 3. В поле Number of Copies (Число копий) введите нужное число копий (рис. 5.36). 4. Нажмите кнопку Duplicate. Будет создано указанное вами число копий, и все они будут размещены в одном и том же месте, то есть поверх оригинала.
Рис. 5.32. В узле Input находятся атрибуты сферы, принадлежащие истории создания, которые можно редактировать
Рис. 5.33. Зеркально отразив одну руку, вы сэкономите время на создании второй руки
Копирование объекта
Рис. 5.35. В меню Edit щелкните по значку рядом с пунктом Duplicate, чтобы открыть окно Duplicate Options
Рис. 5.36. В поле Number of Copies введите нужное число копий
Опции копирования 149
148 Преобразование объектов и компонентов Копирование объекта с вращением
Создание простой лестницы
1. Щелчком мыши выделите объект. 2. В меню Edit щелкните по значку рядом с пунктом Duplicate. Откроется окно Duplicate Options. 3. Выберите значение поворота для каждой дополнительной копии и введите это число в поле Rotate той оси, вокруг которой будут повернуты объекты (рис. 5.37). Эти поля соответствуют осям X, Y и Z (слева направо). Если для преобразований вы использовали сферу, то вращение будет заметно только в режиме каркаса. 4. Чтобы скопировать объект, нажмите кнопку Duplicate.
1. В меню Create выберите пункт Poly Primitive Cube (Полигональные примитивы Куб). В начале координат будет создан куб. 2. В окне Channel Box в поле Translate Y введите значение 0,5 и нажмите клавишу Enter (рис. 5.39). Куб переместится вверх таким образом, что его основание окажется на сетке. 3. В окне Channel Box в поле Scale X введите 6 и нажмите клавишу Enter (рис. 5.40). Куб вытянется и превратится в параллелепипед. 4. Нажмите клавишу w или на панели инструментов щелкните по кнопке инструмента Move . 5. Чтобы перейти в режим редактирования центра трансформаций, нажмите клавишу Insert/Home. 6. С помощью манипулятора оси X переместите центр трансформаций таким образом, как показано на рис. 5.41. 7. Чтобы выйти из режима редактирования, еще раз нажмите клавишу Insert/ Home. 8. В меню Edit щелкните по значку рядом с пунктом Duplicate, чтобы открыть окно Duplicate Options.
Рис. 5.39. Переместите куб так, чтобы его нижняя грань оказалась на сетке, указав в поле Translate Y значение 0,5
Рис. 5.37. Введите нужное значение поворота в первом поле атрибута Rotate. Первое поле соответствует вращению вокруг оси X
Точка центра трансформаций
Тот же метод используется для перемеения копий или их масштабирования.
Рис. 5.40. Чтобы увеличить объект в 6 раз по оси X, введите в поле Scale X значение 6
Настройки копирования можно вернуть в первоначальное состояние, выбрав в окне Duplicate Options пункты меню Edit Reset Settings (Правка Сбросить настройки).
Теперь, когда вы имеете общее представление о том, как копировать объекты, давайте перейдем от теории к практике и создадим простую лестницу. Воспользуемся тем же методом, который применялся для создания копии с одним поворотом, и выполним операции Translate, Rotate и Scale одновременно. При создании копии с перемещением необходимо правильно определить центр трансформаций, чтобы объекты вращались вокруг нужной оси (рис. 5.38).
Рис. 5.38. Размещение центра трансформаций определяет конечное местоположение копии
Рис. 5.41. Центр трансформаций определяет точку, вокруг которой будет поворачиваться будущая лестница
Опции копирования 151
150 Преобразование объектов и компонентов 9. Установите параметры инструмента Du p licate следующим образом (см. рис. 5.42): – Translate: 0, 1, 0. Каждая новая копия объекта будет перемещаться на одну единицу вверх по оси Y относительно ранее созданной. Высота ступеньки равна единице, поэтому каждая копия будет находиться точно на предыдущей; – Rotate: 0, 15, 0. Каждая копия будет повернута вокруг оси Y на 15° относительно предыдущей; – Scale: .95, .95, .95. Размер каждой копии будет на 5% меньше размера предыдущей. По мере продвижения вверх размеры ступенек лестницы уменьшаются. 10. В поле Number of Copies введите значение 20. Лестница будет состоять из 21 ступеньки. 11. Щелкните по кнопке Duplicate. Программа создаст заданное вами число копий, которые вы повернули и масштабировали, а затем расположили точно друг над другом (рис. 5.43). Перед тем как копировать объект, нужно проверить параметры инструмента. Если вы не сбросите предыдущие установки, они сохранятся при новом вызове окна. Чтобы вернуться к установкам по умолчанию, откройте окно Duplicate Options и выполните команды меню Edit Reset Settings.
Рис. 5.42. Чтобы создать лестницу, имея в своем распоряжении только одну ступеньку, определите параметры инструмента Duplicate, как показано на рисунке
Рис. 5.43. Если параметры Duplicate определены правильно, то построить лестницу можно одним нажатием кнопки мыши
Перед копированием переместите центр трансформаций на некоторое расстояние от левой грани объекта по оси X, чтобы освободить место для лестничного пролета (рис. 5.44).
Рис. 5.44. Переместите центр трансформаций, чтобы освободить место для лестничного пролета
Рис. 5.45. Вы можете создать половину лица, а затем зеркально отобразить ее, чтобы получить лицо целиком
Рис. 5.46. Совмещая создание экземпляра и зеркальное отражение, можно изменять обе части лица, работая только с одной половиной
Рис. 5.47. Идеальными объектами для зеркального отражения являются симметричные части тела. Положение центра трансформаций на сцене определяет, как далеко друг от друга будут находиться зеркальные объекты
Зеркальное отражение объекта создает его обращенную копию. При помощи этого метода художники моделируют лицо персонажа: сначала рисуется его половина, которая затем отражается относительно оси1 (рис. 5.45). Ось при зеркальном отражении исходит из центра трансформаций. Это означает, что чем больше расстояние между объектом и центром трансформаций, тем больше будет расстояние между оригиналом и его зеркальной копией. Данная команда часто используется совместно с командой создания экземпляра. Таким образом, художник сможет продолжать работу с начальной половиной лица, а изменения будут вноситься в обе части (рис. 5.46). Более подробно на создании экземпляров мы остановимся после выполнения следующей задачи. Команда создания экземпляров также используется для размещения объектов на одинаковом расстоянии от какой-либо оси, что позволяет моделировать точно расположенные зеркальные копии (рис. 5.47). В следующем примере мы будем использовать команду зеркального отражения применительно к сфере, чтобы в итоге создать глаза персонажа.
1
В случае зеркального отражения корректнее говорить не об оси, а о плоскости, относительно которой отражается объект. Автор имеет в виду ось, которая лежит в плоскости зеркального отражения. – Прим. науч. ред.
Опции копирования 153
152 Преобразование объектов и компонентов
Создание экземпляров объектов позволяет значительно сэкономить время как при моделировании, так и при визуализации. Объект-экземпляр будет повторять все изменения исходного объекта, поэтому с помощью данной функции очень удобно создавать экземпляры объекта, у которого должны быть внешне идентичные копии в другом месте сцены (рис. 5.51). Как уже говорилось, экземпляр копирует все изменения объекта, однако его можно масштабировать, поворачивать и перемещать независимо от оригинала.
Зеркальное отражение объекта 1. В меню Create выберите пункты NURBS Primitive Sphere (Примитивы NURBS Сфера) или выделите объект, который нужно зеркально отразить. 2. В окне Channel Box в поле Translate X введите –2 (рис. 5.48). Объект переместится на две единицы в отрицательном направлении по оси X. 3. Нажмите клавишу w или на панели инструментов щелкните по кнопке инструмента Move . 4. Чтобы перейти в режим редактирования центра трансформаций, нажмите клавишу Insert/Home. 5. Удерживая нажатой клавишу x, переместите точку центра трансформаций в начало координат (рис. 5.49). Клавиша x привязывает преобразования объекта к сетке. Это гарантирует, что центр трансформаций переместится точно в начало координат. 6. Чтобы выйти из режима редактирования, снова нажмите клавишу Insert/Home. 7. В меню Edit щелкните по значку рядом с пунктом Duplicate. Откроется окно Duplicate Options. 8. В окне Duplicate Options в меню выберите пункты Edit Reset Settings (Редактирование Сбросить установки), чтобы сбросить старые установки, а затем введите в поле Scale X значение –1. 9. Щелкните по кнопке Duplicate. Зеркальная копия помещена на таком же расстоянии от центра трансформаций, что и исходный объект (рис. 5.50).
Рис. 5.48. В окне Channel Box в поле Translate X введите –2, чтобы переместить объект на две единицы в отрицательном направлении по оси X
Рис. 5.51. Чтобы упростить редактирование, были созданы экземпляры нефтяных баков. Затем экземпляры повернули под разными углами, чтобы скрыть их идентичность
Рис. 5.49. Чтобы расстояние от копии до начала координат было равно расстоянию от исходного объекта до центра трансформаций, переместите ее в начало координат
Рис. 5.52. Введите в поле Translate X (поле слева) значение 2
Рис. 5.50. Зеркальная копия помещена на таком же расстоянии от начала координат, что и исходный объект
Рис. 5.53. Выбрав в поле Geometry Type переключатель Copy, вы просто скопируете объект. Выбор опции Instance позволяет создать дополнительную связь с начальным объектом
Создание экземпляра объекта 1. Щелчком мыши выделите объект. 2. В меню Edit щелкните по значку рядом с пунктом Duplicate. Откроется окно Duplicate Options. 3. В поле Translate X введите 2, а в остальные поля Translate и Rotate – 0 (рис. 5.52). В данном примере совместно с командой создания экземпляра используется перемещение, чтобы копии не накладывались на оригинал. 4. В поле Geometry Type (Тип геометрии) выберите переключатель Instance (Экземпляр) – рис. 5.53. 5. Щелкните по кнопке Duplicate. Копия объекта представляет собой экземпляр (или виртуальную копию) оригинала. 6. Выделите один из объектов и нажмите клавишу F8, чтобы перейти в режим выбора компонентов.
Опции копирования 155
154 Преобразование объектов и компонентов 7. Чтобы выделить нужные компоненты объекта, захватите в рамку его верхнюю треть (рис. 5.54). 8. Нажмите клавишу w и переместите компоненты в любом направлении. Заметьте, что другой объект повторит перемещение выделенной поверхности (рис. 5.55).
Копирование объекта с историей создания
Нельзя изменять компоненты экземпляра независимо от объекта-оригинала.
Часто при копировании объекта требуется, чтобы дублировалась также история его создания. Поставьте флажок Duplicate Input Connections (Скопировать входящие соединения) в окне Duplicate Options, и объекты будут иметь общий узел Input. Это позволяет изменять как оригинал, так и его копии при переопределении атрибутов этого узла.
Рис. 5.56. В узле Input сферы содержится история ее создания, которую можно редактировать
Рис. 5.54. Захватите в рамку верхнюю треть объекта, чтобы выделить нужные контрольные точки
Рис. 5.55. Другой объект повторит перемещение выделенной поверхности, но в противоположном направлении, как зеркальное отражение
Рис. 5.57. Чтобы скопировать входящие соединения в новый объект, отметьте галочкой флажок Duplicate Input Connections в окне Duplicate Options
Рис. 5.58. Определите с помощью ползунка Number of Copies, сколько копий объекта будет создано
1. Выделите объект с узлом Input, например сферу (рис. 5.56). 2. В меню Edit щелкните по значку рядом с пунктом Duplicate. Откроется окно Duplicate Options. 3. Отметьте флажок Duplicate Input Connections (Скопировать входящие соединения) – рис. 5.57. Этим действием вы соедините скопированный объект с узлом Input оригинала. Таким образом, при модификации узла Input оригинального объекта будут изменяться и его копии. 4. В поле Number of Copies введите нужное число копий (рис. 5.58).
Опции копирования 157
156 Преобразование объектов и компонентов 5. Нажмите кнопку Duplicate. Создана копия объекта, к которой прикреплены узлы истории создания исходного объекта (рис. 5.59). Новый объект располагается непосредственно на оригинале. 6. Выберите инструмент Move и переместите скопированный объект на некоторое расстояние от оригинала. 7. В окне Channel Box выделите атрибут End Sweep (Конечная точка развертки) и перетащите указатель в рабочем окне, удерживая нажатой среднюю кнопку мыши. Вы увидите, что атрибут End Sweep одновременно изменяется в обоих объектах.
Для несложных операций копирования обычный инструмент Duplication слишком громоздок, так как содержит множество опций, которые надо настраивать или сбрасывать даже для обычного копирования. Если вы хотите создать копию и переместить ее по оси или просто скопировать объект два или три раза, вам будет более полезен инструмент Duplicate with Transform (Копировать с преобразованием).
Копирование объекта с простым перемещением
Рис. 5.60 Выполните команды меню Edit Duplicate with Transform
Рис. 5.61. Переместите копию сферы на такое расстояние, которое должно сохраняться между последующими копиями
Рис. 5.59. Скопировав объект с сохранением узла Input, можно продолжать изменять поверхности
Рис. 5.62. Скопируйте объект еще раз
1. Создайте сферу. 2. В меню Edit выберите пункт Duplicate with Transform (Копировать с преобразованием) – рис. 5.60. 3. Переместите скопированную сферу на несколько единиц по оси Z (рис. 5.61). 4. В меню Edit выберите пункт Duplicate with Transform. Расстояние от новой сферы до второй равно расстоянию от второй сферы до начальной (рис. 5.62). 5. Нажмите клавиши Shift+d. Будет создана еще одна копия, расстояние от которой до предыдущей равно расстоянию между копией и оригиналом (рис. 5.63).
Рис. 5.63. Каждая новая копия перемещается вдоль оси X на то же расстояние, что и начальная копия относительно оригинала
Плавное изменение объектов 159
158 Преобразование объектов и компонентов
Плавное изменение объекта
Плавное изменение объектов Инструмент Soft Modification (Плавное изменение) добавляет возможность растягивать и сжимать поверхности наподобие пластилина (рис. 5.64). Вы можете использовать данный инструмент как для моделирования, так и для анимации, поскольку его параметры привязаны к ключевым кадрам при условии, что история создания включена (см. главу 1 для подробного описания истории создания). Использование данного инструмента варьируется от наложения бородавок на нос и создания крутых холмов до анимации выпуклых мускулов на руке супергероя (рис. 5.65). В принципе, инструмент Soft Modification работает за счет плавного сведения на нет эффекта движущихся точек на поверхностях таким образом, что они смешиваются. Это особенно полезно, когда вы работаете с насыщенными поверхностями: без инструмента Soft Modification было бы гораздо труднее передвигать огромное количество отдельных компонентов для создания эффекта плавного перехода. Как и другие инструменты перемещений, можно активизировать Soft Modification, а затем выбрать область на объекте, которую хотите подвергнуть плавному изменению. Или же, если вы прежде выбрали объект, а затем инструмент Soft Modification, эффект будет автоматически применен к центру объекта. Данный эффект всегда можно передвинуть на нужную вам область при условии сохранения истории создания.
Инструмент Soft Modification
Рис. 5.64. Выберите инструмент Soft Modification на панели инструментов
Рис. 5.66. В редакторе каналов увеличьте высоту и ширину разделения для создания насыщенной полигональной плоскости
1. Создайте примитив полигональной поверхности с высотой и шириной разделения 100 и масштабом в 20 раз превышающим ее исходный размер (рис. 5.66). Для получения более подробной информации по созданию полигональных примитивов см. главу 3. 2. Щелчком мыши выберите инструмент на панели инструSoft Modification ментов. 3. Щелчком мыши выберите область на объекте, которую хотите подвергнуть плавному изменению. Узловая точка softMod добавляется к поверхности, и ее манипулятор становится активным (рис. 5.67). 4. Выберите ось перемещения Y манипулятора и мышью переместите ее вверх (рис. 5.68). 5. Щелчком мыши выберите Cycling Index (Циклический указатель) для отображения манипулятора Falloff (рис. 5.69).
Рис. 5.67. Добавьте точку softMod на поверхность
Циклический указатель
Рис. 5.65. Бородавки, холмы и мускулы – всего лишь несколько примеров того, что можно создать с помощью плавной модификации
Рис. 5.68. Потяните ось Y манипулятора softMod
Рис. 5.69. Cycling Index – круг с линией, проходящей сквозь него под манипулятором softMod. Щелчком мыши по указателю Cycling Index включите манипулятор Falloff
Плавное изменение объектов 161
160 Преобразование объектов и компонентов 6. Щелчком мыши передвиньте красный круг, окружающий манипулятор Falloff, для увеличения или уменьшения области затухания (рис. 5.70). 7. Нажмите клавишу w и с помощью инструмента Move щелчком мыши передвиньте пиктограмму S на манипуляторе Falloff (рис. 5.71). 8. Нажмите сочетание клавиш Ctrl/Control + a, чтобы открыть редактор атрибутов для плавного изменения (рис. 5.72).
Рис. 5.73. Щелкните мышью по диаграмме в рвзделе Falloff…
Рис. 5.74. …для создания точек редактирования
Рис. 5.71. С помощью инструмента Move щелчком мыши передвиньте манипулятор Falloff
9. В разделе Falloff Curve редактора атрибутов (рис. 5.73) щелкните мышью по наклонной плоскости для создания новой точки редактирования (рис. 5.74). 10.Удерживая мышью точку редактирования, перетащите ее в желаемое положение или Щелкните мышью по квадрату с перекрестием для удаления точки редактирования (рис. 5.75). 11. Добавьте две точки редактирования, расположив их, как показано на рис. 5.75. Результат редактирования изгиба Falloff Curve можно посмотреть на поверхности softMod, которую вы создали. Прежде чем выбирать инструмент Soft Modification на панели инструментов, убедитесь что на экране нет выделенных объектов. Если выделен какой-либо из объектов, к нему будет добавлена узловая точка softMod при выборе инструмента.
Рис. 5.75. У softMod плавная, волнообразная поверхност
Если вы отменили выбор манипулятора Falloff можете щелкнуть мышью по пиктограмме S над поверхностью, а затем нажать клавишу t, чтобы заново ее активизировать (рис. 5.75). Плавное изменение может применяться как к выбранным элементам, так и к целому объекту.
Рис. 5.70. Щелчком мыши перетащите красный круг, окружающий манипулятор Falloff, для настройки области затухания Рис. 5.72. Настройте изгиб Falloff в редакторе атрибутов softMod
Группирование, наследование и выравнивание 163
Группирование, наследование и выравнивание
Наследование можно назвать дальним родственником группирования. Разница между этими двумя функциями сводится к следующему: наследование (рис. 6.1) вынуждает один объект повторять все движения другого (рис. 6.2), а объекты в группе могут действовать как независимо, так и как единое целое. В этой главе рассматриваются различия между наследованием и группированием. Выравнивание объектов, поверхностей и кривых может оказаться сложной задачей, если вы пытаетесь выполнить его на глаз. В Maya есть специальные инструменты, которые позволяют без труда выравнивать любые объекты. Среди них можно назвать новые инструменты Align (Выровнять) и Snap Together (Связать друг с другом).
6
Группирование (grouping), наследование (parenting) и выравнивание (aligning) позволяют устанавливать определенные отношения между объектами, с помощью которых можно управлять моделями. Чтобы переместить по сцене ряд объектов одновременно, необходимо сгруппировать их. В этом случае они будут перемещаться как одно целое, что значительно экономит время, затрачиваемое на выделение, и способствует сохранению определенного расстояния между объектами.
Рис. 6.2. При перемещении сустава-родителя таким же образом передвигаются его дочерние суставы
Рис. 6.1. Так в окне Hypergraph выглядят поверхности, связанные друг с другом отношениями наследования
Группирование и наследование 165
164 Группирование, наследование и выравнивание
Группирование и наследование
Группирование двух или нескольких объектов
Группирование двух или нескольких объектов связывает их дополнительным узлом, который называется group# – рис. 6.3. С его помощью можно одновременно изменять атрибуты двух объектов, например, синхронно перемещать их (вместо знака # в названии group# указывается номер узла группы). Даже если объекты сгруппированы, вы можете выбрать один объект и переместить его или произвести какое-либо действие, не затрагивая другие объекты группы. А если вы выделите узел группы, ваши действия будут влиять на все сгруппированные объекты так, как если бы они были единым целым (рис. 6.4). Наследованные объекты реагируют на преобразования не совсем так, как сгруппированные. Между наследованными объектами устанавливаются отношения предокпотомок. Когда ребенок держит за руку родителя, он должен идти за родителем, куда бы тот ни направился (по крайней мере, теоретически). Это утверждение верно и для трехмерной графики: объект-потомок, связанный отношением наследования с объектом-предком, должен всегда следовать за ним (рис. 6.5). При наследовании объектов дополнительного узла не создается. Какой объект будет предком, а какой потомком, программа определяет на основе очередности, в которой вы выделяете объекты.
1. Выделите две или более поверхности, захватив их в рамку с помощью инструмента выделения (рис. 6.6), или щелкните по нескольким объектам, удерживая нажатой клавишу Shift. 2. В меню Edit выберите пункт Group (рис. 6.7). Объекты сгруппированы, и создан дополнительный узел. 3. В меню Window выберите пункт Hypergraph (Гиперграф). Редактор откроется в новом окне. 4. Нажмите клавишу f, чтобы масштабировать вид в окне Hypergraph по выделенной области. Теперь узлов на один больше, чем объектов. Добавился узел группы с именем group1 (рис. 6.8).
Рис. 6.3. Верхний узел используется для изменения значений атрибутов, присущих всей группе, при этом текущие значения специфических атрибутов отдельных объектов не изменяются
Рис. 6.6. Чтобы выделить несколько поверхностей, достаточно захватить рамкой лишь часть нужной поверхности
Чтобы синхронно перемещать сгруппированные объекты, выделите узел группы и переведите инструмент Pick mask в режим иерархии. А если необходимо переместить поверхность отдельно от группы, выделите узел поверхности и переведите инструмент Pick mask в режим выделения объектов. Рис. 6.4. При повороте корневого узла все поверхности, входящие в группу, синхронно поворачиваются вокруг одного центра трансформаций
Рис. 6.5. Сфера слева является потомком сферы справа. Когда перемещается правая сфера, перемещается и левая
Рис. 6.7. Чтобы сгруппировать объекты, выполните команду меню Edit Group
Рис. 6.8. Верхний узел создается одновременно с группой. Он используется для управления узлами, находящимися под ним
Группирование и наследование 167
166 Группирование, наследование и выравнивание Разгруппирование объекта 1. В окне Hypergraph выделите узел группы (рис. 6.9). 2. В меню Edit выберите пункт Ungroup (Разгруппировать) – рис. 6.10. Объекты разгруппированы, а узел группы удален.
Рис. 6.9. По умолчанию имя узла группы – group#, где вместо знака # указывается порядковый номер группы
Когда объекты сгруппированы, их можно перемещать, поворачивать или масштабировать так, как если бы они были единым объектом. Узел группы в данном случае выполняет роль дополнительного центра трансформаций, который будет использоваться при вращении или масш табировании объектов. Когда объекты сгруппированы, центр трансформаций узла группы совпадает с началом координат. В дальнейшем эту точку можно переместить в любое место сцены, определив таким образом центр поворота или масштабирования.
Рис. 6.11. Центр трансформаций узла группы является центральной точкой для всей группы
4. Переместите центр трансформаций в то место сцены, вокруг которого вы будете вращать группу или относительно которого вы хотите ее масштабировать (рис. 6.11). Этот шаг можно пропустить, если требуется просто переместить группу. 5. Чтобы выйти из режима редактирования, нажмите клавишу Insert/Home. 6. Выполните перемещение, вращение или масштабирование группы. Для этого выберите нужную ось манипулятора (рис. 6.12) и перетащите указатель при помощи средней кнопки мыши влево или вправо по рабочему окну, чтобы изменить значение атрибутов по соответствующим осям. Чтобы переместить центр трансформаций в центр выделенной группы, выполните команды меню Modify Center Pivot (Изменить Центрировать центр трансформаций) – рис. 6.13.
Перемещение, поворот и масштабирование группы 1. В окне Hypergraph выделите узел группы или щелкните по одному из объектов группы, установив инструмент Pick mask в режим иерархии . 2. На панели инструментов выберите инструмент Rotate, Scale или Move или воспользуйтесь соответствующими «горячими» клавишами. 3. Чтобы перейти в режим редактирования центра трансформаций, нажмите клавишу Insert/Home.
Рис. 6.10. Чтобы разгруппировать объекты, выберите пункты меню Edit Ungroup Рис. 6.12. Группу можно перемещать, вращать или масштабировать как отдельный объект
Рис. 6.13. Команда Modify Center Pivot используется для быстрого переноса центра трансформаций группы в ее геометрическую середину
Группирование и наследование 169
168 Группирование, наследование и выравнивание
ладони. Всякий раз, когда двигается верхняя часть руки, все потомки, которые находятся под ней, также двигаются, имитируя движение всей руки (рис. 6.15). Взаимодействие частей скелета называется иерархией (рис. 6.16). Иерархия определяет, какой объект управляет другими. Порядок иерархии важен как при выделении, так и при перемещении объектов. Большое значение имеет порядок, в котором вы выделяете объекты, связывая их отношением наследования. Второй выделенный объект становится предком первого. После наследования потомок будет повторять движения предка.
Перемещение объекта, входящего в группу 1. Переведите инструмент Pick mask в режим выделения объектов и выделите объект, который требуется переместить. 2. На панели инструментов щелкните по кнопке инструмента Move или нажмите клавишу w. 3. Переместите объект. Для этого выберите любую ось манипулятора инструмента Move и перетащите указатель влево или вправо по рабочему окну при помощи средней кнопки мыши, чтобы изменить значение атрибута по соответствующей оси. Выделенный объект перемещается, а другие объекты группы остаются на месте (рис. 6.14).
Рис. 6.14. Сгруппированные объекты можно редактировать отдельно друг от друга, выделив только нужный объект
Рис. 6.16. Иерархия образуется наследованием одной кости другой
1. Щелчком мыши выделите объект, который будет потомком. 2. Щелчком мыши выделите объект, который будет предком, удерживая нажатой клавишу Shift (рис. 6.17). 3. В меню Edit выберите пункт Parent (Наследовать) или нажмите клавишу p. Второй выделенный объект становится предком первого (рис. 6.18).
Вы можете выполнить те же действия, чтобы повернуть или масштабировать объект группы, не затрагивая остальные сгруппированные объекты. Если вы выбрали объект, входящий в группу, нажмите клавишу управления курсором, чтобы подняться вверх по иерархии и выделить узел группы.
В качестве примера трехмерного наследования рассмотрим скелет двуногого существа. Начнем с руки. Она начинается в лопатке и идет вниз, соединяя плечо с верхней частью руки, далее с нижней частью, затем с запястьем, с ладонью и пальцами. Создается взаимосвязь, которая вынуждает пальцы следовать за остальной частью руки. Такое отношение называется отношением предок-потомок. В данном случае предок – верхняя часть руки, а ее потомок – нижняя часть, которая является предком запястья, а оно, в свою очередь, – предком
Создание отношения предок-потомок
Рис. 6.17. Чтобы выделить несколько объектов, щелкните по ним, удерживая нажатой клавишу Shift
Когда объекты связываются отношением предок-потомок, корневого узла не создается, поэтому при управлении всей иерархией в качестве центральной точки используется центр трансформаций предка. Если выделено несколько объектов, все они становятся потомками последнего выделенного объекта.
Рис. 6.15. Пальцы – потомки ладони, а она – потомок нижней части руки. Если двигается нижняя часть руки, все суставы и поверхности, находящиеся ниже сустава-предка, повторяют ее движения
Рис. 6.18. Куб является предком цилиндра. В окне Hypergraph это показано с помощью соединительной линии
Чтобы связать два объекта отношением предок-потомок, перетащите указатель мыши с помощью средней кнопки с потомка на родителя в окнах Hypergraph или Outliner.
Выравнивание и привязка объектов 171
170 Группирование, наследование и выравнивание Разрыв отношения предок-потомок 1. Выделите каждый элемент-потомок, который требуется отсоединить от предка, щелкнув по первому потомку, а затем нажав клавишу Shift и щелкнув по другим потомкам в окне Hypergraph или в рабочем окне, используя режим выделения объектов Pick mask. 2. Чтобы отсоединить потомка, в меню Edit выберите пункт Unparent или нажмите клавиши Shift+p (рис. 6.19). Объект исключается из иерархии и существует отдельно. Вы можете исключить выделенный объект из иерархии в окнах Hypergraph или Outliner и отсоединить его от остальной части иерархии с помощью средней кнопки мыши.
Рис. 6.19. Чтобы разделить несколько наследованных поверхностей, выберите пункты меню Edit Unparent
Выравнивание и привязка объектов В реальном мире объекты соприкасаются и формируют другие объекты. Комната, например, образована несколькими примыкающими друг к другу стенами. Чтобы с необходимой точностью выстроить объекты и компоненты, можно воспользоваться инструментами выравнивания Maya (рис. 6.20). С их помощью вы сэкономите время, которое ушло бы на выравнивание объектов на глаз и выяснение, касаются ли объекты друг друга на самом деле. Инструменты выравнивания в Maya включают в себя инструменты Snap Align (Выравнивающая привязка) и Snap Together (Совместная привязка)1. Инструментом 1
В английском языке есть два термина Maya, которые на русский переводятся как «привязка». Первый – Snap, который рассматривается ниже, второй – Bind, описанный в 10 главе. – Прим. науч. ред.
Рис. 6.21. Графические элементы используются в качестве ярлыков для выполнения различных команд выравнивания
Snap Align очень просто управлять, поскольку он целиком состоит из значков (рис. 6.21). А значит, нет никакого окна Options, в которое надо было бы заходить и устанавливать настройки. Инструмент Snap Align содержит множество опций выравнивания (например, выравнивание одного объекта по центру, верхней или нижней части другого производится простым нажатием на соответствующий значок). Инструмент Snap Together еще больше расширяет воз можности этой операции, позволяя вращать и перемещать объект во время выравнивания (рис. 6.22). Привязки (snaps) – это сокращенные команды выравнивания, позволяющие быстро выровнять объекты или компоненты по линиям сетки, кривым, точкам или плоскостям вида. На рис. 6.23 представлено перемещение выделенного объекта на определенную линию сетки. Привязку можно использовать, чтобы убедиться, что компоненты кривых и поверхности на самом деле пересекаются с другими кривыми и поверхностями. Выполнение многих команд Maya требует, чтобы кривые
Рис. 6.20. Вы можете выровнять точку одной поверхности с точкой другой поверхности. На рисунке выровнены две выделенные точки. Они находятся внутри квадрата Рис. 6.22. При вызове инструмента выравнивания на экране появляются стрелки, которые показывают, как команда выравнивания подействует на поверхности после нажатия клавиши Enter, завершающей выполнение команды
Рис. 6.23. С помощью привязки поверхности выравниваются вдоль линий сетки, кривых и точек
Выравнивание и привязка объектов 173
172 Группирование, наследование и выравнивание
и/или поверхности действительно соприкасались друг с другом, иначе команда будет работать неправильно. Лучший способ убедиться, что выделенная точка касается нужной кривой, – выделить точку и с помощью привязки к кривой переместить ее на кривую. Привязка также помогает отобразить в окне проекции выделенные поверхности, которые находятся вне поля зрения. Для этого следует привязать выделенный объект к линии сетки или кривой, которая видна на экране.
Привязка объекта к сетке
Четыре вида привязки Рассмотрим четыре вида привязки Maya (рис. 6.24):
Snap to Grids (Привязка к сеткам) (клавиша x). Привязывает контрольную вершину, центр трансформаций или вершину полигона к пересечению линий сетки. Если сначала включить эту опцию, а потом нарисовать кривую, контрольные точки будут привязаны к пересечениям сетки (рис. 6.23); Snap to Curves (Привязка к кривым) (клавиша c). Привязывает контрольную вершину, центр трансформаций или вершину полигона к отдельной кривой или кривой поверхности (рис. 6.25); Snap to Points (Привязка к точкам) (клавиша v). Привязывает контрольную вершину, центр трансформаций или вершину полигона к другой точке (рис. 6.26);
Snap to View Planes (Привязка к плоскостям вида) . Привязывает контрольную вершину, центр трансформаций или вершину полигона к плоскости вида (рис. 6.27).
Рис. 6.25. Привязка Snap to Curves выравнивает поверхность по кривой
Рис. 6.27. Чтобы привязать поверхность к оси плоскости, воспользуйтесь привязкой Snap to View Plane
Рис. 6.28. Центральная точка поверхности используется для того, чтобы осуществлять привязку от одной линии сетки к другой Рис. 6.24. Четыре вида привязки, слева направо: Grid, Curve, Points и View Planes Рис. 6.26. Две конечные точки кривой соединены с помощью привязки Snap to Points
1. Выделите объект. 2. Выберите инструмент Move. 3. Удерживая нажатой клавишу x, средней кнопкой мыши перетащите указатель вдоль сетки, к которой требуется привязать объект (рис. 6.28); или В строке состояния нажмите кнопку и средней кнопкой мыши перетащите указатель вдоль сетки в место предполагаемой привязки объекта. Центр трансформаций объекта будет привязан к пересечению линий сетки в том месте, где вы нажали среднюю кнопку мыши. 4. Чтобы закрепить привязку, отпустите кнопку мыши.
Выравнивание и привязка объектов 175
174 Группирование, наследование и выравнивание Привязка объекта к кривой 1. Выделите объект. 2. Выберите инструмент Move. 3. Удерживая нажатой клавишу c, средней кнопкой мыши перетащите указатель на кривую, к которой нужно привязать объект (рис. 6.29); или В строке состояния нажмите кнопку и средней кнопкой мыши перетащите указатель вдоль кривой в место предполагаемой привязки объекта. Центр трансформаций объекта будет располагаться в той точке кривой, где вы нажали на среднюю кнопку мыши. 4. Чтобы закрепить привязку, отпустите кнопку мыши.
Привязка точки одной поверхности к точке другой
Рис. 6.31. Отделите две элементарные плоскости так, чтобы было проще увидеть результаты привязки
Рис. 6.29. Центральная точка конуса будет скользить по кривой, пока вы не отпустите кнопку мыши
Привязка объекта к плоскости вида 1. Выделите объект. 2. Выберите инструмент Move. 3. В строке состояния нажмите кнопку и с помощью средней кнопки мыши перетащите указатель по плоскости вида в место предполагаемой привязки объекта. Центр трансформаций объекта привязывается к плоскости вида в той точке, где вы нажали на среднюю кнопку мыши. 4. Чтобы закрепить привязку, отпустите кнопку мыши (рис. 6.30).
Рис. 6.32. Выделите точку, которую вы хотите привязать
1. Создайте две плоскости NURBS (см. рис. 6.31). 2. Выделите обе плоскости и нажмите клавишу F8. 3. Выделите угловую контрольную вершину на одной из плоскостей (рис. 6.32). 4. Выберите инструмент Move. 5. Удерживая нажатой клавишу v, щелкните средней кнопкой мыши по второй плоскости рядом с контрольной вершиной и перетащите указатель в место предполагаемой привязки объекта; или В строке состояния нажмите кнопку и с помощью средней кнопки мыши перетащите указатель к той контрольной точке второй кривой, к которой хотите привязать объект. Центр трансформаций контрольной вершины будет привязан к контрольной вершине второй плоскости, ближайшей к точке, в которой вы щелкнули средней кнопкой мыши (рис. 6.33). При привязке можно пользоваться и левой кнопкой мыши, однако, применяя среднюю кнопку, вы исключаете возможность случайного выделения ненужных объектов. В этом примере было показано, как привязывать точки к кривой, однако таким же способом можно привязать точку одного объекта к точке другого, например, к любой точке кривой или поверхности того же объекта или другого.
Рис. 6.30. Центр трансформаций объекта будет привязан к плоскости вида в том месте, где вы нажали на среднюю кнопку мыши Рис. 6.33. Любую выделенную точку можно привязать к любой редактирующей точке или контрольной вершине
Выравнивание и привязка объектов 177
176 Группирование, наследование и выравнивание
Инструменты группы Snap Align Инструменты группы Snap Align (Выравнивающая привязка) – это набор средств выравнивания, который используется для размещения множественных объектов. Выравнивание занимает весьма важное место в мире трехмерного моделирования; вам может казаться, что в виде Perspective объект выровнен, однако при рассмотрении объекта в ортогональных проекциях вы заметите ошибку (рис. 6.34). Это происходит из-за того, что камера в ортогональных видах направлена под прямым
углом сбоку, сверху и справа, а вид Perspective можно просматривать под любым углом, что часто дает не совсем точное представление о сцене. В группу Snap Alignment входят инструменты Point-to-Point Snaps (Привязка точки к точке), Snap Align Objects (Выравнивающая привязка объектов), Snap Align (Выравнивающая привязка) и Snap Together (Совместная привязка). Многие инструменты выравнивания похожи; вскоре вы научитесь определять, какой из них больше подходит в каждом конкретном случае.
Выравнивание нескольких объектов инструментом Align Objects
Рис. 6.35. Создайте два цилиндра разных размеров, чтобы лучше проиллюстрировать результат выравнивания
Рис. 6.36. С помощью опции Min поверхности выравниваются по минимальной из двух величин Y
Рис. 6.37. Основания цилиндров теперь располагаются на одной линии сетки Рис. 6.34. В окне Perspective кажется, что конус центрирован на плоскости, однако рассмотрение ортогональных видов сцены позволяет обнаружить ошибку
1. Создайте на некотором расстоянии друг от друга два цилиндра (пусть по оси Y высота одного будет больше) – рис. 6.35. 2. Выделите цилиндры. 3. В меню Modify щелкните по значку рядом с пунктом Snap Align Objects Align Objects . Откроется окно Align Objects Options (Настройки привязки объектов). 4. В разделе Align Mode (Режим выравнивания) выберите пиктограмму Min и отметьте в опциях Align in флажок World Y (в World X и Z снимите отметку) – рис. 6.36. Таким образом вы определите выравнивание по оси Y. 5. Нажмите кнопку Apply. Один цилиндр переместится вверх по оси Y, а другой вниз, а их основания выровняются (рис. 6.37). 6. В открытом окне Align Objects Options выберите пиктограмму Mid в разделе Align Mode и в опциях Align in отметьте флажок World Y (в World X и Z снимите галочку).
Выравнивание и привязка объектов 179
178 Группирование, наследование и выравнивание
Выравнивание нескольких объектов инструментом Align Tool
7. Нажмите кнопку Align. Один цилиндр переместится вверх по оси Y, а другой вниз, а их центры выровняются (рис. 6.38).
Равномерное распределение нескольких объектов вдоль оси инструментом Align Objects 1. Создайте цилиндр. 2. Скопируйте цилиндр четыре раза. 3. Переместите один цилиндр на десять единиц вверх по оси Y (рис. 6.39). 4. Выделите все цилиндры. 5. В меню Modify щелкните по значку рядом с пунктом Snap Align Objects Align Objects. Откроется окно Align Objects Options. 6. В разделе Align Mode выберите пиктограмму Dist и в опциях Align in отметьте флажок World Y (в World X и Z снимите отметку) – рис. 6.40. Таким образом вы указываете, что распределение будет производиться по оси Y. 7. Нажмите кнопку Apply. Каждый цилиндр перемещается вверх по оси Y, пока все они равномерно не распределятся между двумя цилиндрами, разделенными наибольшим расстоянием (рис. 6.41).
Рис. 6.39. Теперь имеет значение положение только двух поверхностей, которые находятся дальше всего друг от друга, так как остальные объекты равномерно распределятся между ними
Рис. 6.42. Важен порядок выделения объектов, так как выравнивание происходит по последнему выделенному объекту
Рис. 6.40. Опция Dist используется для равномерного распределения выделенных объектов по выбранным осям
1. Создайте пять цилиндров и разместите их случайным образом на некотором расстоянии друг от друга (рис. 6.42). 2. Щелчком мыши выделите один цилиндр, а затем нажмите клавишу Shift и выделите друг за другом все остальные цилиндры. 3. В меню Modify щелкните по значку рядом с пунктом Snap Align Objects Align Tool. Выделенные цилиндры будут заключены в серый параллелепипед. На его ребрах располагаются значки-манипуляторы, которые используются для выравнивания объектов (рис. 6.43). 4. На параллелепипеде, окружающем объекты, щелкните по значку , чтобы выровнять цилиндры (рис. 6.44). 5. Чтобы отменить выравнивание, нажмите клавишу z, затем щелкните по другому значку, чтобы посмотреть в действии еще один способ выравнивания. 6. Повторяйте предыдущий шаг до тех пор, пока вы не освоите все функции выравнивания.
Рис. 6.43. Серый параллелепипед, ограничивающий объекты, нужен лишь для наглядности. Чтобы запустить функцию выравнивания, щелкните по соответствующему значку
Рис. 6.38. Две поверхности выровнены по центрам
Рис. 6.41. Цилиндры точно распределены вдоль оси Y
Рис. 6.44. Заметьте, что на каждом значке изображено, по какой стороне или центру будут выравниваться объекты
Выравнивание и привязка объектов 181
180 Группирование, наследование и выравнивание Объекты выравниваются по последнему выделенному объекту, который окрашен в зеленый цвет.
Выравнивание одной точки по другой с помощью инструмента Point-to-Point Snap Align 1. Создайте цилиндр и конус. 2. Выделите объекты и нажмите клавишу F8. 3. Выделите одну контрольную вершину на цилиндре, затем нажмите клавишу Shift и выделите вторую контрольную вершину на конусе (рис. 6.45). 4. В меню Modify щелкните по значку рядом с пунктом Snap Align Objects Point to Point. Цилиндр перемещается и выравнивается с конусом. Две выделенные точки точно совмещены (см. рис. 6.46).
Рис. 6.45. Вы можете выделить любую редактирующую точку или контрольную вершину, которую нужно выровнять с любой редактирующей точкой или контрольной вершиной другой поверхности
Чтобы выровнять только точки, а не весь объект, вместо инструмента Point-to-Point Snap Align воспользуйтесь инструментом Point Snap (см. ранее в этой главе).
Выравнивание двух или трех точек с двумя или тремя точками при помощи инструментов 2/3 Point-to-Point Snap Align 1. Создайте цилиндр и конус. 2. Выделите объекты и нажмите клавишу F8. 3. Выделите две (или три) контрольные вершины на цилиндре, затем нажмите клавишу Shift и выделите две (или три) контрольные вершины на конусе (рис. 6.47).
Рис. 6.47. Выделенные точки выравниваются с другими выделенными точками настолько близко, насколько возможно, но форма поверхности при этом не изменится
4. Если вы выбрали две контрольные вершины на каждом объекте, в меню Modify щелкните по значку рядом с Snap Align Objects 2 Points to 2 Points. Если вы выбрали три точки на каждом объекте, щелкните по значку рядом с пунктом Snap Align Objects 3 Points to 3 Points (рис. 6.48). Весь объект с выделенными первыми точками (в данном случае это цилиндр) переместится и выровняется с выделенными точками второго объекта (конуса). Если между точками на каждом из объектов разное расстояние, то они могут не разместиться точно друг на друге (рис. 6.49).
Рис. 6.48. В выпадающем меню Snap Align Objects вы найдете почти все команды выравнивания
Рис. 6.46. Две выделенные точки как будто бы превратились в одну, но на самом деле они очень точно совмещены друг с другом Рис. 6.49. Точки цилиндра выравниваются в соответствии с точками, выбранными на поверхности конуса
Объекты NURBS 183 Контрольные точки
Кривые и поверхности NURBS С помощью кривых NURBS можно создать практически любой объект: средневекового рыцаря, пришельца с другой планеты, механизм или просто любой выдуманный вами объект. Поверхности NURBS в основном используются для органического моделирования, поскольку создаваемые ими волнистые закругленные формы прекрасно подходят для моделирования деревьев, людей и животных. Читатели, имеющие некоторый опыт работы в других программах, использующих кривые Безье (например, Adobe Illustrator), легко освоят и построение кривых NURBS. Хотя кривые NURBS и отличаются от кривых Безье, но создаются и редактируются они похожим образом. Кривые Безье и NURBS представляют собой искривленные линии, форму которых можно изменять, перемещая точки, расположенные вдоль кривой (начальное положение точек определяется при создании кривой). Кривые NURBS можно использовать для моделирования каркаса конечной поверхности, для очерчивания контура, при вращении которого вокруг определенной оси создается поверхность, а также для точной настройки поверхности (рис. 7.1).
Объекты NURBS
7 Огибающие
Редактирующие точки
Рис. 7.2. Компоненты NURBS позволяют быстро изменять вид кривой или поверхности
Рис. 7.1. Вы можете редактировать поверхность, полученную вращением контура, изменения кривую NURBS, которая использовалась для создания контура
Рис. 7.3. Компоненты поверхности NURBS используются для управления видом поверхности
Объекты NURBS позволяют очень точно управлять конечной поверхностью. Их можно разделить на два вида: кривые и поверхности. У кривых NURBS существует три основных компонента: контрольные вершины (CV), редактирующие точки (edit points) и огибающие (hulls) – рис. 7.2. Они используются для создания и редактирования кривых различными способами. Ближе познакомившись с созданием кривых NURBS, вы, возможно, выберете наиболее удобный для себя способ, который впоследствии станет для вас основным методом редактирования. Помимо контрольных вершин, редактирующих точек и огибающих, у поверхностей NURBS есть и другие, более сложные компоненты: нормали к поверхности (surface normals), центры патчей (patch centers) и начала поверхности (surface origins) – рис. 7.3. Любую поверхность NURBS, созданную из кривой (например, поверхность вращения), можно редактировать, внося изменения в компоненты начальной кривой или непосредственно в компоненты поверхности. Если поверхность создана из одной или более кривых, ее связь с этой кривой сохраняется посредством истории создания. Таким образом, изменяя кривую, вы также редактируете и поверхность.
Создание кривых NURBS 185
184 Кривые и поверхности NURBS Каждый компонент NURBS (редактирующие точки, контрольные вершины и т.д.) можно отображать и редактировать отдельно (на рис. 7.4 показаны редактирующие точки) или вместе с другими компонентами (на рис. 7.5 изображены редактирующие точки и огибающие). Кривые – важная составляющая NURBS-моделирования, потому что с их помощью можно создавать и редактировать поверхности. Данная глава целиком посвящена этой интересной теме.
Создание кривых NURBS Изучив процесс создания и редактирования кривых, вы поймете, как в полной мере использовать инструменты моделирования Maya. Большое количество редактирующих точек позволяет с ювелирной точностью управлять формой и размещением кривых NURBS. Кривые часто используют для создания каркаса поверхности. Затем необходимо натянуть на каркас оболочку (рис. 7.6), чтобы закончить построение поверхности. Создать конечную поверхность можно с помощью таких команд Maya, как лофтинг (lofting), выдавливание (extruding) и вращение (revolving) – все они будут подробно рассмотрены в этой главе.
Анатомия кривой
Рис. 7.4. Чтобы упростить выделение и редактирование, необходимо отобразить только редактирующие точки поверхности. Любой компонент можно выделить, щелкнув по его значку. В данном случае используются пиктограммы с изображением крестика
Рис. 7.6. Кривые, которые использовались для создания каркаса (вверху), и те же кривые с натянутой на них оболочкой (внизу)
Вторая точка
Рис. 7.5. Maya позволяет отображать и скрывать столько компонентов, сколько необходимо на данном этапе работы. Это помогает сузить возможную область выделения и в то же время иметь представление о том, как выглядят другие компоненты объекта
Направление Начальная точка
Рис. 7.7. Направление U кривой определяется первой и второй контрольными вершинами
У каждой кривой NURBS есть соответствующее направление, которое определяется порядком создания контрольных вершин. Направление кривой имеет значение при определении вида конечной поверхности, созданной на ее основе. Если вы не замечаете, в каком направлении строите кривую, то при создании конечной поверхности можете получить неожиданные результаты. Кривые, ориентированные в направлении, противоположном нужному, могут скрутить конечную поверхность и обратить ее нормали. Направление кривой определяется первой и второй контрольными вершинами, созданными при построении кривой. Первая контрольная вершина, или начальная точка (start point), обозначается маленьким квадратом. Вторая контрольная вершина имеет вид буквы U. Начальная точка, за которой следует вершина, помеченная буквой U, указывает направление кривой; таким же образом определяется направление U любой поверхности, созданной из кривой (рис. 7.7). Кривые NURBS в основном используются в моделировании, поэтому при визуализации сцены они не отображаются.
Создание кривых NURBS 187
186 Кривые и поверхности NURBS У каждой кривой есть следующие компоненты (рис. 7.8):
контрольные вершины (control vertices) размещаются на небольшом расстоянии от кривой и чаще всего используются при редактировании формы кривой; редактирующие точки, или изломы (edit points (knots)) размещаются прямо на кривой и обозначаются маленьким значком в виде буквы x. Это еще одно средство редактирования формы кривой; огибающие (hulls) прямые соединяют контрольные вершины. Отображение огибающих помогает выяснить, как связаны между собой контрольные вершины. Щелкнув по огибающей, вы выделите весь ряд расположенных на ней контрольных вершин; сегменты (spans) представляют собой область между двумя редактирующими точками. Каждый раз при создании редактирующей точки добавляется сегмент. Сегменты нельзя изменять непосредственно (как редактирующие точки), но они отображают результаты редактирования. Сегменты используются при создании и перестройке кривых и поверхностей. Чем больше сегментов вы добавите, перестраивая поверхность, тем больше будет создано редактирующих точек. Однако поверхность, имеющая много сегментов, становится более детализированной и трудной для расчетов; точка кривой (curve point) представляет собой произвольную точку, которая используется для того, чтобы отсоединить кривую от другого объекта или выполнить выравнивание. Она может находиться в любом месте кривой;
Редактирующая точка
Точка кривой
Направление
Огибающая
Сегмент
Начальная точка
Рис. 7.8. На рисунке показаны все компоненты кривой NURBS
начальная точка (start point) – это первая созданная контрольная вершина кривой, которая обозначается маленьким квадратом; направление кривой (curve direction) определяется первой и второй контрольными вершинами, созданными для этой кривой.
Создание кривых с различными степенями Рис. 7.9. Степень кривой, равная единице, определяет линейную кривую и линейную поверхность
Рис. 7.10. Степень кривой, равная трем, определяет гладкую кривую, для создания которой достаточно четырех контрольных вершин
У каждой кривой есть определенная степень; чем выше степень, тем больше гладкость кривой. Степень кривой может равняться 1, 2, 3, 5 или 7. Кривая со степенью 1 – линейная, и чтобы ее определить, нужно всего две точки (рис. 7.9). Линейные кривые и поверхности характеризуются прямыми линиями и острыми углами. Степень кривой, равная трем, создаст гладкую кривую, для описания которой будет использовано несколько контрольных вершин (рис. 7.10). Кривая со степенью 3 – самая универсальная, так как для ее создания нужно всего четыре точки, и она достаточно плавная для моделирования поверхностей высокого качества. Разработчики автомобилей часто пользуются степенями выше 5, так как при производстве машин нужна высокая точность. Для анимации же степени, равной трем, более чем достаточно. Как вы уже поняли, контрольных вершин должно быть на одну больше, чем степень кривой. Например, для кривой со степенью, равной трем, необходимо создать четыре контрольных вершины (рис. 7.10), а для кривой со степенью 7 – восемь контрольных вершин, таким образом поверхность
Создание кривых NURBS 189
188 Кривые и поверхности NURBS становится более трудной для редактирования и расчета (рис. 7.11). Именно поэтому наиболее универсальной является степень, равная трем или пяти.
Профиль внутренней части вазы
Создание профильных кривых Вы можете создавать множество различных объектов, рисуя вначале контурные кривые по форме профиля объекта. Затем вращением этой профильной кривой создается конечная поверхность (рис. 7.12). Кроме того, профильную кривую можно затем изменять, чтобы усовершенствовать форму объекта уже после создания конечной поверхности. Это позволяет делать история создания, при помощи которой профильная кривая соединена с конечной поверхностью (рис. 7.13). Если вы рисуете профильную кривую для вазы, стакана, кувшина или любого другого объекта, у которого есть стенки определенной толщины, нужно наряду с профилем внешней поверхности нарисовать и профиль внутренней (рис. 7.14). Если этого не сделать, стенки сосуда будут толщиной с бумагу, что выглядит не слишком естественно. Поскольку большинство реальных объектов имеют глубину или размерность, нужно воссоздать эти параметры и в Maya. Толщина стенок стакана определяется тем, как вы нарисуете профильную кривую.
Профиль внешней части вазы
Рис. 7.11. На рисунке показана кривая со степенью, равной семи, а это значит, что для ее определения необходимо восемь контрольных вершин Рис. 7.14. Рисуя профильную кривую, не забудьте добавить внутреннюю часть поверхности, чтобы определить толщину конечного объекта
Обычно кривую создают при помощи одного из трех инструментов: CV Curve (Кривая по контрольным вершинам), EP Curve (Кривая по редактирующим точкам) или Pencil Curve (Карандашная кривая).
Создание кривой при помощи инструмента CV Curve 1. В меню Create выберите пункт CV Curve (Кривая по контрольным вершинам). 2. Щелкните в нескольких точках вида сверху. Каждое нажатие мыши создаст контрольную вершину, а после четвертого нажатия появится кривая (рис. 7.15). 3. Нажмите клавишу Enter, чтобы завершить создание кривой. Кривая подсвечивается – это значит, что она выделена.
Создание кривой при помощи инструмента EP Curve
Рис. 7.12. Эта симпатичная ваза была создана вращением единственной кривой Рис. 7.15. Эта кривая построена из точек, которые созданы с помощью инструмента CV Curve
Рис. 7.13. Перемещая точку кривой, с помощью которой была создана поверхность вращения, вы можете интерактивно изменять форму объекта
Рис. 7.16. Эта кривая была создана с помощью инструмента EP Tool Curve
1. В меню Create выберите пункт EP Curve (Кривая по редактирующим точкам). 2. Щелкните в нескольких местах вида сверху. Как только вы создадите вторую точку, на экране появится кривая, форма которой будет определяться по мере добавления каждой новой точки (рис. 7.16). 3. Нажмите клавишу Enter, чтобы завершить создание кривой.
Создание кривых NURBS 191
190 Кривые и поверхности NURBS
3. Чтобы просмотреть новое направление кривой в режиме выделения компонентов, нажмите клавишу F8 (рис. 7.20).
Создание кривой при помощи инструмента Pencil Curve 1. В меню Create выберите пункт Pencil Curve. 2. Чтобы нарисовать линию, щелкните на виде сверху и перетащите указатель мыши. Создание кривой будет завершено, как только вы отпустите кнопку мыши. Инструмент Pencil Curve – менее эффективный способ создания кривой, потому что в результате получается намного больше точек, чем нужно, чтобы описать форму (рис. 7.17).
Двумерные скругления
Рис. 7.17. Нижняя кривая была создана инструментом Pencil Curve Рис. 7.20. Верхняя кривая направлена в одну сторону, а нижняя – в противоположную
Как говорилось ранее, у каждой кривой есть направление, которое называется направлением U. Иногда требуется изменить его на противоположное, если из кривых получаются некорректные поверхности (рис. 7.18).
Обращение направления кривой 1. Выберите кривую в режиме выделения объектов. 2. В меню Edit Curves (Редактировать кривые) выберите пункт Reverse Curve Direction (Обратить направление кривой) – рис. 7.19.
Рис. 7.18. Неправильно направленная кривая может вызвать ненужные проблемы. Самый лучший результат достигается при одинаковом направлении всех кривых одной поверхности
Рис. 7.21. Двумерное скругление прекрасно подходит для добавления сглаженных углов в набор кривых
Рис. 7.19. Чтобы изменить направление кривой, выполните команды меню Edit Curves Reverse Curve Direction
Скругление (fillet) – это сглаженный угол соединения, который образуют две кривые или поверхности. Чтобы соединить дугами несколько кривых, можно создавать двумерные скругления. Иногда проще построить две кривые и затем связать их дугой, чем нарисовать одну кривую с необходимым скруглением. Примером может служить создание закругления вне двух перпендикулярных кривых, как на рис. 7.21.
Создание кривых NURBS 193
192 Кривые и поверхности NURBS Создание двумерного скругления
Размыкание и замыкание кривых
1. Создайте две кривые, которые будете соединять дугой (рис. 7.22). 2. Правой кнопкой мыши щелкните по первой кривой и в контекстном меню выберите пункт Curve Point (рис. 7.23). 3. Щелкните по первой кривой и перетащите указатель туда, где скругление должно образовать дугу (рис. 7.24). 4. Правой кнопкой мыши щелкните по второй кривой и в контекстном меню выберите пункт Curve Point. 5. Удерживая нажатой клавишу Shift, щелкните по второй кривой и перетащите точку кривой туда, где скругление должно образовать дугу (рис. 7.25). 6. В меню Edit Curves выберите пункт Curve Fillet (Скругление кривых). Между двумя точками кривых создана дуга (рис. 7.26).
Кривая, начало и конец которой не совпадают, называется незамкнутой (рис. 7.27). Многие команды Maya, примененные к незамкнутым кривым, будут выполняться некорректно, поэтому кривые для таких команд нужно замыкать. У замкнутой кривой начальная и конечная точка совпадают, что делает ее непрерывной (рис. 7.28).
Рис. 7.23. Щелкните по кривой правой кнопкой мыши, чтобы вызвать контекстное меню. С его помощью очень удобно выбирать тот или иной тип компонента
Размыкание и замыкание кривой
Рис. 7.26. Между двумя точками, выделенными на каждой кривой, создана дуга
В меню Edit выберите пункт Open/Close Curves (Разомкнуть/замкнуть кривую) – рис. 7.29. Незамкнутая кривая превратится в замкнутую, а замкнутая разомкнется.
Рис. 7.24. Щелкните по точке кривой и перетащите ее в то место, из которого вы хотите начать дугу
Рис. 7.27. Неполная окружность является незамкнутой кривой
Рис. 7.28. Начальная и конечная точки замкнутой кривой совпадают
Рис. 7.22. Две кривые пересекаются
Рис. 7.25. Две точки кривой определяют начальную и конечную точки дуги
Рис. 7.29. Команда Open/Close Curves размыкает замкнутую кривую и выполняет обратное действие по отношению к незамкнутой
Фиксирование длины кривой 195
194 Кривые и поверхности NURBS Разбиение кривой
Фиксирование длины кривой
1. Выделите кривую при помощи инструмента Pick mask, переведенного в режим Component: Parm Points (Компонент: параметрические точки). 2. Выделите значок x редактирующей точки в том месте, где вы хотите разбить кривую (рис. 7.30). 3. В меню Edit Curves выберите пункт Detach Curves. Теперь кривая разбита на две части (рис. 7.31). Если в диалоговом окне Detach Curve Options включена опция Keep Originals (Сохранить оригиналы), после отсоединения вы получите три кривые: начальную и две отсоединенных. Чтобы автоматически удалить начальную кривую, снимите флажок Keep Originals перед тем, как рассоединить кривую (см. раздел «Функция Keep Originals»).
Кривые напоминают резиновый жгут, их можно растягивать и разносить по сцене. То есть вы можете редактировать контрольные вершины таким образом, чтобы они находились на каком угодно расстоянии друг от друга. Однако для удобства анимации будет лучше, если вы заставите кривую вести себя как отрезок с постоянной длиной, которая не изменяется при сгибании кривой. Это можно сделать, зафиксировав длину кривой таким образом, чтобы при создании анимации контрольные вершины оставались на одном расстоянии друг от друга.
Рис. 7.30. Редактирующая точка обозначается перекрестием. Если она выделена, то ее можно использовать как точку разрыва кривой
Фиксирование длины кривой
Рис. 7.32. Выберите пункты меню Edit Curves Modify Curves Lock Length
1. Выделите кривую и выберите пункты меню Edit Curves Modify Curves Lock Length (Фиксировать кривую) – рис. 7.32. 2. Нажмите клавишу F8, чтобы переключиться в режим Component, и выберите тип компонентов Points . 3. Выделите первую контрольную вершину на кривой, нажмите клавишу W и попробуйте ее передвинуть. Теперь кривая будет следовать за контрольной вершиной, которую вы выделили как отрезок прямой (рис. 7.33). Выделите кривую и выберите пункты меню Edit Curves Modify Curves Lock Length (Отменить фиксацию кривой).
Рис. 7.31. После разделения в редактирующей точке созданы две кривые
Рис. 7.33. Включив фиксацию, передвигайте контрольную вершину для получения анимации кривой
Фиксирование длины кривой 197
196 Кривые и поверхности NURBS Выпрямление кривой 1. Выделив кривую, выберите пункты меню Edit Curves Modify Curves и щелкните мышью по значку напротив пункта Straighten (Выпрямить) – рис. 7.34. Появится диалоговое окно Straighten Curves Options (Опции выпрямления кривых). 2. Уберите флажок Preserve Length (Сохранить длину). 3. Установите ползунок Straightness (Выпрямление) в положение 1 или просто напечатайте 1 в текстовом поле (рис. 7.35). 4. Нажмите кнопку Apply. Волнистая кривая превратится в прямую (рис. 7.36).
Рис. 7.38. Установите Smooth Factor в положение 10 Рис. 7.34. Выберите пункты меню Edit Curves Modify Curves Straighten
2. Установите Smooth Factor (Коэффициент сглаживания) в положение 10 (рис. 7.38). 3. Нажмите кнопку Apply. Пилообразная кривая станет сглаженной (рис. 7.39).
Скручивание кривой 1. Выделив кривую, выберите в меню Edit Curves и щелкните мышью по значку напротив пункта Rebuild Curves (Построить кривые заново) – рис. 7.40. Появится диалоговое окно Rebuild Curves Options (Опции перестроения кривых).
Рис. 7.35. Выберите опции для Straighten
Сглаживание кривой 1. Выделив кривую, выберите в меню Edit Curves Modify Curves и щелкните мышью по блоку опций напротив пункта Smooth (Сгладить) – рис. 7.37. Появится диалоговое окно Smooth Curves Options (Опции сглаживания кривых).
Рис. 7.39. Первоначальная пилообразная кривая – сверху, внизу – результат сглаживания
Рис. 7.36. Первоначальная волнистая кривая – сверху, внизу – результат выпрямления
Рис. 7.37. Выберите пункты меню Edit Curves Modify Curves Smooth
Рис. 7.40. Выберите пункты меню Edit Curves Rebuild Curves
Фиксирование длины кривой 199
198 Кривые и поверхности NURBS 2. Установите Number of Spans (Количество промежутков) равным 25 (рис. 7.41). 3. Щелкните по кнопке Rebuild. Эффект скручивания станет более очевидным, если у вашей кривой будет больше контрольных вершин. 4. Выберите пункты меню Edit Curves Modify Curves и щелкните мышью по значку напротив пункта Curl (Скручивание) – рис. 7.42. Появится диалоговое окно Curl Curves Options (Опции скручивания). 5. Установите параметр Curl Amount (Количество скручиваний) равным 2, а Curl Frequency (Частота скручивания) – равным 1 (рис. 7.43). 6. Нажмите кнопку Apply. Кривая превратится в спираль (рис. 7.44).
Изгиб кривой
Рис. 7.41. Установите параметр Number of Spans равным 25
Рис. 7.42. Выберите пункты меню Edit Curves Modify Curves Curl
Рис. 7.45. Выберите пункты меню Edit Curves Modify Curves Bend
Рис. 7.46. Произведите настройки для Bend Curves
Рис. 7.43. Произведите настройки для Curl Curves
Рис. 7.47. Первоначальная кривая сверху представляет собой прямую линию, внизу – результат изгиба кривой
Рис. 7.44. Первоначальная кривая сверху представляет собой прямую линию, внизу – полученная спираль
1. Выделив кривую, выполните команду Edit Curves Modify Curves и щелкните мышью по значку напротив пункта Bend (Изгиб) – рис. 7.45. Появится диалоговое окно Bend Curves Options (Опции изгиба кривых). 2. Установите параметр Bend Amount (Количество изгибов) равным .15 (рис. 7.46). 3. Нажмите кнопку Apply. Кривая теперь больше напоминает окружность (рис. 7.47).
Создание поверхностей из кривых 201
200 Кривые и поверхности NURBS Масштабирование кривизны 1. Выделив кривую, выберите пункты меню Edit Curves Modify Curves и щелкните мышью по значку напротив пункта Scale Curvature (Масштабирование кривизны) – рис. 7.48. Появится диалоговое окно Scale Curvature Options (Опции масштабирования кривизны). 2. Установите Scale Factor (Коэффициент масштабирования) в положение .5, а параметр Max Curvature (Макс. кривизна) равным 1 (рис. 7.49). 3. Нажмите кнопку Apply. Кривая расширится (рис. 7.50). На выбранные контрольные точки можно также накладывать эффекты Straighten, Smooth, Curl, Bend и Scale Curvature вместо того, чтобы применять эффект ко всей кривой.
Создание поверхностей из кривых В Maya есть несколько команд, которые используются для превращения кривых в поверхности: Revolve (Вращать), Loft (Создание по сечениям), Planar (Делать плоским), Extrude (Выдавливание), Birail (Строить на двух направляющих) и Boundary (Граница).
Рис. 7.48. Выберите пункты меню Edit Curves Modify Curves Scale Curvature
Рис. 7.51. Профильная кривая определяет контур объекта, использованный при вращении
Рис. 7.49. Установите опции для Scale Curvature
Рис. 7.52. Чтобы открыть окно Revolve Options, в меню Surfaces щелкните по значку рядом с пунктом Revolve
Рис. 7.50. Первоначальная кривая сверху более закрученная, внизу – полученная кривая после применения опции Scale Curvature
Рис. 7.53. Ось вращения имеет большое значение для вида конечной поверхности. Выберите ось, которая проходит через середину конечной поверхности
Создание вазы вращением кривой 1. На виде спереди нарисуйте кривую, создав «профиль» вазы, как на рис. 7.51. 2. Выделите кривую в режиме выделения объектов. 3. В меню Surfaces (Поверхности) щелкните по значку рядом с пунктом Revolve (рис. 7.52). Откроется диалоговое окно Revolve Options. 4. Выделите ось, вокруг которой будете вращать кривую (рис. 7.53). В данном примере используется ось Y. 5. Чтобы создать поверхность вазы, нажмите кнопку Revolve. Если результат получился неожиданным, возможно, неправильно была выбрана ось вращения. 6. Чтобы улучшить сглаживание и увидеть поверхность во всех деталях, нажмите клавишу 3 (рис. 7.54).
Рис. 7.54. Увеличение гладкости поверхности помогает выяснить, где реально находится поверхность вращения
Создание поверхностей из кривых 203
202 Кривые и поверхности NURBS
Новая поверхность отображается при низком сглаживании, поэтому кажется, что она не полностью касается кривых, использованных при ее создании. Чтобы просмотреть поверхность в режиме высокого сглаживания, выделите ее и нажмите клавишу 3.
Чтобы создать поверхность вращения с разверткой менее 360°, в окне Revolve Options настройте опции Start Sweep Angle (Начальная точка развертки) и End Sweep Angle (конечная точка развертки). Чтобы интерактивно изменить форму поверхности вращения, переопределив угол поворота вокруг оси, воспользуйтесь инструментом Show Manipulator.
Один из лучших способов создать поверхность из нескольких кривых – это воспользоваться командой Loft. С ее помощью создается поверхность, которая вытягивается от одной выделенной кривой к следующей до тех пор, пока все кривые не будут обтянуты оболочкой. Каждая из изопарм конечной поверхности выводится исходя из размещения редактирующей точки на начальной кривой. По общепринятым правилам, на каждой кривой должно быть одинаковое количество редактирующих точек.
Рис. 7.57. Для выдавливания можно использовать кривые любой формы. Например, если требуется получить поверхность цилиндрической формы, возьмите замкнутую кривую Рис. 7.55. Каждая кривая, вдоль которой будет производиться лофтинг, определяет контур конечной поверхности
Выдавливание кривой
Рис. 7.58. Вторая кривая, созданная для выдавливания, используется для определения пути и длины поверхности
Лофтинг вдоль нескольких кривых 1. Создайте две или несколько кривых, из которых будет строиться поверхность (рис. 7.55). 2. Удерживая нажатой клавишу Shift, щелкните по каждой кривой в том порядке, в котором требуется произвести лофтинг поверхности. Порядок выделения кривых очень важен. Поверхность начнется в первой выделенной кривой и закроет все дополнительные кривые в порядке их выделения. 3. Закончив выделение кривых, выполните команды меню Surfaces Loft, чтобы обтянуть кривые оболочкой (рис. 7.56).
С помощью команды Extrude (Выдавливание) поверхность создается протаскиванием одной кривой (профиля) вдоль другой (пути). Она позволяет добавить глубину в текстовый объект и довольно часто используется для создания длинных цилиндрических объектов, например, проводов питания.
Рис. 7.56. Поверхность, созданная методом лофтинга, связана с исходными кривыми при помощи истории создания, поэтому ее можно редактировать, используя эти кривые
Рис. 7.59. Поверхность, созданная выдавливанием, следует сечению профильной кривой
1. Создайте профильную кривую, определяющую сечение конечной выдавленной поверхности. Например, если требуется получить поверхность цилиндрической формы, создайте окружность (рис. 7.57). 2. Начиная с уже созданной кривой, постройте с помощью контрольных точек кривую, которая определит длину конечной поверхности (рис. 7.58). Эта линия называется кривой пути (path curve). 3. Выделите окружность и кривую пути, удерживая нажатой клавишу Shift. 4. В меню Surfaces выберите пункт Extrude, чтобы протащить профильную кривую вдоль кривой пути. На экране появитсяновая поверхность (рис. 7.59).
Создание поверхностей из кривых 205
204 Кривые и поверхности NURBS По умолчанию новая поверхность начинается под углом профильной кривой и копирует ее углы. Если профильная кривая перпендикулярна кривой пути, выдавленная поверхность просто следует кривой пути. Чтобы проигнорировать угол профильной кривой и чтобы кривая следовала кривой пути, в окне Extrude Options поставьте флажок At Path.
Команда Make Planar (Создать плоскую поверхность) используется для формирования плоской поверхности из кривых. В качестве примера можно рассмотреть создание плоской поверхности гитары (той части, в которой есть отверстие) – рис. 7.60. Контур корпуса гитары можно построить с помощью кривой, а затем воспользоваться командой Make Planar и завершить создание плоской поверхности.
Рис. 7.63. Корпус лодки можно создать с помощью нескольких профильных и двух направляющих кривых Рис. 7.60. Команда Make Planar позволяет создать поверхность из любой замкнутой кривой, лежащей в одной плоскости
Создание поверхности на двух направляющих
Создание плоской поверхности 1. Создайте замкнутую кривую, все контрольные вершины которой лежат в одной плоскости (рис. 7.61). 2. В меню Surfaces выберите пункт Planar (Плоская поверхность). Из кривой создана планарная поверхность (рис. 7.62).
Рис. 7.64. В качестве направляющих всегда используются две кривые
Рис. 7.61. Эта замкнутая кривая определит контур поверхности. Воспользуйтесь привязкой к сетке, чтобы убедиться, что все точки кривой лежат в одной плоскости
Направляющие кривые
Профильная кривая
Чтобы команда Planar выполнялась корректно, кривая должна быть замкнутой или самопересекающейся, а все контрольные вершины должны лежать в одной плоскости. Чтобы удовлетворить этим условиям, рекомендуется привязать каждую контрольную точку к плоскости сетки.
Рис. 7.62. Из кривой, которой был очерчен контур будущей поверхности, создана плоская поверхность
Инструмент Birail (Построить на двух направляющих) похож на Extrude, однако вместо одной кривой пути и одной профильной кривой, в нем есть две кривые пути (направляющие) и любое число профильных кривых. В качестве примера рассмотрим построение корпуса лодки. Две кривые пути определяют контур корпуса, а профильные кривые – его глубину и форму (рис. 7.63).
Рис. 7.65. Чтобы команда выполнялась корректно, необходимо осуществить привязку к кривой: концы каждой профильной кривой привязать к направляющим
1. Нарисуйте две кривые, которые будут использоваться в качестве направляющих поверхности (рис. 7.64). 2. Создайте новую кривую. Удерживая нажатой клавишу c, щелкните на направляющей кривой и перетащите указатель таким образом, чтобы привязать ее к первой и последней точкам направляющих кривых (рис. 7.65). Чтобы инструмент Birail работал корректно, кривые должны соприкасаться друг с другом, а привязка гарантирует, что профильная кривая касается обеих направляющих. 3. В меню Surfaces выберите пункты Birail Birail 1 Tool (рис. 7.66). Если у вас две профильные кривые, воспользуйтесь инструментом Birail 2 Tool. Если же вы построили несколько профильных кривых, выберите инструмент Birail 3+.
Рис. 7.66. В меню Surfaces выберите пункты Birail Birail 1 Tool
Создание поверхностей из кривых 207
206 Кривые и поверхности NURBS 4. Щелкните по профильным кривым, а затем по направляющим (рис. 7.67). На экране отобразится поверхность, созданная на двух направляющих. Для выполнения команды Boundary (Граница) потребуются три или четыре кривые, которые пересекаются или соединяются концами. Рассмотрим пример создания подобной поверхности. Есть три поверхности, соединенные в углах, между которыми с помощью трех ребер требуется создать закругленный угол (рис. 7.68).
Создание скошенного текста
Рис. 7.67. Поверхность создана из трех кривых с помощью инструмента Birail Рис. 7.70. Выделите кривые и изопармы, к которым будет применяться команда Boundary
Создание поверхности на основе границ 1. Нарисуйте три или четыре кривые с пересекающимися концами (рис. 7.69). При этом рекомендуется привязать первую и последнюю контрольные вершины каждой кривой к другим кривым. 2. Выделите все кривые, создающие ограниченную область (рис. 7.70). 3. В меню Surfaces выберите пункт Boundary. На экране отобразится поверхность, созданная на основе границ (см. рис. 7.71).
1. В меню Create щелкните по значку рядом с пунктом Text. Появится диалоговое окно Text Curves Options (Опции текста в кривых). 2. В поле Text введите текст. 3. Выберите шрифт текста. 4. В поле Curves поставьте переключатель Type. 5. Нажмите кнопку Create (рис. 7.72). 6. В меню Surfaces выберите пункт Bevel (рис. 7.73). Текст можно редактировать с помощью узла Inputs после создания или в диалоговом окне Text Curves Options до создания (рис. 7.74). В окне Channel Box можно настроить ширину и глубину выдавливания в узле скоса Inputs.
Рис. 7.68. Инструмент Boundary идеально подходит для заполнения разрыва между этими поверхностями
Рис. 7.71. По трем кривым создана поверхность
Рис. 7.72. В окне Text Curves Options определите параметры Text, Font и Type, а затем нажмите кнопку Create
Рис. 7.69. Чтобы команда Boundary выполнялась корректно, рекомендуется использовать привязку к кривой каждой конечной точки
Рис. 7.73. В меню Surfaces выберите пункт Bevel
Рис. 7.74. Кривые, которые описывают буквы, превратились в скошенные поверхности
Создание поверхностей из кривых 209
208 Кривые и поверхности NURBS Чтобы нарисовать кривую непосредственно на поверхности, последнюю необходимо активировать. Если поверхность активна (live), то кривую можно создавать и редактировать непосредственно на ней.
Активирование поверхности 1. Выделите поверхность, которую требуется активировать (рис. 7.75). 2. В меню Modify (Изменить) выберите пункт Make Live (Активировать) или нажмите на кнопку . Каркас активированной поверхности станет зеленым (рис. 7.76). Чтобы дезактивировать активную поверхность, в меню Modify выберите пункт Make Not Live.
Рисование кривой на активной поверхности
Рис. 7.77. В меню Create выберите пункт CV Curve Tool
Рис. 7.75. Сферу активировали, чтобы нарисовать кривую прямо на ней. Активной можно сделать любую поверхность
Зеленый
1. Активируйте поверхность. 2. В меню Create выберите пункт CV Curve Tool (рис. 7.77). 3. Щелкните в тех точках поверхности, где вы хотите создать кривую (рис. 7.78). 4. Нажмите клавишу Enter, чтобы завершить создание кривой. На поверхности создана кривая. 5. В меню Modify выберите пункт Make Not Live, чтобы дезактивировать поверхность (рис. 7.79). С помощью инструмента Move кривую можно перемещать по поверхности в направлении U или V.
Проецирование кривой позволяет создать на выделенной поверхности новую кривую. Представьте, что изображение кривой проецируется на объект проектором слайдов. Форма объекта может исказить изображение кривой. Таким же образом и кривая, полученная в результате проецирования на поверхность объекта, в какой-то степени деформируется. В качестве примера рассмотрим проецирование на модель тыквы двух кривых, которые определяют форму глаз. Для этого требуется нарисовать на виде спереди глаза, которые будут вырезаны на тыкве, и проецировать эти кривые на объект (рис. 7.80). Затем можно воспользоваться функцией вырезания, чтобы вырезать форму, созданную спроецированной кривой, из поверхности.
Рис. 7.78. Рекомендуется поворачивать вид вокруг поверхности, чтобы осмотреть без искажений перспективы место, где вы хотите поместить контрольные вершины Рис. 7.80. Проецирование кривых на поверхность позволяет определить контур, по которому впоследствии будет вырезана часть поверхности
Рис. 7.76. Если каркас поверхности становится зеленым, это означает, что поверхность активна
Рис. 7.79. В меню Modify выберите пункт Make not Live, чтобы вернуться в обычный режим
Создание поверхностей из кривых 211
210 Кривые и поверхности NURBS
4. Щелчком мыши определите ту часть сферы, из которой будет вырезаться кусок (если щелкнуть по вырезаемой поверхности, результат может получиться неожиданным). Желтый ромб показывает область, которую вы хотите сохранить (рис. 7.86). 5. Чтобы вырезать поверхность, нажмите клавишу Enter. Кривая была спроецирована на обе стороны сферы, поэтому в поверхности теперь два отверстия (рис. 7.87).
Проецирование кривой на поверхность 1. Создайте поверхность, на которую будет проецироваться кривая, например, сферу. 2. На виде спереди создайте кривую, которую нужно проецировать на поверхность. В данном примере используется окружность (рис. 7.81). 3. Выделите кривую и поверхность (см. рис. 7.82). 4. В меню Edit NURBS (Редактировать NURBS) вида спереди выберите пункт Project Curve on Surface (Проецировать кривую на поверхность) – рис. 7.83. Кривая спроецирована на обе части поверхности сферы – переднюю и заднюю (рис. 7.84).
Рис. 7.82. Чтобы проецирование выполнялось корректно, необходимо выделить и поверхность, и кривую
Рис. 7.85. Объект становится прозрачным, и каждая область, которая будет подвергнута вырезанию, заполняется сеткой
Вы можете сохранить любую область поверхности, к которой применялась команда вырезания. В примере со сферой можно щелкнуть по основной поверхности сферы и области одной из окружностей, чтобы в поверхности образовалось только одно отверстие.
Вырезание отверстия в поверхности 1. Выполните действия, описанные в предыдущем примере. 2. В меню Edit выберите пункт Trim Tool (Инструмент вырезания). 3. Щелкните по сфере. Объект становится прозрачным, а линии – белыми. Это означает, что активирован инструмент Trim (рис. 7.85).
Рис. 7.83. Угол, под которым проецируется кривая, зависит от того, в каком окне проекции осуществляется процедура
Рис. 7.86. Желтый ромб показывает область, которая будет сохранена
Рис. 7.81 Окружность будет спроецирована на поверхность сферы
Рис. 7.84. Кривая проецируется на переднюю и заднюю стороны объекта
Рис. 7.87. На месте спроецированных кривых образовались два отверстия
Сохранять Оригиналы У многих команд манипулирования, а также построения кривых и поверхностей есть опция Keep Originals (Сохранять Оригиналы). При перерисовке кривой с использованием такой команды как Detach, опция Keep Originals позволит вам сохранить исходную кривую. Учтите, что вы можете не увидеть исходную кривую или поверхность, поскольку новые будут создаваться непосредственно поверх оригиналов.
Полигоны 213
Полигоны Полигональное моделирование (от греч. polygon – «много углов») – это простой и в то же время функциональный способ построения поверхности. Полигон представляет собой поверхность, составленную из меньших по размеру, плоских поверхностей с тремя или более сторонами. Они называются гранями (faces); линии, образующие грани, являются ребрами (edge), а концы ребер – вершинами (vertex). Работа с полигонами – это скорее грубое твердотельное конструирование, в то время как поверхности NURBS используются для органического моделирования, то есть создания пластичных, рельефных форм. Многие компании, разрабатывающие компьютерные игры, предпочитают использовать метод полигонального моделирования. Поскольку в игре предполагается быстрое взаимодействие с игроком и визуализация в реальном времени, ее геометрия не должна быть слишком сложной. Если персонаж низкополигональный, то есть построен из небольшого числа граней, он будет быстро визуализироваться и взаимодействовать с другими персонажами, что и позволяет игре работать в реальном времени (рис. 8.1).
8 Рис. 8.2. Полигоны можно использовать для создания гладких форм, например модели банана и резких ребер, как на этом ботинке. Ботинок смоделирован Адрианом Ниу (Adrian Niu)
Рис. 8.1. Полигональная модель имеет наименьшее возможное число граней. Недостаток деталей восполняется подробными текстурами. Смоделировано и текстурировано Тоби Марвином (Toby Marvin)
Однако полигоны можно использовать и для создания гладких, очень детализированных, даже органических поверхностей (рис. 8.2). Некоторые поверхности проще построить с помощью полигонов, чем поверхностей NURBS. Например, тело персонажа можно создать из цельной полигональной поверхности, но этого нельзя достичь, используя поверхность NURBS, которая может иметь всего четыре стороны. Поверхности разделения появились в Maya недавно. Они сочетают в себе лучшие стороны NURBS и полигонов, но есть в них и несколько особенностей, присущих только им. Поверхности разделения могут ускорить процесс моделирования, поскольку позволяют просматривать поверхность как в высоком разрешении с множеством точек, так и в низком всего лишь с несколькими точками. Если вы владеете навыками полигонального моделирования, вам будет несложно освоить работу с поверхностями разделения, потому что и в том, и в другом случае используются практически одни и те же инструменты.
Полигональное моделирование 215
214 Полигоны
На начальном этапе моделирования наиболее часто используются полигональные инструменты Extrude Face (Выдавить грань) и Split Polygon (Разбить полигон). При дальнейшей работе с полигональной поверхностью применяются такие инструменты, как Extrude Edge (Выдавить ребро) и Subdivide (Разделить).
Полигональное моделирование Обычно даже самая сложная полигональная модель создается на основе полигонального примитива, например куба. Преобразуя этот простой объект и работая с его компонентами, вы получаете основную форму модели. А затем вы можете продолжать построение объекта, добавляя на поверхность дополнительные, более сложные элементы. Все полигоны состоят из четырех компонентов, которые важны как для моделирования, так и для текстурирования. Это грани, ребра, вершины и проекционные координаты:
грань (face) – одна из многих поверхностей, которые формируют полигональный объект как целое. Любую грань можно выбрать, выделив точку в ее центре (рис. 8.3); ребро (edge) представляет собой границу полигональной грани (рис. 8.4); вершина (vertex) – точка соединения ребер. Выделенные вершины окрашены в желтый цвет (рис. 8.5). При перемещении вершины изменяется форма четырех граней, в которые она входит; проекционные координаты (UV) используются для наложения текстур, при моделировании они не применяются. Выделенные проекционные координаты окрашены в зеленый цвет (см. главу 14).
Выделенную грань, вершину или ребро можно перемещать, вращать и изменять в размерах. Чтобы ускорить рабочий процесс, используйте контекстное меню.
Рис. 8.3. Подсвеченная грань сферы была выделена щелчком по ее центральной точке
Рис. 8.6. Обычно на экране отображаются только компоненты одного вида. Контекстное меню, которое можно вызвать с помощью правой кнопки мыши, – удобный способ изменять тип отображаемых компонентов
Рис. 8.4. Выделенное ребро принадлежит обеим граням, находящимся по каждую сторону от него. Любое изменение положения или размера этого ребра отразится на всех гранях, с которыми оно соприкасается
Рис. 8.7. С помощью ограничивающей рамки три вершины выделены одновременно
Выделение и преобразование компонентов полигона 1. Создайте любой полигональный примитив (см. главу 3). 2. Правой кнопкой мыши щелкните по полигональной поверхности. 3. В контекстном меню выберите пункт Vertex (рис. 8.6). 4. Выделите несколько вершин. Область выделения можно обозначить, нарисовав рамку с помощью указателя (см. рис. 8.7). 5. Нажмите клавишу w или щелкните по кнопке инструмента Move на панели инструментов. 6. Переместите вершины (рис. 8.8). Чтобы вызвать контекстное меню в режиме каркаса, нужно щелкнуть непосредственно по компоненту поверхности, например, по ребру. В режиме тонирования можно щелкнуть в любом месте поверхности.
Рис. 8.5. Выделенная вершина является общей точкой четырех граней
Рис. 8.8. Выделенные вершины перемещены инструментом Move. Изменилась форма всех граней, которым они принадлежат
Метод, описанный в этом разделе, можно использовать для выделения и преобразования любого полигонального компонента.
Полигональное моделирование 217
216 Полигоны При полигоном моделировании вы работаете с огромным количеством компонентов. В Maya есть специальные инструменты, которые позволяют выделять компоненты определенного типа, исключая возможность выбора других компонентов. К ним относится инструмент Backface Culling (Скрытие обратной стороны), который, скрывая точки на обратной стороне объекта, препятствует их выделению, а также инструменты, позволяющие увеличивать, уменьшать и преобразовывать области выделения.
Инструмент Backface Culling 1. В меню Create выберите пункты Polygon primitives Torus (Полигональные примитивы Тор). 2. Правой кнопкой мыши щелкните по полигональной поверхности и в контекстном меню выберите пункт Face. 3. На виде сбоку выделите с помощью рамки верхнюю половину тора и затем удалите грани (рис. 8.9). 4. В меню Display щелкните по значку рядом с пунктом Custom Polygon Display (Настройка отображения полигонов). Откроется окно Custom Polygon Display Options (рис. 8.10).
Рис. 8.9. На верхнем рисунке в виде сбоку выделены грани тора. Рекомендуется переключать виды, чтобы просмотреть область выделения с разных углов. На нижнем рисунке изображен тор в окне Persp после удаления граней
Рис. 8.11. В режиме Backface Culling компоненты на обратной стороне объекта исчезают, и вы не можете их выделить. Эта команда применяется для всех полигональных компонентов
Рис. 8.12. Режим Backface Culling определен как Keep Wire. Эта установка позволяет видеть каркас объекта, но препятствует выделению компонентов, находящихся на обратной стороне
Рис. 8.10. В окне Custom Polygon Display Options можно указать, будут ли опции отображения применяться ко всем полигональным объектам или только к выделенному, выбрав пункт All или Selected в переключателе Objects Affected
Рис. 8.13. При установке значения Keep Hard Edges на экране отображается основная форма объекта, но только с ребрами, которые ограничивают отверстие в объекте
5. В выпадающем списке Backface Culling (Скрытие обратной стороны) выберите пункт On (Включено). Нажмите кнопку Apply. Части тора, находящиеся на обратной стороне вида камеры, исчезнут. Их нельзя будет выделить (рис. 8.11). 6. В выпадающем списке Backface Culling выберите пункт Keep Wire (Оставить каркас). Нажмите кнопку Apply. На экране отображается скелет обратной стороны, но выделять компоненты этой части поверхности нельзя (рис. 8.12). 7. В выпадающем списке Backface Culling выберите пункт Keep Hard Edges (Оставить резкие ребра). Нажмите кнопку Apply. На экране отображаются только резкие ребра обратной стороны, то есть ребра, которые находятся вдоль отверстий поверхности (рис. 8.13). 8. В выпадающем списке Backface Culling выберите пункт Off. Нажмите кнопку Apply, чтобы вернуть параметрам Custom Polygon Display Options значения, устанавливаемые по умолчанию. Теперь можно вновь выделять обратные стороны полигональных поверхностей.
Полигональное моделирование 219
218 Полигоны
Можно начать создание модели с одной грани с помощью инструмента Create Polygon (Создать многоугольник).
Увеличение, уменьшение и преобразование области выделения 1. В меню Create выберите пункты Polygon primitives Sphere. 2. Правой кнопкой мыши щелкните по полигональной поверхности и в контекстном меню выберите пункт Vertex (Вершина). 3. Выделите несколько вершин (рис. 8.14). 4. В меню Edit Polygons выберите пункты Selection Grow Selection Region (Выделение Увеличить область выделения). Вершины, окружающие область выделения, также становятся выделенными. Повторите этот шаг, чтобы увеличить размер выделенной области (рис. 8.15). 5. В меню Edit Polygons выберите пункты Selection Shrink Selection Region (Выделение Уменьшить область выделения). Размер выделенной области уменьшается. Повторите этот шаг, чтобы уменьшить область. 6. В меню Edit Polygons выберите команды Selection Convert Selection to Faces (Выделение Преобразовать область выделения в грани). Выделение вершин отменено, а грани, которым они принадлежат, становятся выделенными (рис. 8.16). Область выделения компонентов любого вида можно преобразовать в область выделения ребер, вершин или проекционных координат. Некоторые инструменты моделирования полигонов применяются только к граням, например Extrude Face. Если вы уже выделили вершины, то команда Convert Selection сэкономит время, которое ушло бы на поочередное выделение граней.
Создание полигонального дома с помощью инструмента Create Polygon
Рис. 8.14. Выделено несколько вершин полигональной сферы. Если режим Backface Culling отключен, то точки, находящиеся на обратной стороне сферы, также выделяются
Рис. 8.16. Выделены грани, которые были окружены выделенными вершинами, а выделение точек отменено
Выделенные вершины
Рис. 8.17. Переключитесь к ортогональному виду спереди
Рис. 8.15. Выделять вершины по одной сложно. Команда Edit Polygons Selection Grow Selection Region позволяет выделить точки вокруг области выделения, и количество выделенных вершин увеличивается
Рис. 8.18. Поместите вторую вершину на грани с помощью инструмента Create Polygon
1. Выберите пункты меню Panels Orthographic front, чтобы переключиться к ортогональному виду спереди (рис. 8.17). Ортогональный вид упрощает рисование граней с плоской поверхностью (где все вершины поверхности лежат на одной плоскости). 2. В меню Polygons выберите инструмент Create Polygon. Курсор сменит вид на перекрестие, показывая, что программа готова перейти к созданию полигона. 3. На виде спереди щелкните мышью по любому месту, в котором хотите создать первую вершину на грани. Светло-зеленый квадрат показывает текущую вершину. 4. Щелкните и удерживайте кнопку мыши для создания следующей вершины, затем передвиньте указатель мыши, чтобы проследить связь с предыдущей вершиной (рис. 8.18).
Полигональное моделирование 221
220 Полигоны 5. Отпустите кнопку мыши, чтобы закончить создание второй вершины. Когда вторая вершина создана, нажмите кнопку мыши и передвиньте указатель мыши, чтобы проследить связь между двумя вершинами. 6. Повторяйте шаги 4 и 5, чтобы создать третью вершину (рис. 8.19). 7. Создайте четвертую вершину и нажмите клавишу Enter (рис. 8.20). Простая полигональная грань – первый шаг при создании любого количества моделей. Теперь давайте добавим несколько «окон» к вашему полигональному дому.
Создание окон дома 1. Выполните предыдущий набор шагов для создания четырехсторонней полигональной грани. 2. Удерживая клавишу Ctrl/Control, щелкните указателем мыши внутри грани, чтобы создать вершину (рис. 8.21). 3. Создайте еще как минимум три вершины, чтобы получилась прямоугольная оконная рама внутри грани (рис. 8.22). 4. Повторите шаги 2 и 3 и создайте еще одну раму. Затем нажмите клавишу Enter. Рис. 8.19. Поместите третью вершину так, чтобы образовался нужный угол
Рис. 8.20. Поместите четвертую вершину так, чтобы образовался прямоугольник
Трехгранные и четырехгранные поверхности В большинстве случаев при моделировании вы захотите, чтобы ваша конечная полигональная сетка имела трехсторонние грани (треугольник) или четырехсторонние (квадрат). Грани также могут быть плоскими и нет, то есть вершины, составляющие грань, лежат в одной плоскости. Например, если игральная карта – четырехсторонняя полигональная грань, то она плоская. Если изогнуть ее от одного угла до другого, чтобы она напоминала скрученный лаваш, карта перестает быть плоской. Трехсторонние грани всегда плоские, четырехсторонние же могут и не быть плоскими, как в примере выше, но их удобнее строить по многим причинам; к тому же их легко конвертировать в трехсторонние грани. Однако при создании деталей с n-ным количеством сторон и более чем 4 гранями результаты могут быть непредсказуемыми, особенно если грань неплоская или деформирована. По этой причине лучше избегать построения деталей с n-ным количеством граней.
Рис. 8.21. Щелкните мышью внутри первой полученной грани и приступите к созданию окна
Рис. 8.22. Поместите четвертую вершину окна с помощью инструмента Create Face
Полигональное моделирование 223
222 Полигоны При построении полигональной модели грань за гранью необходимо соединять эти грани путем слияния двух вершин или сторон в одну. Однако полигональные инструменты работают только с теми компонентами, которые находятся в пределах одной сетки, поэтому вам придется сначала соединять отдельные грани в одну сетку.
Слияние ребер
Рис. 8.23. Выберите две отдельные полигональные сетки
Слияние вершин 1. Выберите поверхности (рис. 8.23) и пункты Polygons Combine (Объединить). Поверхности выделяются одним цветом, показывая, что находятся в одной сетке. 2. Нажмите клавишу F8, чтобы переключиться в режим Component. 3. Выберите пункт Points и выберите вершину на каждой грани (рис. 8.24). Выбранные вершины окрасятся в желтый цвет. 4. В меню Edit Polygons выберите значок напротив пункта Merge Vertices (Слияние вершин). Появится диалоговое окно Merge Vertex Options (Опции слияния вершин) – рис. 8.25. 5. В диалоговом окне Merge Vertex Options установите ползунок Distance (Расстояние) таким образом, чтобы он охватил расстояние между выбранными вершинами (в данном случае следует задать значение 1). 6. Нажмите кнопку Apply. Две вершины сольются (рис. 8.26).
Рис. 8.26. Результат слияния двух вершин
Рис. 8.27. Указатель курсора сменится на стрелку при выборе инструмента Merge Edge
Рис. 8.24. Выберите две вершины для слияния с помощью инструмента Merge Vertices
Рис. 8.28. Потенциальным ребрам слияния присвоены стрелки Рис. 8.25. Установите значение 1 для пункта Distance в диалоговом окне Merge Vertex Options
Рис. 8.29. Результат слияния ребер
1. Выберите поверхности и пункты меню Polygons Combine. Поверхности выделяются одним цветом – это означает, что они находятся в одной сетке. 2. В меню Edit Polygons выберите инструмент Merge Edges (Слияние ребер). Указатель курсора изменится на стрелку (рис. 8.27). 3. Щелкните по ребру одной из граней. Выбранное ребро потемнеет, и на всех ребрах, свободных для слияния, появятся фиолетовые стрелки (рис. 8.28). 4. Выберите щелчком мыши одно из свободных ребер и нажмите клавишу Enter. Два ребра сольются (рис. 8.29).
Полигональное моделирование 225
224 Полигоны При редактировании сетки вам может понадобиться удалить грань. Можно просто выделить и удалить большую часть деталей полигональной сетки, но если вы удаляете грань, то, как правило, на ее месте остается вырез. В противоположность этому инструмент Collapse (Стягивание) удаляет выбранные грани и ребра, а затем стягивает окружающие ее вершины в одну точку, не оставляя выреза.
Рис. 8.32. Поместите грань для обозначения границ выреза
Стягивание граней куба 1. Выберите поверхности и пункты меню Polygon Primitives Cube. Поверхности выделяются одним цветом – это означает, что они находятся в одной сетке. 2. Правой кнопкой мыши щелкните по кубу, чтобы открыть меню Marking, и выберите пункт Face. 3. Щелкните по грани, выделив ее (рис. 8.30). 4. Выберите пункты меню Edit Polygons Collapse. Выбранная грань удаляется, и оставшиеся вершины стягиваются в одну точку (рис. 8.31). При необходимости вырезать часть поверхности в полигоне используйте грань – это позволит осуществить вырез столь же легко, как вы вырезаете фигурки из теста при помощи формочек. При этом грани должны находиться в пределах одной сетки.
Рис. 8.30. Выберите грань для стягивания
Рис. 8.33. Выделите грань с помощью инструмента Make Hole
Рис. 8.34. Выделите грань, на которой нужно вырезать отверстие Рис. 8.31. Результат стягивания грани
Вырезание отверстия в кубе 1. В меню Create выберите пункты меню Polygon Primitives Cube. 2. В том же меню выберите пункты меню Polygon Primitives Plane. Рис. 8.35. Результат вырезания
3. Нажмите клавишу W или щелкните мыинструмента шью по пиктограмме Move на панели инструментов. 4. С помощью инструмента Move поместите плоскость над кубом (рис. 8.32). 5. Выделите куб и плоскость и выберите пункты меню Polygons Combine, чтобы объединить их в одну решетку. 6. В меню Edit Polygons выберите пункт Make Hole (Осуществить вырез). Указатель курсора приобретет форму стрелки, и решетка перейдет в режим Face component. 7. Щелкните по квадрату в центре плоскости, чтобы выбрать ее грань в качестве формы выреза (рис. 8.33). Грань выделится более темным цветом. 8. Щелкните по квадрату в центре вершины куба, чтобы выбрать его верхнюю грань в качестве грани, в которой будет осуществляться вырез (рис. 8.34) 9. Нажмите клавишу Enter, чтобы завершить создание выреза (рис. 8.35). Инструмент Bevel (Скашивание) удаляет ребро и заменяет его углообразной гранью. Поскольку реально существующие объекты почти никогда не обладают идеально заточенными гранями, вам, скорее всего, частенько придется использовать данный инструмент. Команда Extrude Face (Выдавить грань) позволяет вытолкнуть грань поверхности. Сначала нужно выделить грань или грани, затем применить указанную команду и работать уже с полученными гранями.
Полигональное моделирование 227
226 Полигоны
Довольно часто требуется пропорционально масштабировать выдавленную грань. Щелкните по любому манипулятору Scale, и в центре грани появится манипулятор для пропорционального изменения ее размеров. Чтобы повернуть грань вокруг какойлибо оси, щелкните по внешнему манипулятору вращения. Появятся три манипулятора вращения (по одному для каждой оси).
Выдавливание граней куба 1. В меню Create выберите пункты Polygon Primitives Cube. 2. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Face. 3. С помощью рамки выделите все грани (рис. 8.36). 4. В меню Edit Polygons выберите пункт Extrude Face. Появится манипулятор, который используется для перемещения, поворота новых граней и их масштабирования (рис. 8.37). Манипулятор отображается только на одной грани, но влияет на все выдавленные грани. Он преобразует грани локально, то есть перемещает их относительно нормали поверхности (прямая, перпендикулярная центру каждой выдавленной грани). 5. С помощью манипулятора перемещения передвиньте одну грань в направлении от центра куба, как бы выдвигая ящик письменного стола. Все вновь выдавленные поверхности также перемещаются от центра (рис. 8.38). Эта процедура упрощает создание симметричных объектов. Когда вы применяете команду выдавливания в первый раз, в центре каждого ребра грани, которую вы выбрали, появляются точки (рис. 8.37). Эти точки – центры новых граней, появившихся в результате выдавливания. Однако они остаются вырожденными до тех пор, пока вы не переместите выделенную грань или не измените ее размеры. Если этого не сделать, данные элементы создадут проблемы при конечной визуализации. Ведь на самом деле существует две поверхности, которые располагаются непосредственно друг под другом. Чтобы этого избежать, не забудьте после каждого выдавливания переместить или масштабировать грань.
Выдавливание ребер Рис. 8.36. Если вы выделяете рамкой весь объект целиком, выделяются и грани, находящиеся на обратной стороне объекта
Рис. 8.38. Если одна из граней выдвигается вперед, все остальные повторяют ее движение. Манипулятор масштабирования инструмента Extrude Face изменяет размеры всех выделенных граней относительно центров одновременно
Рис. 8.37. Этот манипулятор появляется при выборе команды Edit Polygons Extrude Face
Рис. 8.39. Удалена одна грань куба, на месте которой образовалось отверстие
Рис. 8.40. Выделены ребра на правой и левой сторонах отверстия
1. В меню Create выберите пункты Polygon Primitives Cube. 2. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Face. 3. Выделите грань на боковой стороне куба и нажмите клавишу Delete. Грань исчезнет, и вы увидите куб изнутри (рис. 8.39). Можно удалить ребро или вершину, но это не откроет куб: останется большая грань, определяемая тремя ребрами. Чтобы убедиться в этом, выделите несколько вершин и в меню Edit Polygons выберите пункт Delete Vertex. 4. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Edge. 5. Выделите левое ребро созданного отверстия и, удерживая нажатой клавишу Shift, выделите правое (рис. 8.40). 6. В меню Edit Polygons (Редактировать полигоны) выберите пункт Extrude Edge (Выдавить ребро).
Полигональное моделирование 229
228 Полигоны 7. Переместите ребро на некоторое расстояние от куба и немного в сторону. Создано две новых грани, а куб теперь выглядит как открытая коробка (см. рис. 8.41).
Выдавливание ребер и граней вдоль кривой пути
Ребро может принадлежать только одной грани или двум. Это значит, что выдавливать следует только ребра полигона, смежные с отверстием. Нарушать это правило не рекомендуется (рис. 8.42).
С помощью инструментов Extrude Face и Extrude Edge выделенные ребро или грань можно выдавить вдоль предопределенной кривой. Указывая число делений в опциях Extrude Face или Extrude Edge, вы управляете числом дополнительных полигонов, которые добавляются при выдавливании. Чем больше значение Division (Деление), тем больше деталей будет добавлено и тем более гладкой будет конечная поверхность.
Рис. 8.43. В качестве пути выдавливания используется кривая, созданная на основе контрольных точек Рис. 8.41. При выдавливании ребер создаются новые грани. При перемещении одного ребра другое перемещается в том же направлении по одной оси и в противоположном – по другой. На рисунке показаны два возможных результата
Рис. 8.42. У объекта слева в результате выдавливания появилось ребро, которое принадлежит трем граням, а у объекта справа такого ребра нет, поскольку у него есть отверстие. Модель, ребро которой принадлежит более чем двум граням, не самая удачная. Такой объект нельзя преобразовать в поверхности разделения
Рис. 8.44. Грань выделена и готова к выдавливанию
1. В меню Create выберите пункты Polygon Primitives Cube. 2. Выполните команды меню Create CV Curve Tool. 3. Создайте кривую, начало которой находится на грани или ребре, которые требуется выдавить, а конец – в том месте, где должно завершиться выдавливание. Таким образом вы определите кривую пути (рис. 8.43). 4. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Face или Edge. 5. Выделите грань или ребро, которые нужно выдавить вдоль кривой пути (рис. 8.44). 6. Удерживая нажатой клавишу Shift, выделите кривую пути. 7. В меню Edit Polygons щелкните по значку рядом с пунктом Extrude Face, если выделена грань, или рядом с пунктом Extrude Edge, если выделено ребро. Откроется окно Extrude Face Options или Extrude Edge Options.
Полигональное моделирование 231
230 Полигоны 8. Убедитесь, что в разделе Other Values (Другие значения) активирован флажок Use Selected Curve for Extrusion (Использовать выделенную кривую для выдавливания) – рис. 8.45. 9. Нажмите кнопку Apply. Компонент выделенной поверхности выдавлен. В настройках по умолчанию установлено только одно деление, поэтому новая поверхность выдавливается по прямой, соединяющей начальную и конечную точки кривой пути (рис. 8.46). 10. Не закрывая окно Extrude Options, средней кнопкой мыши щелкните в рабочем окне, а затем отмените одно действие так, чтобы компонент и кривая были все еще выделены. 11. В окне Extrude Options в разделе Other Values присвойте параметру Divisions (Деления) значение 10 (рис. 8.47). 12. Нажмите кнопку Extrude Face или Extrude Edge. Выделенные грань или ребро теперь выдавлены вдоль кривой пути (рис. 8.48).
При изменении параметра Twist (Скрутка) выдавленные полигоны поворачиваются по мере их следования вдоль кривой. При изменение параметра Taper/Taper Curve (Сузить/сузить кривую) выдавленные полигоны масштабируются по мере их следования вдоль кривой (рис. 8.49).
Рис. 8.45. Активируйте флажок Use Selected Curve for Extrusion. Это гарантирует, что выдавленные поверхности будут следовать пути, который определяется выделенной кривой Рис. 8.48. Выделенная грань выдавлена вдоль кривой пути
Инструмент Extrude Vertex (Выдавить вершину) позволяет создавать вокруг выделенной вершины дополнительные полигоны, образующие форму пирамиды, при этом вершина удаляется от поверхности на расстояние, определенное пользователем.
Выдавливание граней из вершины
Рис. 8.46. Параметр Divisions определен по умолчанию равным 1, поэтому в результате поверхность выдавливается по прямой Рис. 8.49. Выдавленные поверхности уменьшаются по мере удаления от начальной грани
Рис. 8.47. Увеличение параметра Divisions до 10 разделяет конечную выдавленную поверхность на достаточное количество сегментов, что позволяет поверхности точно следовать вдоль кривой пути
Рис. 8.50 При подготовке к выдавливанию выделена угловая вершина
1. В меню Create выберите пункты Polygon Primitives Cube. 2. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Vertex. 3. Выделите вершину, которую требуется выдавить (рис. 8.50). 4. В меню Edit Polygons щелкните по значку рядом с пунктом Extrude Vertex. Откроется окно Extrude Vertex Options. 5. Присвойте параметру Extrude Length (Расстояние выдавливания) значение 2 (рис. 8.51). Таким образом вы определите, как далеко от поверхности переместится выделенная вершина.
Рис. 8.51. Параметр Extrude Length определяет, как далеко от поверхности переместится выделенная вершина
Полигональное моделирование 233
232 Полигоны 6. Нажмите на кнопку Extrude Vertex. Вершина выдавлена, при этом созданы дополнительные грани, образующие пирамидальную форму (рис. 8.52).
Разбиение грани
Параметр Extrude Width определяет относительный размер поддерживающих вершин, которые использовались для создания выдавленной поверхности. При его изменении пирамида становится шире. Параметр Divisions определяет, сколько раз будет разделена выдавленная поверхность. При его увеличении поверхность делится на дополнительные полигоны (рис. 8.53).
Инструмент Split Polygon (Разбить полигон), усовершенствованный в последних версиях Maya, широко используется при полигональном моделировании. Он позволяет разбить одну грань на две или более граней при помощи ребра, определенного пользователем. Чтобы сэкономить время, можно разбивать несколько граней одновременно. В окне проекции Persp объект определенным образом искажается, поэтому определить середину ребра сложно. Чтобы разбить ребро в нужном месте, инструмент Split Polygon следует привязать к центральной точке ребра или точке, определенной пользователем. Как правило, при моделировании рекомендуется ограничиться трех- и четырехсторонними гранями, то есть треугольниками (triangles) и квадратами (quads), поскольку для них проще предсказать результат применения других инструментов редактирования. Если же у грани пять или более сторон, нужно разбить ее на несколько граней с меньшим числом сторон.
Рис. 8.55. С помощью инструмента Split Polygon можно поместить точку точно в центр ребра
Рис. 8.52. При выдавливании вершины создается пирамидальная форма
Рис. 8.56. Новое ребро определяется двумя точками, размещенными с помощью инструмента Split Polygon. Нажатие клавиши Enter завершает выполнение команды. Однако вы можете продолжить разбиение (и пройтись по всему кубу), щелчком мыши добавляя на каждое ребро по одной точке
Рис. 8.53. Параметру Divisions присвоено значение 2. Это создает дополнительную геометрию поверхности на выдавленном объекте
Рис. 8.54. Инструмент Split Polygon позволяет разбить полигон пополам, на три части, на четыре части и т.д.
Рис. 8.57. Новое ребро перемещено вверх, и наш куб превратился в игрушечный домик. Заметьте, что фасад дома образует пять ребер. Грань, в которой больше четырех ребер, не слишком удачна
1. В меню Create выберите пункты Polygon Primitives Cube. 2. В меню Edit Polygons щелкните по значку рядом с пунктом Split Polygon Tool. Откроется окно Tool Settings (Параметры инструмента), в котором находятся опции инструмента Split Polygon (Разбить полигон). 3. Отметьте галочками флажки Snap to Magnets (Привязка к магнитам) и Snap to Edge (Привязка к ребру). Поставьте ползунок Magnet Tolerance (Допуск магнита) примерно на середину диапазона (рис. 8.54). 4. Перетащите указатель мыши к середине верхнего ребра. Точка должна привязаться к центру ребра (рис. 8.55). Отпустите кнопку мыши. 5. Перетащите указатель мыши в середину ребра, которое находится на противоположной стороне верхней грани куба (рис. 8.56). Если включен режим Snap to Edge, точки можно выделять только на ребре. 6. Нажмите клавишу Enter. Грань разбита пополам. 7. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Edge. 8. Выделите вновь созданное ребро и переместите его вверх. Объект должен быть похож на игрушечный домик (рис. 8.57).
Полигональное моделирование 235
234 Полигоны Разрезающая линия
9. В меню Edit Polygons выберите пункт Split Polygon Tool. 10. Перетаскивайте указатель мыши вдоль левой стороны куба, пока точка не привяжется к верхнему углу. Повторите то же самое для правой стороны (рис. 8.58). 11. Нажмите клавишу Enter. Теперь грань с пятью сторонами, которая образовывала фасад дома, разбита на две грани: треугольник и квадрат. Убедитесь, что при разбиении всегда создается ребро. Если вы щелкните по одному ребру и нажмете клавишу Enter, не щелкнув по другому ребру той же грани, вы создадите лишнюю вершину. Это еще один пример неудачной конструкции. Чтобы избежать этого, не забудьте отменить действие, если инструментом Split Polygon не было создано новое ребро.
Рис. 8.58. Создано новое ребро, которое разбивает переднюю грань на две отдельные грани
Короткая линия показывает, какая часть объекта будет удалена
Рис. 8.60. При помощи Cut Face можно разрезать поверхность в любом месте. Короткая кривая определяет, какая из двух частей, разграниченных линией, будет удалена
Иногда привязка к центру может затруднить создание других разбиений. Чтобы отключить привязку, в диалоговом окне Tool Settings в разделе Split Polygon Settings снимите флажок Snap to Edge. Не обязательно осуществлять привязку в середине ребра, привязывать можно и к нескольким точкам. Если требуется разбить полигон на три части, осуществите привязку в точке, находящейся от вершины на расстоянии одной трети длины ребра. В диалоговом окне Tool Settings перейдите в раздел Split Polygon Settings, и в поле Number of Magnets (Число магнитов) введите значение 2. Создано две равномерно распределенные вдоль ребра точки, к которым будет применяться привязка (нужно также активировать флажок Snap to Magnets).
Разбиение множества полигонов инструментом Split Polygons – утомительный процесс. А с помощью инструмента Cut Face (Разрезать грань) грани можно разрезать так же, как ножом кусок сыра (см. рис. 8.59). Он добавляет на полигон (или на весь полигональный объект) ребра с помощью спроецированной линии, положение которой вы определяете по своему желанию (рис. 8.60). Линия проецируется под углом зрения камеры, разрезая все выделенные и пересекающиеся с ней полигоны. Если в настройках Cut Face выделена опция удаления, одна из частей разрезанного объекта будет удалена. Это позволяет создать и зеркально отобразить экземпляр объекта, придав ему тем самым законченную форму (так вы бы поступили с головой персонажа).
Разрезание поверхности инструментом Cut Face 1. Создайте полигональный примитив куб и выделите его. 2. В меню Edit Polygons щелкните по значку рядом с пунктом Cut Faces. Откроется окно Polygon Cut Face Tool Options (рис. 8.61).
Рис. 8.59. Инструмент Cut Face позволяет интерактивно разрезать любые поверхности, при этом одна часть поверхности либо удаляется, как показано на рисунке, либо поверхность просто разрезается и обе части остаются на сцене
Рис. 8.61. Настройки диалогового окна Polygon Cut Face Tool Options позволяют разрезать поверхности в точно заданном месте или интерактивно определять положение разрезающей линии. Вы можете изменить направление или плоскость разреза
Полигональное моделирование 237
236 Полигоны 3. Щелкните по кнопке Enter Cut Tool (Ввести инструмент разрезания). Появится линия, представляющая разрезающую плоскость (рис. 8.62). 4. Щелкните в рабочем окне и перетащите линию, чтобы определить положение разрезающей плоскости на поверхности. 5. Чтобы разрезать поверхность, отпустите кнопку мыши (рис. 8.63). Линия спроецирована на объект, а в тех местах, где она пересекает поверхность, сделаны разрезы. Заметьте, что не было удалено ни одной поверхности – они были добавлены. 6. В диалоговом окне Polygon Cut Face Tool Options установите флажок Delete the Cut Faces (Удалить отрезанные грани) – рис. 8.64. 7. Нажмите кнопку Enter Cut Tool and Close. Указатель мыши примет форму стрелки. 8. Чтобы выбрать еще одну разрезающую плоскость, щелкните по линии и перетащите ее вдоль поверхности. 9. Чтобы разрезать поверхность, отпустите кнопку мыши. Отсекаемая поверхность будет удалена (рис. 8.65). Короткая линия, перпендикулярная разрезающей, указывает на отсекаемую поверхность, которая будет удалена (рис. 8.60). Удерживайте нажатой клавишу Shift, чтобы выровнять разрезающую линию по горизонтали, вертикали или под углом 45°, а разрез сделать более точным.
Рис. 8.62. Вы можете перемещать и поворачивать разрезающую линию до тех пор, пока вы не достигнете нужного результата
Рис. 8.63. Чтобы разрез проходил через поверхность, разрезающая линия проецируется под выбранным углом зрения камеры
Выделенная грань
Рис. 8.66. Выделенная грань будет разбита с помощью команды Poke
Инструмент Poke Faces (Вытолкнуть грани) используется для разделения выделенной грани, при этом в модель добавляются дополнительные детали и точки выделения. Действие инструмента Poke Faces напоминает работу Subdivide – он разрезает выделенную грань на идеальные треугольники. Однако у инструмента Poke Faces несколько иная специализация и определяемые ей преимущества: когда поверхности разделены, вам остается только переместить новые полигоны с помощью манипулятора.
Выталкивание грани полигона с помощью инструмента Poke Faces
Рис. 8.64. Если флажок Delete the cut faces отмечен галочкой, то отсекаемая поверхность удаляется
Рис. 8.67. Выделенная грань разбита на четыре треугольника Рис. 8.65 Отсекаемая поверхность удаляется, остается лишь часть начальной поверхности
Рис. 8.68. Инструмент Poke создает манипулятор в центральной точке вытолкнутой грани, с помощью которого можно сделать новую геометрию как выпуклой, так и вогнутой
1. Создайте полигональный примитив куб. 2. Правой кнопкой мыши щелкните по поверхности куба и в контекстном меню выберите пункт Face. 3. Выделите одну или более граней, которые нужно вытолкнуть (рис. 8.66). 4. В меню Edit Polygons выберите пункт Poke Faces. Каждая выделенная грань разбивается на четыре треугольника (рис. 8.67). 5. Щелкните по манипулятору и переместите его на некоторое расстояние от поверхности. По мере удаления манипулятора грань приобретает пирамидальную форму (рис. 8.68).
Полигональное моделирование 239
238 Полигоны Инструмент Wedge Face (Расклинить грань) является разновидностью инструмента Extrude Face. Он создает угловые клинья, выдавливая полигональные грани по дуге (рис. 8.69). Этот инструмент значительно экономит время при создании полигональных поверхностей, которые должны быть получены перемещением и поворотом. Чтобы создать клин, не прибегая к помощи инструмента Wedge Face, вам пришлось бы выдавливать грани одну за другой, а затем поворачивать каждую из них по дуге. Ту же самую задачу можно выполнить гораздо проще, воспользовавшись инструментом Wedge Face.
Рис. 8.72. В диалоговом окне Polygon Wedge Faces Options установите угол клина и количество клиньев в новой поверхности
Рис. 8.69. Примитив куба с клиньями
Расклинивание грани полигона 1. Создайте полигональный примитив куб. 2. Правой кнопкой мыши щелкните по объекту и в контекстном меню выберите пункт Edge. 3. Выделите ребро, вдоль которого будут изгибаться или образовывать дугу выдавленные поверхности (рис. 8.70). 4. Правой кнопкой мыши щелкните по поверхности и в контекстном меню выберите пункт Face. 5. Чтобы выделить грань одновременно с ребром, щелкните по ней, удерживая нажатой клавишу Shift (рис. 8.71).
Рис. 8.73. Вокруг выделенного ребра дугой создана новая геометрия. Чтобы сделать клин более гладким, добавлены дополнительные полигоны
Рис. 8.70. Выделенное ребро определяет положение оси, по которой будет повернут клин, а также направление выдавливания
Рис. 8.74. Ребра поверхности приобретают важность при повороте и выдавливании, осуществляемым командой Wedge. Выделите ребро, вокруг которого нужно выдавить клинья
Рис. 8.71. Выделена правая грань куба
6. В меню Edit Polygons выберите пункт Wedge Faces. Откроется диалоговое окно Polygon Wedge Faces Options (рис. 8.72). 7. Нажмите кнопку Apply. Вокруг выделенного ребра дугой создана новая геометрия под углом в 90° от начальной выделенной грани (рис. 8.73). 8. Правой кнопкой мыши щелкните по поверхности и в контекстном меню выберите пункт Edge. 9. Выделите на противоположной стороне куба ребро, вдоль которого будут изгибаться или образовывать дугу новые выдавленные поверхности (рис. 8.74). 10. Правой кнопкой мыши щелкните по поверхности и в контекстном меню выберите пункт Face.
Полигональное моделирование 241
240 Полигоны 11. Чтобы выделить грань одновременно с ребром, щелкните по ней, удерживая нажатой клавишу Shift (рис. 8.75). 12.Присвойте параметру Wedge Angle (Угол клина) значение 120, а Wedge Divisions (Число клиньев) значение 8, затем нажмите кнопку Apply. Вокруг выделенного ребра дугой создана новая геометрия под углом в 120° от начальной выделенной грани. Она состоит из восьми клиньев, расположенных по дуге (рис. 8.76).
Скос угла полигона
Рис. 8.78. В меню Edit Polygons выберите пункт Chamfer Vertex Рис. 8.75. Выделите грань, вокруг которой нужно образовать дугу
Новый инструмент Chamfer Vertex (Скосить вершину) удаляет выделенную вершину, создавая скошенный угол. В результате получается полигон с тремя сторонами, в котором удалена начальная вершина.
1. В меню Create выберите пункты Polygon Primitives Cube. 2. Правой кнопкой мыши щелкните по поверхности и в контекстном меню выберите пункт Vertex. 3. Выделите вершину угла, который требуется сделать скошенным (рис. 8.77). 4. В меню Edit Polygons выберите пункт Chamfer Vertex (рис. 8.78). Угол полигона становится скошенным, а его вершина заменяется гранью с тремя сторонами (рис. 8.79). Если в окне инструмента Chamfer Vertex активен флажок Delete Faces (Удалить грани), то на месте скошенного угла остается треугольное отверстие. Настраивая в окне инструмента Chamfer Vertex параметр Width (Ширина), вы изменяете длину ребра, которую образует скошенный угол, а вновь созданный треугольник становится шире или уже.
Рис. 8.76. Изменяя атрибут Wedge Angle, можно управлять размером дуги
Рис. 8.79. Результат применения команды Chamfer Vertex
Рис. 8.77. Выделите вершину, которую нужно сделать скошенной
Полигональное моделирование 243
242 Полигоны
Вы также можете использовать инструмент Bevel Plus для создания объектов со скошенными краями. Bevel Plus использует кривые для выдавливания объектов и придания им оснований и скошенных граней.
Скашивание ребра 1. В меню Create выберите пункты Polygon Primitives Cube. 2. Правой кнопкой мыши щелкните по кубу и выберите Edge из меню Marking. 3. Выберите ребра на кубе, которые хотите скосить (рис. 8.80). 4. Выберите пункты меню Edit Polygons Bevel (рис. 8.81). Ребра становятся скошенными, создавая углообразные грани (рис. 8.82).
Создание скошенного объекта с отверстием
Рис. 8.81. Выберите команду Bevel
Рис. 8.84. Выполните команду Edit Polygons Bevel
Рис. 8.82. Куб со скошенными ребрами Рис. 8.85. В разделе Inner Bevel Style выберите пункт Straight In Рис. 8.80. Выберите ребра для скашивания
Рис. 8.86 Пуговица со скошенными краями Рис. 8.83. Выберите кривые для скашивания
1. Создайте две закрытые кривые. Для получения дополнительной информации по созданию примитивов NURBS обратитесь к главе 3. 2. Выберите сначала внешнюю, а затем внутреннюю кривую (рис. 8.83). 3. В меню Surfaces выберите значок напротив пункта Bevel Plus. Появится диалоговое окно Bevel Plus Options (рис. 8.84). 4. На вкладке Bevel установите значение параметров Bevel Width и Bevel Depth равным 0.1, а значение параметра Extrude Distance – 0.25. 5. Из списка Outer Bevel Style выберите пункт Straight Out. 6. Снимите флажок Same as Outer Style. Активируется список Inner Bevel Style. 7. Из списка Inner Bevel Style выберите пункт Straight In (рис. 8.85). 8. На вкладке Output выберите пункт Polygons. 9. Нажмите кнопку Apply, чтобы создать объект со скошенными гранями (рис. 8.86).
Полигональное моделирование 245
244 Полигоны Инструмент Sculpt Polygons (Рельефные полигоны) позволяет манипулировать полигональными поверхностями так же, как это происходит при работе с глиной. В отличие от Soft Modification, инструмент Sculpt Polygons больше напоминает кисть и изменяет поверхность постепенно, с каждым мазком.
5.
6.
Придание рельефа полигонам 1. В меню Create выберите значок напротив пункта Polygon Primitives Plane. Появится диалоговое окно Plane Options. 2. В диалоговом окне Plane Options установите значение параметров Subdivisions Along Width и Subdivisions Along Height равным 50 и нажмите кнопку Apply (рис. 8.87). Будет создана плотная поверхность (рис. 8.88). 3. В меню Edit Polygons выберите значок напротив пункта Sculpt Polygons. Откроется диалоговое окно Sculpt Surfaces/Polygons Tool в редакторе атрибутов (рис. 8.89). 4. Расположите курсор над активной поверхностью. При активировании инструмента Sculpt Polygons указатель курсора сменит вид на кисть, и кисть Sculpt Polygons будет
Рис. 8.88. Создайте плотную поверхность для придания рельефа
7.
Рис. 8.91. В разделе Sculpt Parameters задайте параметру Max. Displacement значение .4672
8.
9.
Рис. 8.89. Откройте Sculpt Surfaces/Polygons Tool в редакторе атрибутов
Рис. 8.87. Присвойте пунктам Subdivisions Along Width и Subdivisions Along Height значение 50
Рис. 8.90. Пиктограмма кисти и манипулятора. Внешняя окружность представляет размер кисти, а стрелка – направление действия и силу эффекта
появляться каждый раз, когда вы проводите курсором над выбранной поверхностью (рис. 8.90). Удерживая клавишу b и кнопку мыши, переместите курсор вправо, чтобы увеличить размер кисти, или влево, чтобы уменьшить его. В разделе Sculpt Polygons диалогового окна Sculpt Surfaces/Polygons Tool используйте ползунок Max. Displacement (Макс. замещение) для изменения эффекта (рис. 8.91). Чем больше значение, тем большее количество поверхности будет замещено. Лучше всего присваивать данному параметру небольшие значения, чтобы легче контролировать создаваемый эффект. Отметьте опцию Pull (Тянуть), чтобы изменить направление действия эффекта. Опция Pull замещает поверхность по направлению к кисти, тогда как Push (Толкать) замещает поверхность в направлении от кисти. В разделе Brush выберите одну из четырех форм Profile, чтобы изменить форму кисти (рис. 8.92). Поводите кистью по поверхности, чтобы понаблюдать за создаваемым эффектом (рис. 8.93).
Рис. 8.92. Выберите вторую форму кисти в разделе Brush Profiles
Рис. 8.93. Рельефная поверхность
Полигональное моделирование 247
246 Полигоны Низкое разрешение
При моделировании зачастую необходимо создавать симметричные объекты. Например, люди «бисимметричны» в том смысле, что одна половина напоминает другую, только повернутую. Команда Mirror Geometry (Зеркальная фигура) отобразит половину объекта таким образом, что у вас получатся две симметричные половинки. Это означает, что вам остается лишь смоделировать одну половину тела, а затем использовать Mirror Geometry, чтобы создать всю фигуру человека.
Инструмент Smooth Proxy
Создание зеркальной фигуры 1. Выберите объект, для которого необходимо создать зеркальное отображение (рис. 8.94). 2. В меню Polygons выберите значок напротив пункта Mirror Geometry. Откроется диалоговое окно Polygon Mirror Options (рис. 8.95). 3. Выберите +X напротив пункта Mirror Direction (Направление зеркала) и нажмите кнопку Apply. Модель теперь состоит из двух половинок, соединенных посередине (рис. 8.96). Новый инструмент Smooth Proxy (Сгладить с управлением) идеально подходит для ситуаций, в которых лучше работать с моделями с низким разрешением, но при этом необходимо видеть, как модель будет выглядеть после сглаживания. Он позволяет просмотреть сглаженную версию модели с низким разрешением (как если бы вы применили к ней команду Smooth). Исходная поверхность с низким разрешением также отображается на экране. Поэтому вы можете работать с меньшим числом точек и одновременно видеть конечную форму.
Когда вы применяете команду Smooth Proxy к полигональной модели, программа создает новый слой, на котором находится сглаженная поверхность с высоким разрешением. Это позволяет вам просматривать обе версии одновременно, а при необходимости скрывать один из слоев.
Высокое разрешение
Рис. 8.94. Выберите половину объекта
Рис. 8.95. Выберите +X напротив пункта Mirror Direction
Рис. 8.97. Инструмент Smooth Proxy позволяет просмотреть сглаженную версию модели во время работы с версией с низким разрешением. На этом рисунке объект с низким разрешением имеет форму куба, однако при сглаживании он больше похож на сферу Низкое разрешение
1. В режиме выделения объектов выберите полигональный объект. 2. В меню Polygons выберите пункт Smooth Proxy. Maya создаст новую, сглаженную версию модели, сохранив при этом оригинал. Каждая новая форма добавляется на отдельный слой; чтобы упростить моделирование, можно сделать один из слоев невидимым (рис. 8.97). 3. Правой кнопкой мыши щелкните по исходному объекту и в контекстном меню выберите пункт Vertex. 4. Выделите и переместите одну из вершин. В версии модели с высоким разрешением отразятся изменения, внесенные в модель с низким разрешением (рис. 8.98). В настройках инструмента Smooth Proxy можно определить сглаживание версии модели с высоким разрешением, изменяя число разделений.
Высокое разрешение
Рис. 8.96. Симметричный объект
Рис. 8.98. Переместив всего одну точку на поверхности с низким разрешением, вы изменяете множество точек на поверхности с высоким разрешением
Полигональное моделирование 249
248 Полигоны Инструмент Subdivide (Разделить) разбивает грань на четырехугольники (грани с четырьмя сторонами) или на треугольники (грани с тремя сторонами). Это быстрый способ добавления на поверхность дополнительных граней. Однако не стоит путать этот процесс со сглаживанием поверхностей. В следующем примере мы воспользуемся инструментами Subdivide и Extrude Face, чтобы создать дверь.
У только что созданных полигональных объектов, как правило, острые ребра и углы. Их можно округлить с помощью команд Polygons Smooth (Полигоны Сгладить), которая разделяет поверхности на множество полигонов меньшего размера, таким образом округляя их углы и ребра. Рис. 8.99. Кубу придали форму двери, изменив его размеры Рис. 8.103. Диалоговое окно Polygon Smooth Options
Разделение полигональной грани 1. В меню Create выберите пункты Polygon Primitives Cube. Построение обычно начинается с куба, в который приблизительно вписывается объект, а затем из куба моделируется конечный объект с помощью команд меню Edit Polygons. 2. Придайте кубу форму двери (рис. 8.99). 3. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Face. 4. Выделите грань на передней части куба. 5. В меню Edit Polygons выберите команду Subdivide. Грань разбита на четыре части (рис. 8.100). Новые грани остаются выделенными. 6. В меню Edit Polygons выберите команду Extrude Face. Появятся новые грани и манипулятор. 7. Используя манипулятор, слегка уменьшите размер граней (рис. 8.101). 8. В меню Edit Polygons снова выберите команду Extrude Face. Появятся новые грани и манипулятор. 9. Уменьшите размер новых граней и переместите их к середине объекта. В результате должна получиться дверь с четырьмя панелями (рис. 8.102).
Сглаживание полигона
Рис. 8.100. Грань разделена на четыре грани меньшего размера. Чтобы разделить грань на большее количество граней, щелкните по значку рядом с пунктом Edit Polygons Subdivide и в диалоговом окне измените параметр Subdivisions Levels
Рис. 8.104. Начальная форма двери и сглаженная модель Рис. 8.101 Размеры выдавленных граней уменьшаются по отношению к их центрам
Рис. 8.102. Дверь с четырьмя панелями. Если бы до запуска функции Subdivide была одновременно выделена грань на противоположной стороне двери, то, проделав те же самые шаги, вы смоделировали бы одновременно и обратную сторону двери
1. Выделите полигональный объект, например, дверь из предыдущей задачи. 2. В меню Polygons выберите пункт Smooth. Откроется диалоговое окно Polygon Smooth Options (рис. 8.103). Если в нем определен высокий уровень разделения (два и более), то создаются более гладкие объекты с большим числом граней. Параметр Continuity определяет, насколько новый объект будет походить на оригинал. Если параметру Continuity присвоено небольшое значение, то объект более близок к оригиналу. При большом значении создаются очень округлые формы. 3. Ползунок Subdivision Levels (Уровни разделения) переместите на значение 3. 4. Нажмите кнопку Smooth. Объект становится гладким (рис. 8.104). Перед тем как применять команду Smooth, нужно завершить формирование основной структуры полигонального объекта. При сглаживании создается объект с уплотненной сеткой и большим количеством граней, с которым трудно работать.
Полигональное моделирование 251
250 Полигоны В диалоговом окне Polygon Smooth Options можно присвоить параметру Subdivisions Levels значение 4; однако обычно достаточно и значения 3 (при большем значении из-за избытка информации о точках поверхность становится громоздкой, усложняется ее визуализация и отображение в рабочих окнах). Изменить уровень сглаживания можно и после завершения операции, щелкнув по заголовку polySmoothFace1, который должен находиться в верхней части списка узлов Inputs в окне Channel Box. Ниже появится новый раздел, в котором вы увидите поле Divisions. Диапазон его изменения составляет от 0 (без сглаживания) до 4 (очень гладкая поверхность) – рис. 8.105. Можно сгладить только часть полигональной поверхности. В режиме компонентов выберите грани поверхности, которые требуется сгладить, а затем примените команду Smooth (рис. 8.106).
С помощью команды Polygons Reduce (Полигоны Уменьшить) количество граней в выбранной сетке или в поднаборе сеток уменьшается в процентном отношении, определенном пользователем. В пятой версии Maya инструменты сокращения количества полигонов значительно улучшены. При создании компьютерных игр и других интерактивных сред очень важно следить за тем, чтобы число полигонов было как можно меньшим. Это позволяет свести к минимуму время визуализации. Решить задачу помогает инструмент Reduce.
Уменьшение числа граней в полигональной сетке
Рис. 8.105. В поле узлов Inputs в Channel Box можно изменить опции команды Smooth после того, как она была запущена. Однако если в поверхность были внесены дополнительные изменения, возвратившись к опциям в разделе узла polySmoothFace и переопределив их, вы можете получить неожиданные результаты
Рис. 8.106. Слева выделены грани на верхней и нижней частях объекта. Справа представлен результат сглаживания. Функция Smooth выполняется только при выделении необходимых полигональных объектов или граней объекта; производить сглаживание, выделяя вершины или ребра, нельзя
Рис. 8.107. Полигональный объект с очень большим количеством полигонов
Рис. 8.108. Определите в поле Reduce by (%) нужное процентное соотношение сокращения, в данном случае – 80%
Рис. 8.109. Количество полигонов сократилось на 80%
1. Выделите полигональный объект или набор граней, из которого требуется убрать полигоны (рис. 8.107). 2. В меню Polygons выберите пункт Reduce. Откроется диалоговое окно Polygon Reduce Options. 3. Введите в поле Reduce by (%) (Уменьшить на (%)) число полигонов в процентном отношении, на которое вы хотите сократить сетку, например, 80% (рис. 8.108). 4. Нажмите кнопку Reduce. Плотность полигональной сетки уменьшилась на 80% от начального числа полигонов (рис. 8.109). Если вы хотите оставить копию оригинала, то есть поверхность с высоким разрешением, в диалоговом окне Polygon Reduce Options включите опцию Keep Original.
Работа с нормалями к вершинам 253
252 Полигоны
4. Выберите All Hard (0), а затем нажмите кнопку Apply. Поверхность сферы будет казаться более твердой (рис. 8.113). 5. Выберите All Soft (180), а затем нажмите кнопку Apply. Поверхность сферы снова станет более гладкой (рис. 8.114).
Работа с нормалями к вершинам У всех поверхностей есть нормали, но полигоны предоставляют вам большие возможности по управлению ими. Нормали подсказывают специалисту, работающему с визуализацией, как затенить поверхность. Направление и угол нормали определяет, насколько жестко или мягко визуализировать ребро между двумя гранями.
Отображение нормалей к вершинам
Редактирование нормали к вершинам Рис. 8.110. Используйте диалоговое окно Custom Polygon Display Options для отображения нормалей к вершинам
Рис. 8.113. Выберите All Hard (0), чтобы сфера стала похожа на Звезду смерти из «Звездных войн»
1. Выделите полигональный объект. 2. В меню Display выберите значок напротив пункта Custom Polygon Display. Откроется диалоговое окно Polygon Display Options (рис. 8.110). 3. В разделе Vertices выберите пункт Normals и нажмите кнопку Apply. На выделенном объекте отображаются нормали к вершинам с линиями, исходящими из вершин (рис. 8.111). Рис. 8.114. Выберите All Soft (180), чтобы поверхность сферы снова выглядела гладкой
Контролируя угол нормали к вершинам, вы добьетесь того, чтобы поверхность с низким разрешением выглядела более гладкой, чем она есть на самом деле.
Смягчение нормалей к вершинам 1. Создайте полигональную сферу, выбрав пункты меню Create Polygon Primitives Sphere. 2. Нажмите клавишу 5, чтобы переключиться в режим затенения. 3. В меню Polygon выберите пункты Edit Normals и затем значок напротив пункта Soften/Harden. Откроется диалоговое окно Polygon Soften/Harden Edge Options (рис. 8.112).
Рис. 8.111. На выделенном объекте отображаются нормали к вершинам с линиями, исходящими из вершин
Рис. 8.112. Измените вид объекта в диалоговом окне Polygon Soften/Harden Edge Options
Рис. 8.115. Готовый к вращению манипулятор Vertex Normal Edit Tool появляется на выбранной вершине
1. Выделите полигональный объект. 2. Нажмите клавишу 5, чтобы переключиться в режим затенения. 3. Нажмите клавишу F8, чтобы переключиться в режим Component, и выберите пункт Points . 4. Выберите вершину для редактирования. 5. В меню Edit Polygons выберите пункты Normals Vertex Normal Edit Tool. Нормали к поверхности отображаются на выбранном объекте, и появляется манипулятор Vertex Normal Edit Tool (рис. 8.115).
Работа с нормалями к вершинам 255
254 Полигоны
5. В меню Edit Polygons выберите Normals, а затем Set Vertex Normal. Появится диалоговое окно Set Vertex Normal Options (рис. 8.118). 6. Поставьте флажок Unlock Normals и нажмите кнопку Apply. Нормали вернутся к ориентации по умолчанию (рис. 8.119).
6. Щелкните мышью по одной из окружностей манипуляторов и перетащите ее в нужное место для вращения нормали к вершинам (рис. 8.116). При вращении вершины вы заметите на поверхности изменения в затенении. Если вы видите черные области на решетке в форме ромба, чаще всего это означает, что нормали к вершинам зафиксированы или их нельзя смягчить. Чтобы решить эту проблему, необходимо снять фиксацию нормали.
Снятие фиксации нормали к вершинам
Нормаль к грани определяет, какую из сторон поверхности визуализировать. Рис. 8.119. Результат снятия фиксации вершины
Отображение нормалей к граням 1. Выберите полигональный объект. 2. В меню Display выберите пункты Polygon Components Normals. Нормали граней отображаются в виде перпендикулярных линий, исходящих вертикально вверх из центра каждой грани (рис. 8.120).
Рис. 8.116. Вращайте нормаль к вершине
1. Выделите полигональный объект (рис. 8.117). 2. Нажмите клавишу 5, чтобы переключиться в режим затенения. 3. Нажмите клавишу F8, чтобы переключиться в режим Component, и выберите пункт Points . 4. Выберите зафиксированную вершину или вершины. Рис. 8.120. На полигональном объекте нормали к граням исходят из центра каждой грани
По умолчанию Maya создает двусторонние полигоны. Если создать односторонний полигон, будет отображаться сторона грани с нормалью. Если вы посмотрите на полигон с обратной стороны, то сможете видеть сквозь него. Этот эффект также известен под названием Backface Culling (Скрытие обратной стороны).
Создание односторонней сетки Рис. 8.117. Фиксированные нормали выглядят как черные ромбовидные формы на поверхности
Рис. 8.118. Поставьте флажок Unlock Normals в диалоговом окне Set Vertex Normal Options
1. Нажмите клавишу 5, чтобы переключиться в режим затенения. 2. Выберите полигональный объект (рис. 8.121). 3. Нажмите сочетание клавиш Ctrl/Control+a, чтобы открыть редактор атрибутов для выбранного объекта.
Рис. 8.121. Выберите двусторонний объект
Работа с нормалями к вершинам 257
256 Полигоны 4. В разделе Render Stats снимите флажок Double Sided (Двусторонний) – рис. 8.122. Объект обновится, и станет видна только одна сторона поверхности объекта (рис. 8.123). Работаете ли вы с одно- или с двусторонними полигонами, важно, чтобы нормали на одной сетке указывали в одну сторону. Однако нормали на одной поверхности могут и не быть обращены в ту же сторону, что и нормали на поверхности, к которой вы ее присоединяете. В подобной ситуации многие функции Maya ведут себя не так, как вы того ожидаете. Чтобы исправить это положение, выделите «бунтующие» грани и измените их нормаль к граням.
Разворот нормали к граням 1. Выберите полигональный объект. 2. Отобразите нормали к граням для объекта, как описано выше. Нормали к граням проецируются из центров всех граней (рис. 8.124). 3. В меню Edit Polygons выберите пункты Normals Reverse. Нормали к граням теперь проецируются в противоположном направлении (рис. 8.125). В программе Maya можно задать создание односторонних полигональных поверхностей, выбрав пункты меню Polygons Tool Options Create Meshes Single Sided.
Рис. 8.124. Нормали к граням нацелены наружу… Рис. 8.122. Снимите флажок Double Sided в редакторе атрибутов полигона
Рис. 8.123. С обратной стороны односторонней поверхности можно смотреть сквозь объект
Рис. 8.125. …пока их не развернешь
Все вышеуказанные инструменты по работе с нормалями могут применяться ко всему объекту или только к выделенным граням, и многие из этих инструментов также будут работать с выбранными вершинами, гранями и ребрами.
Компоненты поверхности разделения 259
поверхности разделения
Компоненты поверхности разделения
9
Поверхности разделения в стандартном режиме состоят из компонентов четырех видов – граней (face), вершин (vertex), проекционных координат (UV) и ребер (edge):
Формирование поверхности разделения, сочетающее в себе методы NURBS- и полигонального моделирования, имеет два режима: стандартный и полигональный. В полигональном режиме для работы с поверхностями можно использовать все полигональные инструменты. В стандартном режиме вы в основном работаете с вершинами, похожими на контрольные (CV) вершины NURBS. Но и в стандартном режиме у форм есть ребра и грани, как и у полигона. Этот режим позволяет переключаться между уровнями отображения (display levels), или различными уровнями детализации объекта (рис. 9.1). В полигональном режиме отображаются ребра полигональной формы, которые окружают сглаженную поверхность – поверхность разделения. В этом режиме несглаженная поверхность имеет те же самые компоненты, что и любой другой полигон. Стандартный режим включает в себя различные наборы компонентов, с которыми можно работать на разных уровнях отображения. Заметьте, что поверхности разделения, как и поверхности NURBS, могут иметь низкий, средний и высокий уровни сглаживания, которые активизируются клавишами 1, 2 и 3. Однако их не стоит путать с уровнями отображения, которые реально (а не только в окне вида) усложняют геометрию поверхности (рис. 9.2).
Рис. 9.3. Поверхность разделения находится на нулевом уровне отображения, на экране представлены ее грани
Рис. 9.1. Хаффер (так зовут это странное создание) был разработан Роем Майлзом (Roy Miles) и смоделирован Эндрю Бриттом (Andrew Britt) с помощью поверхностей разделения. Слева – объект в полигональном режиме, справа – в стандартном режиме, в котором отображаются вершины; наверху – в стандартном режиме, в котором компоненты не видны
Рис. 9.2. На рисунке представлены две копии цилиндра разделения. Тот, что слева, находится на уровне отображения 0, а тот, что справа, на уровне отображения 1
Рис. 9.4. Вершина разделения, находящаяся на первом уровне отображения, перемещена. На эти изменения поверхность реагирует во многом так же, как и поверхность NURBS на перемещение контрольной вершины
грань обычно смещена относительно истинной поверхности. У нее может быть три или четыре стороны, однако для последующего моделирования поверхности разделения более подходят четырехугольники. Цифры соответствуют текущему уровню отображения (рис. 9.3); вершина обычно смещена относительно истинной поверхности. Она обозначается номером уровня отображения, которому принадлежит. Если вершину переместить, она поведет за собой область поверхности, которая находится к ней ближе всего (рис. 9.4); проекционные координаты используются не в моделировании, а в текстурировании (см. главу 14). При выделении они становятся зелеными (рис. 9.5);
Рис. 9.5. Проекционным координатам не соответствует какой-либо уровень отображения. Поэтому они отображаются точками, а не числами
Создание рельефа поверхностей разделения 261
260 Поверхности разделения
ребро представляет собой границу грани (рис. 9.6).
Создание рельефа поверхностей разделения Maya позволяет быстро переходить с одного уровня детализации на другой. Ниже представлено разъяснение некоторых терминов, которые потребуются для освоения данной процедуры:
Выделение компонента поверхности разделения 1. В меню Create выберите пункты Subdiv Primitives Sphere (Примитивы разделения Сфера). 2. Нажмите клавишу 3, чтобы установить высокий (fine) уровень сглаживания поверхности разделения (рис. 9.7). Поверхность станет более гладкой. Однако следует учесть, что изменение этих параметров влияет только на отображение модели, а не на ее реальную геометрию. 3. Правой кнопкой мыши щелкните по сфере и в контекстном меню выберите пункт Face (Грань) – рис. 9.8. На экране появятся грани сферы, то есть куба, в который вписана сфера. 4. Выделите и переместите грань (cм. рис. 9.9).
Рис. 9.6. В стандартном режиме выделено ребро сферы
Рис. 9.7. Слева направо сфера с различными параметрами Subdiv Smoothness: Rough, Medium и Fine
Рис. 9.8. Чтобы вызвать контекстное меню поверхностей разделения, щелкните по сфере правой кнопкой мыши. Оно открывает доступ к большинству опций, которые потребуются при работе с поверхностями разделения
Рис. 9.9. Грань перемещена, а сфера удлинилась
Рис. 9.10. Поверхность разделения показана на 0, 1, 2 и 3 уровнях отображения. По умолчанию у сферы есть только уровни 0 и 1. Чтобы получить доступ к более высоким уровням, поверхность нужно детализировать с помощью команды Refine
Display level (Уровень отображения). В Maya существует несколько уровней отображения поверхностей разделения, или детализации. Это позволяет очень гибко управлять формой объекта: можно переместить одну из множества точек, расстояние между которыми на поверхности настолько мало, что подобное изменение повлияет лишь на незначительную область; можно работать с меньшим числом точек, расстояние между которыми на поверхности велико и любая модификация повлечет за собой изменение большой области объекта (рис. 9.10);
Создание рельефа поверхностей разделения 263
262 Поверхности разделения
5. Правой кнопкой мыши щелкните по цилиндру и в контекстном меню выберите пункт Coarser (рис. 9.13). Уровень отображения уменьшится до 1 (рис. 9.14). 6. Правой кнопкой мыши щелкните по цилиндру и в контекстном меню выберите пункт Finer. Это восстановит второй уровень отображения.
Refine (Детализирование). Эта функция присваивает выделенной области поверхности более высокий уровень детализации. Например, если поверхность находится на уровне 1, команда Refine отобразит выделенную область с помощью точек второго уровня; Finer (Четче) и Coarser (Грубее). Данные команды позволяют быстро перемещаться на более высокий (finer) или более низкий (coarser) уровень детализации.
Детализирование поверхности разделения
Изменение уровней детализации 1. В меню Create выберите пункты Subdiv Primitives Cylinder. 2. Нажмите клавишу 3, чтобы установить высокий уровень сглаживания поверхности разделения. 3. Правой кнопкой мыши щелкните по цилиндру и в контекстном меню выберите пункт Vertex. 4. Правой кнопкой мыши щелкните по цилиндру и в контекстном меню выберите пункты Display Level 2 (рис. 9.11). Появляется множество точек, помеченных цифрой 2 (рис. 9.12).
Рис. 9.11. Меню Display Level позволяет выбрать любой из существующих уровней отображения
Рис. 9.13. Чтобы изменить уровень отображения, следует выбрать пункты Coarser или Finer из контекстного меню
1. В меню Create выберите пункты Subdiv Primitives Cube. 2. Нажмите клавишу 3, чтобы установить высокий уровень сглаживания поверхности разделения. 3. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Vertex. 4. Выделите вершину (рис. 9.15).
Рис. 9.12. По умолчанию точки второго уровня отображаются на цилиндре только там, где требуется дополнительная детализация. Чтобы эти точки были равномерно распределены, выберите первый уровень и произведите детализацию Рис. 9.14. Изображенный на этом рисунке цилиндр поверхности разделения находится на уровне отображения 1
Рис. 9.15. Выделите вершину, чтобы определить область, которая будет детализирована
Полигональный режим поверхности разделения 265
264 Поверхности разделения 5. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Refine. В области вокруг начальной точки нули заменились на единички, количество которых существенно превысило число нулей (рис. 9.16). 6. Правой кнопкой мыши щелкните по кубу и в контекстном меню еще раз выберите пункт Refine. 7. Выделите точку и переместите ее (см. рис. 9.17). 8. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Display Level 0. 9. Выделите точку и переместите ее (см. рис. 9.18). Изменения, внесенные в точки второго уровня, видны и во время работы с точками нулевого уровня. Это позволяет быстро переключаться между уровнями детализации.
Полигональный режим поверхности разделения
Рис. 9.16. С помощью команды Refine детализируется только область вокруг выделенного компонента
Рис. 9.19. Сферу сделали более плоской, чтобы она напоминала панцирь черепахи
Команда Refine также работает для ребер и граней. Детализацию можно проводить вплоть до уровня 13. Однако не рекомендуется применять уровень выше третьего, так как это значительно увеличивает время, отведенное на визуализацию и просчет поверхности.
Моделирование черепахи из поверхностей разделения в полигональном режиме
Рис. 9.17. Точка выделена и перемещена. Высокая детализация области позволяет ювелирно оттачивать форму объекта Рис. 9.20. Выделена передняя грань
Нельзя удалить компонент поверхности разделения. Если вы преобразуете любой компонент на первом или более высоком уровне отображения и затем попытаетесь удалить его, он вернется в исходное положение.
Рис. 9.18. Вы можете воздействовать на большие области поверхности, возвратившись на нулевой уровень отображения
Стандартный режим предназначен для добавления мелких деталей, а для создания основной структуры поверхности применяется полигональный режим. Объект, как правило, проходит путь от простого к сложному: 3D-художник сначала моделирует объект из полигонов и получает грубую форму, а затем преобразует ее в поверхности разделения, чтобы довести модель до совершенства. Этот подход помогает быстрее работать, поскольку конструкция полигонального примитива куба проще, чем конструкция того же куба на основе поверхностей разделения. Однако следует помнить, что до начала детализации в стандартном режиме необходимо завершить все операции, которые вы хотели произвести в полигональном режиме, поскольку при частом переключении между режимами можно потерять внесенные ранее изменения.
1. В меню Create выберите Subdiv Primitives Sphere. 2. Нажмите клавишу 3, чтобы установить высокий уровень сглаживания поверхности разделения. 3. Уменьшите сферу по оси Y, сделав ее более плоской (рис. 9.19). 4. Правой кнопкой мыши щелкните по сфере и в контекстном меню выберите пункт Polygon. Вокруг сферы появляется прямоугольная полигональная оболочка. 5. Правой кнопкой мыши щелкните по сфере и в контекстном меню выберите пункт Face (Грань). Выделите грань на передней части полигона (рис. 9.20).
Полигональный режим поверхности разделения 267
266 Поверхности разделения 6. В меню Edit Polygons (Редактирование полигонов) выберите пункт Extrude Face (Выдавить грань). Уменьшите размеры грани (рис. 9.21). 7. В меню Edit Polygons повторно выберите пункт Extrude Face. Переместите грань вперед и вверх (рис. 9.22). Это шея черепахи. 8. Выполните команду меню Edit Polygons Extrude Face. Пропорционально увеличьте грань (рис. 9.23). 9. В меню Edit Polygons выберите пункт Extrude Face. Переместите грань вперед (рис. 9.24). Это голова черепахи.
Рис. 9.21. Размер грани уменьшен. Чтобы отобразить в центре грани манипулятор пропорционального масштабирования, щелкните по другому манипулятору масштабирования
Рис. 9.24. Чтобы придать голове объем, переместите грань вперед
Рис. 9.25. Посмотрев на объект снизу, вы увидите, что нижняя часть была разделена Рис. 9.22. Переместите грань вперед и вверх
Рис. 9.23. Масштабирование этой грани определяет размер затылочной части головы черепахи
Рис. 9.26. Основания ног уменьшаются одновременно
10. Выделите грань на нижней стороне сферы. 11. В меню Edit Polygons выберите пункт Subdivide (Разбиение) – рис. 9.25. 12. Выполните команду меню Edit Polygons Extrude Face. Пропорционально уменьшите размеры граней (рис. 9.26). 13. В меню Edit Polygons выберите еще раз пункт Extrude Face. Переместите грани вниз (рис. 9.27). Модель черепахи готова.
Рис. 9.27. Переместите эти грани вниз, чтобы определить длину ног. Модель черепахи готова
Полигональный режим поверхности разделения 269
268 Поверхности разделения
9. Нажмите клавишу F8, чтобы переключиться в режим выделения объектов (рис. 9.32). Объект должен быть выделен. 10. В меню Modify выберите пункты Convert Polygons to Subdiv (Преобразовать Полигоны в разделения) – рис. 9.33. Модель телефонной трубки готова (рис. 9.34).
Моделирование телефонной трубки на основе полигонального примитива 1. В меню Create выберите пункт Polygon Primitives Cube. 2. Уменьшите размеры куба в направлении оси Z так, чтобы он стал более плоским. Уменьшите его размеры в направлении оси X, чтобы сузить объект (рис. 9.28). 3. Правой кнопкой мыши щелкните по кубу и в контекстном меню выберите пункт Face. 4. Выделите верхнюю грань куба. 5. В меню Edit Polygons выберите пункт Extrude Face. Переместите грань вверх, чтобы удвоить высоту объекта (см. рис. 9.29). 6. Еще раз выполните команду меню Edit Polygons Extrude Face. Переместите грань вверх таким образом, чтобы передняя часть объекта состояла из трех равных граней (рис. 9.30). 7. На передней части объекта выделите верхнюю и нижнюю грани. 8. В меню Edit Polygons выберите пункт Extrude Face. Переместите грани по оси Z (рис. 9.31).
Рис. 9.29. Высота объекта увеличилась вдвое после выдавливания верхней грани
Рис. 9.32. Телефонная трубка перед преобразованием в поверхности разделения. Режим выделения переключен на выделение объектов
Поверхности разделения можно преобразовать обратно в полигоны, выбрав пункты меню Modify Convert Subdiv to Polygon. Выполнив команды меню Modify Convert NURBS to Subdiv, можно преобразовать поверхность NURBS в поверхность разделения. Следует запомнить, что преобразовывать в поверхности разделения допускается только простые формы, будь это NURBS или полигоны. Если поверхность уже была детализирована, после преобразования с ней будет трудно работать, поскольку к ее точкам добавится огромное количество точек, создаваемых при разделении.
Рис. 9.30. Теперь передняя часть объекта состоит из трех равных граней
Рис. 9.33. Выполните команду меню Convert Polygons to Subdiv
Рис. 9.28. Полигональный куб стал плоским и узким
Рис. 9.31. Переместите выдавленные поверхности по оси Z, чтобы придать объекту форму телефонной трубки
Рис. 9.34. При преобразовании в поверхности разделения модель телефонной трубки стала гладкой и округлой
Использование инструмента Crease 271
270 Поверхности разделения
Использование инструмента Crease Поверхности разделения обычно имеют гладкую и округлую форму. Для получения плоских областей и острых ребер следует использовать инструменты группы Crease (Излом).
Добавление частичного излома 1. Создайте телефонную трубку, следуя инструкциям предыдущего упражнения. Перейдите в стандартный режим, выполнив команду меню Subdiv Surfaces Standard Mode. 2. Правой кнопкой мыши щелкните по поверхности и в контекстном меню выберите пункт Edge. 3. Выделите восемь ребер в верхней части телефонной трубки (рис. 9.35). 4. В меню Subdiv Surfaces выберите пункт Partial Crease Edge/Vertex (Частичный излом ребра/вершины) – рис. 9.36. 5. Повторите шаги 3 и 4 для нижней части телефонной трубки. Теперь верхняя и нижняя части трубки имеют более плоскую, квадратную форму (рис. 9.37).
Рис. 9.35. Если камера правильно позиционирована, можно воспользоваться рамкой, чтобы быстро выделить несколько ребер
Рис. 9.36 Это меню позволяет не только добавлять изломы в ребра, но и удалять изломы с помощью команды Uncrease Edge/Vertex
Добавление полного излома в вершины 1. Выполните команды меню Create Subdiv Primitives Cylinder. 2. Масштабируйте поверхность по оси Y, увеличив начальную длину примерно в три раза. 3. Правой кнопкой мыши щелкните по поверхности цилиндра и в контекстном меню выберите пункт Vertex. 4. Выделите точку в середине верхней грани и переместите ее вверх.
Рис. 9.38. Выделенная точка перемещена вверх (слева), затем к ней применена команда Full Crease (справа)
5. В меню Subdiv Surfaces выберите пункт Full Crease Edge/Vertex (Полный излом ребра/вершины). Верхняя точка станет острой (рис. 9.38). 6. Выделите нижний ряд точек с помощью рамки и уменьшите расстояние между ними. 7. Оставьте точки выделенными, щелкните правой кнопкой мыши по поверхности и в контекстном меню выберите пункт Refine. 8. Выделите четыре симметрично расположенные точки на нижней части поверхности (рис. 9.39). 9. В меню Subdiv Surfaces выберите пункт Full Crease Edge/Vertex. 10. Переместите точки вниз и масштабируйте их с уменьшением. Перед вами модель простого ракетоносителя (см. рис. 9.40).
Рис. 9.39. Выделите четыре точки, симметрично расположенные на нижней части объекта. Рекомендуется просмотреть объект в разных видах, чтобы убедиться, что выделены именно нужные точки
Рис. 9.40. Точки перемещены вниз и отодвинуты от центра пропорциональным масштабированием. Теперь они образуют опоры простого ракетоносителя
Рис. 9.37. В результате модель телефонной трубки стала более реалистичной
Зеркальное отражение поверхностей разделения 273
272 Поверхности разделения Добавление полного излома в ребра 1. Создайте ракету из предыдущей задачи (рис. 9.41). 2. Правой кнопкой мыши щелкните по поверхности и в контекстном меню выберите пункт Edge. 3. Правой кнопкой мыши щелкните по поверхности и выполните команды Display Level 0. 4. Правой кнопкой мыши щелкните по поверхности и в появившемся контекстном меню выберите пункт Edge. 5. Выделите все вертикальные ребра. Чтобы избежать выбора горизонтальных ребер, выделите с помощью рамки вертикальные ребра в нижней части, затем, удерживая нажатой клавишу Shift, выделите ребра в средней и верхней части (рис. 9.42). 6. В меню Subdiv Surfaces выберите пункт Full Crease Edge/Vertex. Ребра ракеты стали острыми (рис. 9.43). Можно удалить излом, выбрав ребро с изломом и в меню Subdiv Surfaces пункт Uncrease Edge/Vertex (Удалить излом ребра/ вершины).
Зеркальное отражение поверхностей разделения При создании симметричных моделей можно использовать команду Mirror (Зеркальное отражение), чтобы скопировать и развернуть поверхность разделения.
Создание зеркального отражения поверхностей разделения Рис. 9.41. Ракетоноситель из предыдущей задачи
Рис. 9.44. Выберите в меню Marking пункт Polygon
Рис. 9.42. Чтобы избежать выделения горизонтальных ребер, нажмите клавишу Shift и выделите вертикальные ребра по одному
Рис. 9.45. Выделите четыре грани на одной стороне куба
Рис. 9.43. Заострение ребер придает ракете более интересную форму
1. В меню Create выберите пункты Polygon Primitives Cube. 2. Щелкните правой кнопкой мыши по кубу и выберите в меню Marking пункт Polygon (рис. 9.44). 3. Нажмите клавишу F8, чтобы переключиться в режим Component. 4. Щелкните указателем мыши по пиктограмме Faces (Грани) и выберите все четыре грани на одной поверхности куба (рис. 9.45).
Зеркальное отражение поверхностей разделения 275
274 Поверхности разделения 5. Нажмите клавишу Delete, чтобы удалить грани. Поверхность разделения остается открытой с одной стороны (рис. 9.46). 6. Выберите пункт Subdiv Surface, а затем значок напротив пункта Mirror в меню Subdiv Surfaces. Откроется диалоговое окно Subdiv Mirror Options (Опции отражения поверхностей разделения) – рис. 9.47. 7. Выберите X, чтобы создать зеркальное отражение объекта по этой оси, и нажмите кнопку Apply. Будет создана повернутая копия поверхности (рис. 9.48). Если ваша модель состоит из большого числа отдельных элементов, можно использовать команду Attach (Соединить), чтобы соединить их в цельный элемент. Однако у любых соединяемых ребер должно быть одинаковое количество вершин.
Соединение двух поверхностей разделения
Рис. 9.49. Совместите поверхности, которые хотите соединить, открытыми сторонами Рис. 9.46. В результате удаления граней поверхность разделения остается открытой с одной стороны
Рис. 9.47. Для создания зеркального отображения выберите пункт X в диалоговом окне Subdiv Mirror Options
Рис. 9.50. Присвойте параметру Threshhold значение 5 в диалоговом окне Subdiv Attach Options
Рис. 9.51. Соединенная поверхность разделения
Рис. 9.48. Поверхность разделения в зеркальном отображении
1. Установите поверхности из предыдущего примера (см. раздел «Создание зеркального отображения поверхности разделения») таким образом, чтобы их открытые стороны находились рядом (рис. 9.49). 2. Выделите обе поверхности. 3. В меню Subdive Surfaces выберите значок напротив пункта Attach. Откроется диалоговое окно Subdiv Attach Options (Опции присоединения поверхностей разделения) – рис. 9.50. 4. Присвойте параметру Threshold (Порог) значение 5, чтобы убрать промежуток между поверхностями. 5. Нажмите кнопку Apply. Две поверхности превратятся в одну (рис. 9.51).
Стягивание иерархии 277
276 Поверхности разделения
4. Щелкните правой кнопкой мыши по кубу и в меню Marking выберите пункт Refine (Детализирование) – рис. 9.54. Это добавит к сетке уровень-1 (level-1) – рис. 9.55. 5. Щелчком правой кнопкой мыши выберите пункт Polygon в меню Marking. Учтите, что полигональная клетка не показывает деталь, созданную путем добавления уровня-1 (рис. 9.56). 6. В меню Subdiv Surfaces выберите значок напротив пункта Collapse Hierarchy.
Стягивание иерархии В процессе моделирования, начиная с простой модели, вы постепенно добавляете детали, затем стягиваете сетку и начинаете с другого, более сложного уровня. Стягивание позволяет превращать изменения в моделях разделения в полигональные компоненты, которые можно редактировать в полигональном режиме с помощью соответствующего набора инструментов. При стягивании сетки модель становится более сложной, но появляется больше возможностей редактирования. Команда Collapse Hierarchy (Стягивание иерархии) сокращает число уровней в поверхности разделения. Она позволяет задать число уровней, которые вы хотите стянуть, и перемещает редактируемые элементы с этих уровней на уровень выше.
Рис. 9.52. Выберите в меню Marking пункт Face
Рис. 9.54. Выберите в меню Marking пункт Refine
Стягивание иерархии разделения 1. В меню Create выберите пункты Polygon Primitives Cube. 2. Щелчком правой кнопкой мыши выберите в меню Marking пункт Face (рис. 9.52). 3. Выберите грань на одной из сторон куба (рис. 9.53).
Рис. 9.56. В полигональной модели не показана добавленная деталь уровня-1
Рис. 9.53. Выделите грань
Рис. 9.55. Детализируя поверхность, вы добавляете уровень к модели
278 Поверхности разделения Откроется диалоговое окно Subdiv Collapse Options (Опции стягивания поверхностей разделения) – рис. 9.57. 7. Присвойте параметру Number of Levels (Число уровней) значение 1 и нажмите кнопку Apply. Будет создана стянутая копия выбранной поверхности (рис. 9.58). 8. Щелчком правой кнопкой мыши по кубу выберите пункт Polygon в меню Marking (рис. 9.59). Имейте в виду, что полигональная клетка теперь показывает деталь, созданную путем добавления уровня-1, и вся клетка более плотная (рис. 9.60). Инструмент Maya Mental Ray Renderer (Визуализатор Mental Ray) визуализирует только четырехсторонние поверхности разделения. Это означает, что все грани сетки могут иметь только четыре стороны. Однако визуализатор Maya может работать не только с четырехсторонними поверхностями разделения. Команда Collapse Hierarchy превращает нечетырехсторонние поверхности разделения таким образом, что их можно визуализировать с помощью MentalRay.
Рис. 9.58. После применения команды Collapse Hierarchy на уровне-0 появляется деталь уровня-1
Рис. 9.57. Присвойте параметру Number of Levels значение 1 в диалоговом окне Subdiv Collapse Options
Рис. 9.59. Выберите пункт Polygon в меню Marking
Рис. 9.60. Новая поверхность позволяет редактировать деталь уровня-1 в полигональном режиме
Скелеты и обратная кинематика
Рис. 10.1. Скелет этого персонажа, имеющего форму глазного яблока, используется для того, чтобы придавать модели различные позы и анимировать ее
10
Наверное, вы захотите немедленно оживить смоделированный персонаж. Однако сначала нужно поместить внутрь персонажа скелет. Скелет представляет собой иерархию отдельных суставов, соединенных костями. Лучший пример размещения суставов предлагает природа. Воспользуйтесь изображениями скелетов человека или животного (рис. 10.1). Плечевой сустав должен находится в плече, локтевой – в локте и т.д. Однако необязательно соблюдать такую точность. Например, в ступне человека двадцать шесть костей, но анимировать ступню можно с помощью трех. Во всех местах предполагаемого сгиба модели поместите сустав. Суставы связаны друг с другом отношением наследования, то есть нижние суставы перемещаются вслед за верхними суставами иерархии. Сустав, который вы создадите первым, окажется на верхнем уровне иерархии, его часто называют основным, или корневым (root joint). С помощью этого сустава перемещается весь скелет. Коленный, голеностопный суставы и сустав ступни находятся ниже тазобедренного, поэтому при повороте этого основного сустава двигается и вся нога. Анимация, производимая таким
Суставы 281
280 Скелеты и обратная кинематика способом, называется прямой кинематикой (forward kinematics – FK) – рис. 10.2. При обратной кинематике (IK – inverse kinematics) анимация производится снизу вверх по уровням иерархии. Если вы перемещаете ступню, то колено и бедро повернутся соответствующим образом (рис. 10.3).
Суставы При создании суставов между ними автоматически появляются кости. Порядок, в котором формируются суставы, очень важен. Первый созданный сустав помещается в верхний уровень иерархии, второй сустав становится его потомком, третий наследуется ко второму и так далее вниз по линии иерархии.
Рис. 10.2. Здесь иллюстрируется принцип прямой кинематики: при повороте тазобедренного сустава все суставы, находящиеся под ним, тоже поворачиваются
Рис. 10.3. Ступня перемещается с помощью IK-манипулятора (IK handle). Некоторые аниматоры стараются не использовать обратную кинематику, поскольку создаваемые ей движения не всегда реалистичны. Например, конечности персонажа могут двигаться по прямым линиям, а не по естественным дугам
Сустав
FK или IK? Новички в анимации всегда интересуются, что лучше - FK или IK? Ответ состоит в том, что у обоих есть свои преимущества и слабые места. Прямая кинематика – FK - позволяет создавать очень точное механическое движение, но требует больше усилий со стороны аниматора, поскольку каждый элемент цепочки необходимо анимировать. Обратная кинематика – IK - идеально подходит для двуногих и четвероногих существ, например людей или собак, поскольку можно переместить руку, ногу или лапу персонажа путем анимации манипулятора, вместо того, чтобы настраивать каждый сустав скелета. Однако, манипуляторы обратной кинематики могут разворачиваться в зеркальном отображении, и получить точное движение всех промежуточных суставов может представлять трудную задачу. Сплайны обратной кинематики (которые мы обсудим ниже в этой главе) удобно использовать для прорисовки щупалец и позвоночника или же любого скелета с большим количеством суставов, который должен передвигаться в плавной, органичной манере. В сложном персонаже могут использоваться все указанные методы, чтобы дать аниматору большую свободу и больше возможностей управления персонажем.
В иерархии сустав играет роль точки центра трансформаций. Точку центра трансформаций сустава нельзя передвинуть, ее положение всегда неизменно. Положение сустава в иерархии определяет, какие суставы будут повторять его движения; перемещения этого сустава не влияют на суставы, находящиеся над ним. Не следует путать эту иерархию с тем положением, которое занимают суставы, находящиеся над другими или под ними физически. Один сустав может располагаться над другим по оси Y, но быть ниже его в иерархической цепочке.
Создание суставов 1. В меню Skeleton (Скелет) выберите пункт Joint Tool (Инструмент сустав). 2. На виде сбоку щелкните в том месте, где хотите поместить сустав, и он немедленно появится на экране. При создании суставов следует использовать ортогональные виды (рис. 10.4). 3. Щелкните в том месте, где вы хотите поместить следующий сустав. Между двумя суставами появится кость (рис. 10.5).
Рис. 10.4. В ортогональном виде создан сустав с помощью команды Skeleton Joint Tool
Рис. 10.5. Создан второй сустав. Между двумя суставами появляется кость. Это означает, что они связаны отношением наследования. Кость возле сустава-предка расширяется
Суставы 283
282 Скелеты и обратная кинематика 4. Щелкните и перетащите указатель в том месте, где вы хотите добавить третий сустав. Когда вы отпустите кнопку мыши, сустав окажется на своем месте. 5. Создание скелета завершено. Для отключения инструмента Joint нажмите клавишу Enter. Верхний сустав скелета выделен, поэтому подсвечивается весь скелет. Строить скелет рекомендуется при включенной сетке, чтобы все суставы были надежно выровнены. Размещая суставы, удерживайте нажатой клавишу x.
5. В меню Window выберите пункт Hypergraph, чтобы просмотреть иерархию с помощью гиперграфа. Заметьте, что два сустава находятся на одном уровне иерархии и наследуются к одному и тому же суставу (рис. 10.7).
Рис. 10.6. Новый сустав ответвляется от ранее созданного скелета
Можно увеличить или уменьшить размер отображения суставов в окнах видов, выполнив команду меню Display Joint Size (Отобразить Размер сустава) и выбрав процентный размер из списка.
Рис. 10.9. Суставы позвоночника создаются снизу вверх. Нижний сустав является предком остальных суставов, которые занимают нижние ступени иерархии, несмотря на то что на рисунке они находятся выше
Наследование суставов
Чтобы удалить сустав, выделите его и нажмите клавишу Delete. Сустав будет удален вместе со всеми суставами, которые находятся на нижнем уровне иерархии.
При построении скелета вам потребуется создать ветвь, исходящую из сустава в центре иерархии. Например, скелеты рук ответвляются от сустава грудной клетки.
Рис. 10.7. Узлы joint3 и joint4 являются потомками joint2. Таким образом, если поворачивается сустав joint2, то вместе с ним поворачиваются joint3 и joint4 Рис. 10.10. Нога наследуется к позвоночнику. Теперь нижний сустав скелета является основным для всего персонажа. Если этот сустав перемещается, перемещается и весь персонаж
Ответвление существующего скелета 1. Создайте скелет, описанный в предыдущем примере. 2. Нажмите кнопку инструмента Joint . 3. Щелкните по суставу, от которого вы хотите создать ветвь. Выделится основной сустав. 4. Щелкните в том месте, где требуется поместить новый сустав. Появится новый сустав и кость, ответвляющаяся от ранее созданного скелета (рис. 10.6).
Кости можно считать наглядным представлением связи в иерархии суставов скелета. Кость появляется, если вы присоединяете один сустав к другому отношением наследования. Если это отношение разрывается, то кость исчезает. Иногда проще создать отдельные иерархии, а затем собрать из них один скелет, связав их отношением наследования.
Рис. 10.8. Скелет ноги включает в себя тазобедренный, коленный, голеностопный суставы, а также суставы стопы и пальца. Если персонаж носит ботинки, суставы для пальцев не нужны – в данном случае достаточно одной кости
1. На виде сбоку создайте скелет ноги и ступни из пяти суставов (рис. 10.8). Нажмите Enter, чтобы завершить процесс создания. 2. На виде сбоку создайте суставы позвоночника снизу вверх, связав их в отдельную иерархию (рис. 10.9). 3. На виде спереди передвиньте модель ноги в сторону. 4. Выделите верхний сустав ноги, а затем нажмите клавишу Shift и выделите нижний сустав позвоночника. Нажмите клавишу p. Между ногой и позвоночником появится кость. Это означает, что две отдельные иерархии соединились в одну (рис. 10.10).
Суставы 285
284 Скелеты и обратная кинематика
Не отображайте зеркально сустав, который находится на плоскости симметрии персонажа. Иначе вы получите два сустава, расположенных друг на друге.
Таким же способом можно разорвать наследование между суставами. Выделите объект, который требуется отсоединить, и нажмите клавиши Shift+p. Сустав больше не связан отношением наследования, а кость исчезает.
Создав одну ногу или руку персонажа, вы можете зеркально отобразить суставы, чтобы сэкономить время, и скопированная нога или рука появится на другой стороне тела модели.
Зеркальное отображение суставов 1. Выделите скелет ноги, созданный в предыдущем примере. 2. Выделите тазобедренный сустав (см. рис. 10.11). 3. В меню Skeleton щелкните по значку рядом с пунктом Mirror Joint. Откроется диалоговое окно Mirror Joint Options (Настройка зеркального отображения сустава). 4. В разделе Mirror Across (Плоскость отображения) выберите переключатель YZ (рис. 10.12). 5. Нажмите кнопку Mirror. К скелету будет присоединена вторая нога (рис. 10.13). Если скелет ноги создан на виде сбоку, зеркально отображать его нужно в плоскости YZ. Чтобы понять, какую плоскость следует использовать, посмотрите на значок осей в углу окна вида. Представьте себе две оси, образующие плоскость, относительно которой вы хотите зеркально отобразить суставы. Если скелет второй ноги находится в неправильном положении, отмените зеркальное отображение сустава и попытайтесь выбрать в диалоговом окне Mirror Joint Options нужную плоскость для отображения.
Рис. 10.11. Выделен тазобедренный сустав – теперь скелет ноги можно зеркально отобразить
Рис. 10.12. Выбран переключатель YZ, поэтому скелет ноги будет зеркально отражен относительно плоскости YZ
Рис. 10.13. Вторая нога будущего персонажа создана с помощью диалогового окна Mirror Joint Options, вызываемого из меню Skeleton
Рис. 10.14. Выделите коленный сустав ноги
Когда вы перемещаете сустав, все суставы, находящиеся на нижних уровнях иерархии, двигаются вместе с ним. Сустав можно переместить независимо от его положения в иерархии, воспользовавшись режимом перемещения центра трансформаций.
Перемещение сустава
Рис. 10.15. При перемещении колена голень и стопа передвигаются вместе с ним. Заметьте, что кость между тазом и коленом становится длиннее
Рис. 10.16. Если передвигать коленный сустав в режиме перемещения центра трансформаций, то ступня, которая находится ниже колена в иерархии, остается на месте
1. Создайте скелет, описанный в предыдущих примерах. 2. Выделите коленный сустав (рис. 10.14). 3. Нажмите клавишу w. 4. Переместите колено назад. Голень и стопа передвинутся вместе с ним (рис. 10.15). 5. Нажмите клавишу z, чтобы отменить последний шаг. 6. Нажмите клавишу Insert/Home, чтобы перейти в режим перемещения центра трансформаций. 7. Переместите колено назад. Голень и стопа остаются на месте (рис. 10.16). 8. Нажмите клавишу z, чтобы отменить последний шаг. Нажмите еще раз клавишу Insert/Home, чтобы выйти из режима перемещения центра трансформаций.
Суставы 287
286 Скелеты и обратная кинематика Вставка сустава
Отсоединение сустава от иерархии
1. Создайте скелет с несколькими суставами (рис. 10.17). 2. В меню Skeleton выберите пункт Insert Joint Tool (Вставить сустав). 3. Щелкните по суставу и перетащите новый сустав. Новый сустав будет добавлен в иерархию между суставом, по которому вы щелкнули, и суставом, находящимся на нижней ступени. Проще всего это делать в одном из ортогональных видов (рис. 10.18). 4. Нажмите клавишу Enter, чтобы завершить процедуру и закрыть инструмент.
1. Щелчком мыши выделите сустав, который требуется отсоединить от иерархии (рис. 10.22). 2. В меню Skeleton выберите пункт Disconnect Joint (рис. 10.23). Выделенный сустав и его потомки отсоединены от начальной иерархии. 3. В меню Window выберите пункт Hypergraph. Редактор Hypergraph откроется в новом окне.
Рис. 10.17. В ортогональном виде создан скелет с несколькими суставами
Рис. 10.20. В меню Skeleton выберите пункт Remove Joint
Иногда, внимательно рассмотрев скелет в окнах проекций, вы обнаруживаете, что создали больше суставов, чем требовалось. В этом случае можно выделить сустав и удалить его из иерархии, не удаляя узлы, занимающие нижние ступени иерархии, как произошло бы при обычном удалении сустава.
Удаление сустава из иерархии 1. Щелчком мыши выделите сустав, который требуется удалить (рис. 10.19). 2. В меню Skeleton выберите пункт Remove Joint (рис. 10.20). Сустав удален из иерархии и со сцены. После удаления выделенного сустава его предок соединяется костью с его потомком (рис. 10.21). В некоторых случаях вам потребуется отсоединить часть созданного ранее скелета и использовать его в новом персонаже, например, при создании кентавра, верхняя часть которого является человеческим телом, а нижняя – животным. Отсоединив центральный сустав, вы можете использовать верхнюю часть скелета человека.
Рис. 10.18. Между двумя существующими суставами создан новый. Он помещен между суставами как в окне проекции, так и в иерархии
Рис. 10.19. Выделите сустав, щелкнув по нему в окне проекции или выбрав его узел в окне Hypergraph
Рис. 10.21. Выделенный сустав joint7 полностью удален со сцены и из иерархии, поэтому его нельзя просмотреть в окне Hypergraph
Рис. 10.22. Выделите сустав, щелкнув по нему в окне проекции или выбрав его узел в окне Hypergraph
Рис. 10.23. В меню Skeleton выберите пункт Disconnect
IK-манипуляторы и решатели 289
288 Скелеты и обратная кинематика 4. Чтобы отобразить все суставы в окне Hypergraph, нажмите клавишу a. Скелет разбит на две иерархии, которые можно выделять и перемещать независимо друг от друга (рис. 10.24).
Управляющий элемент обратной кинематики
IK-манипуляторы и решатели Для создания целевых движений, когда персонаж, например, идет по земле или протягивает руку, чтобы открыть дверь, используются методы обратной кинематики. Это позволяет упростить анимацию. Например, чтобы имитировать ходьбу методом прямой кинематики, вам придется повернуть и бедро, и колено. А с помощью IK-манипулятора (IK handle), расположенного на лодыжке, вы можете просто переместить стопу в нужное положение, а бедро и колено повернутся соответствующим образом (рис. 10.25).
Рис. 10.24. Несмотря на то, что в окне проекции скелет все еще представляет собой одно целое, в окне Hypergraph отображаются две отдельные иерархии
Рис. 10.26. Верхняя часть ноги перемещается, но лодыжка остается неподвижной, поскольку IK-манипулятор привязывает ее к ключевому кадру. Заметьте, что у этой стопы тоже есть IK-манипулятор, идущий от лодыжки по внутренней поверхности ступни, а от нее – к пальцу ноги. Эти IK-манипуляторы удерживают остальную часть ступни на месте
Управляющий элемент обратной кинематики
IK-манипулятор также применяется для прикрепления стопы или руки к какойлибо точке. В качестве примера рассмотрим имитацию ходьбы. Когда персонаж идет, одна нога перемещается в новое положение, делая шаг, а другая остается на месте. В этом случае IK-манипулятор помогает удержать стопу (множественные вращения в суставах, связанных с IK-манипулятором, позволяют удерживать ее таким способом) – рис. 10.26. Если стопа привязана к ключевому кадру, она останется на своем месте даже несмотря на то, что суставы, являющиеся ее предками в цепочке обратной кинематики, поворачиваются. Этом методом можно воспользоваться, чтобы определить положение рук и ладоней персонажа, взбирающегося по лестнице и держащегося за перила.
Добавление IK-манипулятора 1. Создайте скелет ноги из пяти суставов (рис. 10.27). 2. В меню Skeleton выберите пункт IK Handle Tool. 3. Щелкните по тазобедренному суставу. 4. Щелкните по голеностопному суставу. Создан IK-манипулятор.
Рис. 10.25. Слева стопа перемещена при помощи IK-манипулятора. Справа использовалась прямая кинематика, поэтому повернута и стопа, и бедро, и колено
Рис. 10.27. Это стандартный скелет ноги. Иногда в него добавляют сустав пятки, но он используется только как «заполнитель», поскольку голеностопный сустав сгибается, а сустав ступни в пятке – нет
IK-манипуляторы и решатели 291
290 Скелеты и обратная кинематика 5. Перетащите IK-манипулятор (рис. 10.28). 6. В окне Channel Box выберите атрибут Twist (Скрутка). 7. Средней кнопкой мыши перетащите указатель слева направо на виде Perspective. Нога вращается вокруг цепочки обратной кинематики (рис. 10.29). Атрибут Twist (Скрутка) применяется только при использовании решателя Rotate Plane (Плоскость поворота). По умолчанию при создании IK-манипулятора формируется решатель (solver), относящийся к виду Rotate Plane. Вид решателя определяет поворот всех суставов скелета при использовании обратной кинематики. Если вы слишком высоко переместите IKманипулятор, нога перевернется, и колено будет указывать в противоположную сторону (рис. 10.30). Эту проблему можно решить, настроив атрибуты в разделе Pole Vector (Полярный вектор), которые находятся в окне Channel Box IK-манипулятора. Другой вариант – создать решатель Single Chain (Единая цепочка). В нем нет атрибута Twist, как в решателе Rotate Plane, но он позволяет избежать проблемы переворачивания, которая существует при работе с Rotate Plane. Используя решатель Single Chain, вы можете вращать конечность с помощью IK-манипулятора. Однако считается, что решатель Rotate Plane более предсказуем, потому что вращение IK-манипулятора на него не влияет.
Рис. 10.28. IK-манипулятор перемещается по сцене, позволяя свободно переводить стопу в нужное положение Рис. 10.32. В окне Tool Settings в опциях IK Handle Tool в качестве текущего решателя выбран ikSCsolver. Применение его IK-манипулятора позволяет избежать переворачивания
Тип решателя можно изменить и после создания IK-манипулятора. Выделите его и откройте окно Attribute Editor. В разделе IK Solver Attributes выберите тип решателя в выпадающем списке IK Solver (рис. 10.33). Манипуляторы обратной кинематики также могут разворачиваться в зеркальном отображении, когда персонаж поворачивается на 180 или 360 градусов. Чтобы этого избежать, вы можете ограничить ориентацию Вектора Полюса (Pole Vector) IK-манипулятора суставом, находящимся выше. Для получения более подробной информации по ограничителям, вы можете обратиться к главе «Анимация»
Рис. 10.29. Нога поворачивается при изменении атрибута Twist
Создание IK-манипулятора Single Chain 1. Создайте скелет ноги из пяти суставов (рис. 10.31).
2. В меню Skeleton щелкните по значку рядом с пунктом IK Handle Tool. Откроется окно Options. 3. В выпадающем списке Current Solver выберите пункт ikSCsolver (Решатель Single Chain) – рис. 10.32. 4. Щелкните по тазобедренному суставу. 5. Щелкните по суставу лодыжки. С помощью решателя Single Chain создан IK-манипулятор. 6. Поверните IK-манипулятор. Следом повернется и конечность.
Управляющий элемент обратной кинематики
Рис. 10.33. В окне Attribute Editor можно изменить тип решателя уже после создания IK-манипулятора Рис. 10.30. Если вы, воспользовавшись IK-манипулятором решателя Rotate Plane, поднимете ногу персонажа слишком высоко, она может неестественно вывернуться
Рис. 10.31. Создайте скелет ноги из пяти суставов
Сплайн обратной кинематики 293
292 Скелеты и обратная кинематика
9. Выделите и переместите контрольные вершины (рис. 10.37). В результате суставы вращаются и прикрепляются к форме управляющей кривой.
Сплайн обратной кинематики Сплайн обратной кинематики позволяет управлять большим количеством суставов посредством кривой, не поворачивая их непосредственно. Наиболее часто данная функция используется при работе с суставами, составляющими непрерывную цепочку (как в позвоночнике или хвосте), поскольку помогает быстро придавать скелету нужную форму, не поворачивая каждый отдельный сустав (рис. 10.34).
Создание сплайна обратной кинематики 1. Создайте скелет позвоночника снизу вверх (рис. 10.35). 2. В меню Skeleton щелкните по значку рядом с пунктом IK_Spline Handle Tool. 3. Щелкните по суставу скелета. 4. Щелкните по второму снизу суставу скелета. Созданы два объекта: IK-манипулятор Spline IK и кривая. По умолчанию кривая автоматически наследуется суставами. 5. В окне Channel Box выберите атрибут Twist. 6. Средней кнопкой мыши перетащите указатель слева направо в рабочем окне. Кости поворачиваются. 7. В окне Hypergraph выделите только что созданную кривую (рис. 10.36). 8. В Pick mask выберите режим выделения компонентов, чтобы отобразить контрольные вершины кривой.
Рис. 10.34. Создав на этих суставах сплайн обратной кинематики, вы можете анимировать скелет позвоночника, перемещая только одну точку. Для достижения того же эффекта анимировать вращение каждой точки с помощью ключевых кадров было бы гораздо сложнее
Рис. 10.35. Человеческий позвоночник естественно искривлен. При создании позвоночника персонажа необходимо следовать его реальному прототипу
Рис. 10.36. В окне Hypergraph проще выделить кривую, так как ее значок можно изолировать
Рис. 10.37. При перемещении контрольных вершин позвоночник сгибается и образует форму управляющей кривой
Обычно основной сустав не входит в цепочку сплайна обратной кинематики. Если вы добавляете его в цепочку, то при перемещении контрольных вершин повернется весь скелет. Чтобы избежать этого, в качестве основы для сплайна обратной кинематики выберите первый сустав над основным суставом скелета.
Используя Spline IK для анимирования персонажа, вы перемещаете контрольные вершины и включаете их в ключевой кадр. Однако у контрольных вершин нет своего узла. Они представляют собой компоненты, поэтому не отображаются в окнах Hypergraph или Outliner как узлы, которые можно анимировать. Полезно создать кластер для каждой контрольной точки кривой, чтобы существовал узел, за которым можно наблюдать при анимировании. Кластер также может помочь при выделении, поскольку вы можете перемещать его IK-манипулятор на некоторое расстояние от кривой, что упрощает выделение.
Сплайн обратной кинематики 295
294 Скелеты и обратная кинематика Создание кластеров для контрольных вершин сплайна обратной кинематики 1. Создайте сплайн обратной кинематики, как было описано в предыдущем примере. Убедитесь, что корневой сустав не входит в цепочку обратной кинематики. 2. Выделите одну из контрольных вершин управляющей кривой. 3. В меню Deform (Деформировать) щелкните по значку рядом с пунктом Create Cluster (Создать кластер). Откроется диалоговое окно Cluster Options. 4. Поставьте флажок Relative (Относительный) – рис. 10.38. Таким образом вы заставите кластер перемещаться по отношению к кривой. Если снять флажок, кластер совершит двойное преобразование, то есть при перемещении корневого сустава передвинется на вдвое большее расстояние. 5. Нажмите кнопку Create. На экране появится кластер, он обозначается буквой C (рис. 10.39). 6. Нажмите клавишу Shift и выделите корневой сустав скелета. 7. Нажмите клавишу p. Кластер наследуется к корневому суставу и будет перемещаться вместе со всем скелетом. 8. Повторите шаги 2–7 для всех контрольных вершин управляющей кривой, кроме самой нижней. Теперь у каждой контрольной вершины есть кластеры, которые легко выделять и анимировать (рис. 10.40). Не создавайте кластер для нижней контрольной точки кривой сплайна IK. Перемещение этой контрольной вершины удлинит кость, а это нежелательно, поскольку все тело сдвинется с места.
Об окне Hypergraph и скелетах
Рис. 10.38. В диалоговом окне Cluster Options отмечен флажок Relative
Рис. 10.39. На месте контрольной вершины появляется буква C, обозначающая кластер. Кластер управляет контрольной вершиной
Рис. 10.40. При настройке сплайна буквы C используются в качестве элементов для выделения
При создании персонажей важную роль в составлении иерархического порядка и процессе выделения играет окно Hypergraph. Этот инструмент позволяет понять, как образованы иерархии и в каком отношении находятся различные элементы сцены. В окне Hypergraph есть два варианта расположения узлов: Freeform (Свободная форма) и Automatic (Автоматическая), последняя устанавливается по умолчанию. Если вы выберете опцию Automatic, Maya создаст схему расположения узлов за вас: корневой узел будет помещен на вершину иерархии, а каждый потомок расположится под предком с небольшим отступом по горизонтали, при этом предок и потомок будут соединены линией. Каждый узел закреплен на своем месте, поэтому визуально иерархия остается последовательной и структурированной. Если же вы воспользуетесь командой меню Options Layout и выберете пункт Freeform, то сможете перемещать узлы по рабочей области окна и менять внешний вид структуры по своему желанию. Допускается импортировать изображение персонажа на фон рабочей области окна Hypergraph и выровнять суставы по их истинному положению поверх изображения, что значительно упростит процедуру выделения отдельных суставов. При простой иерархии сцены это не понадобится, но если в сцене используются сотни суставов и поверхностей, без такой возможности выделение объектов станет трудной задачей. В окне Hypergraph каждый сустав отображается синим значком . Если в рабочем окне выделен один сустав, то все его потомки подсвечиваются. Поскольку данные элементы связаны отношением наследования, суставы-потомки повторяют движения выделенного сустава. Несмотря на то что элементы-потомки подсвечиваются в рабочем окне, сами по себе они не выделены. Об этом не следует забывать! Выделите сустав и откройте окно Hypergraph. Сустав, по которому вы щелкнули, выделен (окрашен в желтый цвет), а суставы под ним (его потомки) не выделены. Если в окне Hypergraph выделить потомков, удерживая нажатой клавишу Shift, а затем повернуть суставы, то можно увидеть, что каждый сустав вращается. Этот метод преобразования используется довольно редко, однако важно понимать, что в иерархии выделено, а что – нет. В окне Hypergraph можно перемещать суставы из одной иерархии в другую или отсоединять их от иерархии, то есть видоизменять связи между элементами и создавать новые. Суставы перемещают при помощи указателя, удерживая нажатой среднюю кнопку мыши. Чтобы переместить сустав (и его потомков) в другую иерархию, просто перетащите его средней кнопкой мыши на узел, который должен стать его предком. Вы увидите, что выделенный сустав (и его потомки) присоединены к новой иерархии. Чтобы удалить связь сустава (и его потомков) с каким-либо узлом иерархии (не удаляя при этом сами суставы), выделите его узел средней кнопкой мыши и вытащите его из иерархии (отпустив кнопку мыши, когда узел переместится на некоторое расстояние от иерархии). Этот метод также используется при исключении объектов из группы в окне Hypergraph.
Наследование и привязка к скелету 297
Наследование и привязка к скелету После того как вы создали скелет, вам нужно прикрепить поверхности к суставам при помощи наследования (parenting) или привязки (binding) к скелету, чтобы поверхности перемещались вместе со скелетом. Те части модели, которые не должны сгибаться, например шляпу, очки, глаза, следует связать с суставами наследованием. А те части модели, которые должны сгибаться, например руки, ноги или туловище, необходимо соединить со скелетом при помощи привязки (рис. 11.1). Наследование к суставам работает так же, как наследование к любым другим объектам. Кость является основной структурой, а поверхность – дочерней, поэтому поверхность вращается и перемещается вместе с костью. Привязка отличается от наследования. Если поверхность привязана к скелету, только ее часть будет перемещаться вместе с костью. Например, рука имеет два сустава – плечевой и локтевой. При вращении локтя должно перемещаться только предплечье; плечо и бицепсы должны оставаться неподвижными (рис. 11.2). Если вы привяжете руку к скелету, вы сделаете предплечье частью руки, соединенной с локтевым суставом, а плечо и бицепсы – частью руки, соединенной с плечевым суставом.
11 Рис. 11.3. Эти два объекта имеют одинаковую структуру и идентично расположенные суставы, которые согнуты одинаковым образом. Для объекта слева была использована мягкая привязка, а для объекта справа – жесткая. Поверхность слева изгибается плавно; сгибы другой поверхности более резки, а сама поверхность не подвержена деформациям между суставами
Рис. 11.1. Чтобы нога могла согнуться в колене, нужно привязать ее к скелету
Рис. 11.2. Вместе с локтевым суставом вращается только предплечье
Основу привязки составляют кластеры. Кластер представляет собой набор точек, каждая из которых имеет определенный вес. Под этим термином понимают влияние, которое кластер оказывает на каждую точку. Очень важно знать принципы применения кластеров и веса, чтобы эффективно использовать привязку. В данной главе будет подробно рассказано о кластерах и их влиянии на поверхности. Существует два типа привязки – жесткая (rigid) и мягкая (smooth). Жесткая привязка используется при работе с объектами, которые сгибаются только в суставе и не подвержены деформации между суставами (руки, ноги и пальцы). Мягкая привязка эффективна при моделировании таких объектов, как туловище, хвост собаки или тело змеи, то есть объектов, которые изгибаются равномерно и плавно (рис. 11.3). Но в основном выбор привязки зависит только от ваших личных предпочтений. Модель простого персонажа, например, изображенного на следующей странице робота, обычно создается с применением наследования, а не привязки, особенно если все части объекта сделаны из металла и не должны сгибаться. Рекомендуем начинать работу в Maya с моделирования персонажа, у которого нет сгибающихся поверхностей, так как его легко настроить и анимировать.
Кластеры и вес 299
298 Наследование и привязка к скелету Создание наследования к суставам 1. Создайте поверхность персонажа (см. рис. 11.4). 2. Создайте скелет (рис. 11.5), как это описано в главе 9. 3. Выделите поверхность. 4. Удерживая нажатой клавишу Shift, выделите сустав, с которым требуется создать наследование. 5. Нажмите клавишу p. Если вы выделите сустав и начнете вращать его, поверхность будет двигаться вместе с суставом. 6. Повторите действия, описанные в пунктах 3–6, для всех поверхностей. Теперь при вращении выделенных суставов наследованная поверхность будет перемещаться (рис. 11.6). Поскольку геометрия наследования – это самый быстрый способ анимации персонажа, в ней обычно используется цельная сегментированная модель, которая состоит из негнущихся деталей, связанных наследованием к скелету. Вы можете использовать цельную модель, в то время как создаете свою анимацию, спрятав другую модель в слое отображения, пока не будете готовы использовать ее в работе. Для получения более подробной информации по слоям отображения, вы можете обратиться к главе «Камеры и Визуализация»
Рис. 11.4. Данный персонаж построен из простых форм. Поскольку этот робот целиком сделан из стали, его конечности и туловище не гнутся. Поэтому рекомендуется соединить поверхности персонажа и его скелет наследованием, а не привязкой
Рис. 11.5. Скелет встроен в персонаж. Основной сустав, который является главным в иерархии, располагается в области талии
Кластеры и вес Кластер используется для управления группой точек, которые могут быть вершинами объектов NURBS (контрольными вершинами), полигонов или решетки (более подРис. 11.6. Соединив наследованием все поверхности с суставами, вы можете приступать к анимации персонажа
Рис. 11.7. Вес контрольной точки кластера составляет 0,5. Это значит, что точка будет перемещаться на половину того расстояния, которое пройдет кластер (справа)
Рис. 11.8. Точки, из которых состоит модель живота, включены в кластер. Затем кластер был связан наследованием с моделью живота и анимирован
робно это будет описано в главе 12). Точки, входящие в состав кластера, имеют определенный вес. Как говорилось ранее, весом называется влияние, которое кластер оказывает на точки, входящие в его состав. Обычно значение веса колеблется между 0 и 1. Точка с весом 0 не будет перемещаться вместе с кластером, в то время как точка с весом 1 в точности повторяет все его движения. Если значение веса – это число между 0 и 1, то точка будет перемещаться пропорционально своему весу на меньшее расстояние, чем кластер. Например, предположим, что контрольная точка в кластере имеет вес 0,5. Если кластер переместился вверх на два деления сетки по оси Y, то контрольная вершина передвинется только на одно деление (рис. 11.7). А теперь умножьте вес на расстояние, которое проходит кластер, и вы получите расстояние, на которое перемещается точка. Создание кластеров представляет удобный способ анимирования частей поверхности. Например, если требуется анимировать движение толстого живота персонажа, вы можете сформировать кластер, который состоит из всех точек живота, задать разный вес для этих точек, а затем анимировать кластер (рис. 11.8). Освоение принципов работы с кластерами является ключом для понимания привязки. Привязка создает кластеры из частей поверхности, а затем наследует их к суставам. После привязки поверхности вы сможете переопределить вес точек, чтобы поверхность изменялась так, как вы желаете. Давайте на конкретном примере рас-
Кластеры и вес 301
300 Наследование и привязка к скелету смотрим создание кластера.
Создание кластера 1. Выберите в меню Create (Создать) пункты NURBS Primitives Plane (Примитивы NURBS Плоскость). 2. Выберите в разделе INPUTS окна Channel Box (Редактор каналов) раздел makeNurbPlane1 – рис. 11.9. 3. Увеличьте значения Patches U (Патчи по U) и Patches V (Патчи по V) до 30. Плоскость станет более плотной (рис. 11.10). 4. Нажмите клавишу F8, чтобы перейти в режим выделения компонентов. 5. Выделите несколько точек в центре плоскости (рис. 11.11). 6. Выберите пункт Create Cluster (Создать кластер) в меню Deform (Деформации). В центре области выделенных точек появится буква C. 7. Нажмите клавишу w, чтобы перейти в режим перемещения, и передвиньте кластер. Контрольные точки будут перемещаться вместе с кластером (рис. 11.12).
Изменение веса точек кластера с помощью Component Editor
Рис. 11.10. В нижней части рисунка показана плоскость до увеличения количества патчей. В верхней – после увеличения
Рис. 11.11. Поверхность стала более плотной, поскольку увеличилось количество составляющих ее точек. В центре поверхности выделены контрольные точки, которые затем будут включены в кластер
Рис. 11.13. Выделите несколько контрольных точек кластера, чтобы изменить их вес
2. Выделите несколько контрольных точек, входящих в кластер (рис. 11.13). 3. Выберите в меню Window пункты General Editors Component Editor (Общие редакторы Редактор компонентов), чтобы открыть окно Component Editor. 4. Выберите в окне Component Editor вкладку Weighted Deformers (Деформаторы веса) – рис. 11.14. 5. Щелкните по верхнему цифровому полю и переместите курсор мыши вниз, чтобы выделить все значения веса точек. 6. Введите в поле значение 0,5, затем нажмите клавишу Enter. Все значения веса в столбце изменятся на 0,5 (рис. 11.15). 7. Щелкните по строке cluster1 над столбцом со значениями веса (только для Windows). 8. Удерживая нажатой клавишу Ctrl, щел-
Рис. 11.14. В редакторе Component Editor вкладка Weighted Deformer относится к работе с кластерами. В ней отображается вес выбранных точек
1. Создайте кластер, как было описано в предыдущем разделе.
Рис. 11.9. Щелкните по заголовку makeNurbPlane1 в окне Channel Box, чтобы открыть раздел атрибутов
Рис. 11.12. Кластер, помеченный буквой C, был перемещен вверх. Контрольные точки, из которых он состоит, переместились вместе с ним
Рис. 11.15. В окне Component Editor показано, что значение веса выбранных точек изменилось на 0,5. Выделенные точки переместились только на половину расстояния, на которое передвинулся кластер, поскольку они имеют меньший вес
Кластеры и вес 303
302 Наследование и привязка к скелету кните по верхнему полю в столбце со значениями веса.
го значения вес соседних точек усредняется, таким образом, область становится более гладкой.
Теперь при перетаскивании ползунка в нижней части окна Component Editor контрольные точки будут перемещаться, а вес меняться в интерактивном режиме.
Инструмент Attribute Paint Существует другой способ изменения веса точек кластера – при помощи инструмента Attribute Paint (Рисование атрибутов). Он особенно полезен при работе с плотными поверхностями и включает несколько опций для интерактивного изменения веса точек (рис. 11.16). В поле Paint Operations (Операции рисования) можно выбрать любую из четырех функций:
Replace (Заменить). Если параметру Paint Operation присвоено значение Replace, вес рисуемых точек будет равен значению в поле Value (Значение); Add (Добавить). Если вы выбрали переключатель Add, то значение поля Value будет добавляться к весу рисуемых точек. Эта опция используется для постепенного увеличения веса точек; Scale (Масштабировать). Если параметр Paint Operation определяется как Scale, текущий вес точки будет умножаться на значение поля Value. Если в данном поле задано значение 0,9, вы сможете постепенно уменьшить вес точки; Smooth (Сгладить). При выборе это-
Рис. 11.18. Установленный по умолчанию размер кисти слишком велик для такой маленькой поверхности. На рисунке представлен процесс уменьшения размеров кисти
Рис. 11.16. Инструмент Attribute Paint позволяет интерактивно изменять вес точек
Рис. 11.17. Щелкните по поверхности правой кнопкой мыши, чтобы вызвать контекстное меню. Оно предоставляет наиболее быстрый доступ к инструменту Attribute Paint
Рис. 11.19. При использовании опции Replace со значением веса, равным 0,5, вы получите такой же результат, как если бы ввели это значение в редакторе Component Editor
Кнопка Flood (Залить) позволяет существенно ускорить работу. При ее нажатии установки инструмента Attribute Paint переносятся сразу на все точки, и вам не придется рисовать каждый эффект заново. Это полезно в том случае, если вы задаете для всех точек одинаковый вес или усредняете его.
Редактирование веса точек при помощи инструмента Attribute Paint 1. Создайте кластер и переместите его вверх, как было описано в предыдущем разделе. 2. Выделите поверхность. 3. Щелкните по поверхности правой кнопкой мыши. В появившемся контекстном меню выберите пункты Paint cluster cluster1 weights (Рисовать кластер кластер 1 вес) – рис. 11.17. Инструмент Attribute Paint активирован. Вы увидите цветовое выделение на объекте при работе в режиме тонирования. Часть поверхности, которая включает контрольные точки кластера, станет белой, остальная поверхность останется черной. 4. Удерживая нажатой клавишу b, переместите курсор слева направо, чтобы уменьшить размеры кисти (рис. 11.18). 5. Дважды щелкните мышью по инструменту Attribute Paint на панели инструментов. Откроется окно Tool Settings (Установки инструмента) для
Общие понятия о привязке 305
304 Наследование и привязка к скелету 6.
7.
8. 9.
инструмента Attribute Paint. Измените значение в поле Value на 0,5. Параметру Paint Operation присвойте значение Replace (рис. 11.19). Щелкните по поверхности и переместите указатель мыши, удерживая нажатой левую кнопку. Нарисованная часть поверхности переместится вниз, так как вы изменили вес точек на 0,5. Измените значение Paint Operation на Smooth. Несколько раз нажмите на кнопку Flood. Выступ сгладится (рис. 11.20).
Общие понятия о привязке Привязывая оболочку (skin) к скелету, вы заставляете ее поверхность перемещаться вместе с костями. Вначале этот процесс может показаться сложным, однако на самом деле он является комбинацией уже известных вам действий. Вы знаете, что при создании наследования между поверхностью и суставом поверхность будет перемещаться вместе с суставом. Вам также известно, что кластер – это набор точек, которые имеют вес. При привязке оболочки формируется кластер, который состоит из точек поверхности, расположенных рядом с костью, а затем создается наследование между этим кластером и костью. Вы сможете изменить вес точек кластера, чтобы определить расстояние, на которое будут перемещаться точки поверхности вместе с суставом (рис. 11.21). Как говорилось ранее, существует два типа привязки – жесткая и мягкая. При использовании жесткой привязки каждая точка может входить в кластер только одного сустава. При мягкой привязке каждая точка может принадлежать кластерам
нескольких суставов. Вес такой точки будет разделен между двумя или более суставами, но не может превышать единицы (рис. 11.22).
Жесткая привязка оболочки
Рис. 11.20. При нажатии кнопки Flood текущая установка опции Paint Operation будет применена ко всем точкам кластера. В данном случае установлено значение Smooth, поэтому при щелчке по кнопке Flood все точки будут сглажены одновременно, а это быстрее, чем сглаживать их вручную
Рис. 11.21. Переопределяя вес точек, составляющих кластер сустава, вы изменяете влияние, которое сустав оказывает на контрольные точки. Чем меньшее влияние имеет сустав, тем меньше расстояние, на которое будет перемещаться контрольная точка вместе с суставом, что приведет к уменьшению излома вокруг области сустава
Рис. 11.22. Цилиндр соединяется с костью при помощи мягкой привязки. Вес выбранных точек показан в окне Component Editor. Вес распределен между тремя суставами, однако второй сустав joint2 имеет первичное влияние
1. В меню Create выберите пункты NURBS Primitives Cylinder (Примитивы NURBS Цилиндр). 2. Увеличьте значение Scale Y (Масштабировать по оси Y) до 8 – рис. 11.23. 3. Выберите раздел makeNurbCylinder1 в поле Channel Box.
Рис. 11.23. Слева показан цилиндр с восемью сегментами высоты. Справа изображено окно Channel Box с атрибутами для данного цилиндра Рис. 11.24. Слева изображен цилиндр со значением Scale Y, равным 8; справа показано окно Channel Box, которое позволяет точно задавать значения параметров
306 Наследование и привязка к скелету
Общие понятия о привязке 307
4. Присвойте параметру Spans (Сегменты высоты) значение 8 – рис. 11.24. Поверхности, к которым применяется привязка, требуют ввода дополнительных деталей, особенно в точках сгиба. 5. Создайте внутри поверхности три сустава – рис. 11.25. 6. Выделите суставы и поверхность, удерживая нажатой клавишу Shift. 7. В меню Skin (Оболочка) выберите пункт Bind Skin (Привязать оболочку) и щелкните по значку рядом с пунктом Rigid Bind (Жесткая привязка). Откроется окно Rigid Bind Skin Options (Настройка жесткой привязки оболочки). 8. Выберите в выпадающем списке Bind to (Привязать к) значение Complete Skeleton (Весь скелет), затем отметьте флажок Color Joints (Установка цвета суставов) в разделе Coloring (Цвета) – рис. 11.26. 9. Нажмите на кнопку Bind Skin (Привязать оболочку). 10. Выделите центральный сустав и поверните его. Нижняя часть поверхности переместится вместе с костью (рис. 11.27).
Чтобы сразу привязать несколько поверхностей ко всему персонажу, выберите основной сустав скелета и все соответствующие поверхности и выполните команду привязки.
Рис. 11.25. В цилиндре располагаются три сустава, которые образуют две кости Рис. 11.28. Инструмент Edit Membership позволяет изменять принадлежность точек к суставу. Здесь добавлено несколько точек в средний сустав
При использовании жесткой привязки точка принадлежит одному суставу. Однако иногда она может соединяться не с тем суставом, с которым следует. Инструмент Edit Membership (Редактировать вхождение точек в сустав) позволяет переопределить сустав, в который входит точка.
Изменение вхождения точки в сустав
Рис. 11.26. При выборе значения Complete Skeleton оболочка будет привязана к каждому суставу (а не только к выбранным). При установке флажка Color Joints суставы и составляющие их точки после привязки оболочки будут окрашены в один и тот же цвет
Любой тип поверхности может быть привязан к скелету – NURBS, полигональная или поверхность разделения. Вы также можете привязать решетку или просто несколько точек.
Рис. 11.27. Только нижняя часть поверхности будет перемещаться вместе с центральным суставом
Рис. 11.29. При повороте сустава все точки, входящие в сустав, будут вращаться вместе с ним. Поэтому добавленные точки также будут вращаться
Рис. 11.30. Выделите ряд точек в среднем суставе, чтобы изменить их вес. Но сначала убедитесь, что вы работаете в режиме компонентов
1. Создайте цилиндр, соединенный привязкой со скелетом, как было показано в предыдущем разделе. 2. Выделите средний сустав. 3. Выберите инструмент Edit Membership (Редактировать вхождение) в меню Deform (Деформации). Указатель изменит форму. 4. Щелкните по среднему суставу. Будут выбраны точки, которые входят в этот сустав. 5. Удерживая нажатой клавишу Shift, выделите средний ряд точек (рис. 11.28). При этом точки будут выделены и добавлены в средний сустав. 6. Выделите средний сустав и поверните его. Теперь добавленные точки будут вращаться вместе с уставом (рис. 11.29). Если во время выбора точек вы будете удерживать нажатой клавишу Ctrl, то при работе с инструментом Edit Membership эти точки будут удалены из привязки к суставу. Если эти точки не были добавлены в какой-либо сустав, то при перемещении персонажа они будут оставаться на месте.
Общие понятия о привязке 309
308 Наследование и привязка к скелету
6. Введите в поле значение 0,5. Вес для всех выбранных точек станет равным 0,5. Теперь при вращении точки будут проходить вполовину меньшее расстояние, чем сустав, создавая вокруг сустава сглаженную форму (рис. 11.32).
Инструмент Edit Membership можно использовать для любого объекта деформации, например, решетки или переходных форм (blend shape).
Редактирование веса точек при использовании жесткой привязки 1. Откройте сцену с цилиндром, созданным в предыдущем разделе. 2. Выделите ряд точек в среднем суставе (рис. 11.30). 3. Выберите в меню Window пункты General Editors Component Editor. 4. Перейдите на вкладку Rigid Skins. 5. Щелкните по верхнему цифровому полю и переместите курсор вниз, чтобы выделить все значения веса. В данном случае цифровое поле имеет название joint2Cluster1 (Сустав2кластер1). Весь столбец будет выделен (рис. 11.31).
Рис. 11.31. Щелкните по кнопке над столбцом, и весь столбец со значениями веса в окне Component Editor будет выделен. Это позволяет одновременно изменить все значения веса
Иногда сгиб поверхности может быть слишком закругленным, и потребуется придать ей более острую форму, например при работе с локтевым суставом. Флексор позволяет легко добавить нужное скругление и излом, которые возникают на поверхности рядом с суставом.
Рис. 11.32. Выбранные точки верхнего цилиндра не были изменены. Их вес по-прежнему равен 1. Вес точек нижнего цилиндра составляет 0,5 Рис. 11.34. К среднему суставу был добавлен флексор. При вращении сустава флексор будет изменять форму поверхности в области ее изгиба
Рис. 11.33. При нажатии кнопки Create Flexor вокруг выбранного сустава появится решетка. У нее имеются специальные атрибуты, которых нет у других сеток, например Creasing и Rounding для прорисовки локтя или колена. Убедитесь в том, что сустав, к которому вы добавляете флексор, прямой. В противном случае вы получите нежелательные результаты
Рис. 11.35. Изменяя атрибут Rounding, вы можете сделать изогнутую часть поверхности более угловатой. Часто это используется при построении таких объектов, как локти, колени и суставы пальцев. Когда сустав возвращается в исходное состояние, поверхность приобретает начальную форму
Создание флексора 1. Создайте цилиндр с использованием жесткой привязки (см. предыдущий раздел). 2. Убедитесь в том, что сустав, к которому вы добавляете флексор, прямой, то есть его угол поворота относительно других равен нулю. 3. Выделите средний сустав. 4. Выберите в меню Skin пункты Edit Rigid Skin Create Flexor (Редактировать оболочку, присоединенную жесткой привязкой Создать флексор). 5. Нажмите на кнопку Create. Вокруг сустава будет создана решетка (рис. 11.33). Она имеет особые атрибуты, такие как Creasing (Излом) и Rounding (Скругление), которыми не обладают другие решетки. Эти атрибуты позволяют сформировать локоть или колено. 6. Поверните сустав на 90° (рис. 11.34). При вращении сустава флексор будет автоматически изменять поверхность таким образом, чтобы избежать излома. 7. Выделите решетку, которая появилась при создании флексора. 8. Щелкните по полю Rounding в окне
Общие понятия о привязке 311
310 Наследование и привязка к скелету Channel Box. 9. При помощи средней кнопки мыши перемещайте курсор по панели слева направо до тех пор, пока изогнутая область поверхности не станет более угловатой и не примет форму локтя (рис. 11.35). Если вы поставите флажок в поле Position the Flexor (Поместить флексор) окна Create Flexor Options (Опции создания флексора), решетка и основание решетки будут сгруппированы. Это позволяет изменить форму решетки путем перемещения и изменения группы. При этом поверхность изменена не будет.
8. Выделите верхний сустав, затем последовательно выберите все остальные суставы, удерживая нажатой клавишу Shift. Одновременно поверните все суставы. Поверхность будет перемещаться вместе с суставами и плавно изгибаться (рис. 11.37).
Рис. 11.36. Поместите в цилиндр пять суставов. Мягкая привязка используется в тех частях модели, которые имеют большое количество суставов и должны сгибаться плавно
Мягкая привязка оболочки 1. В меню Create выберите пункты NURBS Primitives Cylinder. 2. Увеличьте значение Scale Y до 8 3. Выберите опцию makeNurbCylinder1 в поле Channel Box. 4. Увеличьте значение Spans до 16. Поверхности, к которым применяется привязка, требуют ввода дополнительных деталей, особенно в точках сгиба. 5. Создайте в цилиндре пять суставов (рис. 11.36). 6. Выделите поверхность и основной сустав, удерживая нажатой клавишу Shift. 7. Выберите в меню Skin пункты Bind Skin Smooth Bind (Привязать оболочку Мягкая привязка).
Рис. 11.38. Здесь представлены четыре стадии формирования поверхности. Сначала создайте полигональный куб и измените его масштаб. Выдавите боковую грань, масштабировав и переместив ее так, чтобы она образовала начальную грань для руки. Еще раз выдавите грань, чтобы получить руку. Наконец, сгладьте поверхность, установив количество разделений на 3, а непрерывность – на 0,35
Рис. 10.37. Цилиндр, для которого используется мягкая привязка
Рисование веса оболочки, для которой используется мягкая привязка 1. Создайте полигональную форму, применив к кубу команду Extrude Face (Выдавить грань), затем выберите пункт Smooth (Сгладить) в меню Polygon (Полигон) – рис. 11.38. Это будет заготовка туловища и одной руки нашего персонажа. 2. Поместите в заготовку четыре сустава (рис. 11.39). 3. Выделите основной сустав. Удерживая нажатой клавишу Shift, выберите поверхность. 4. Выберите в меню Skin пункты Bind Skin Smooth Bind. 5. Выделите второй сустав и поверните его. При этом часть поверхности, которая относится к туловищу, сильно
Рис. 11.39. Начиная с середины груди, поместите в заготовку четыре сустава
Рис. 11.40. При вращении плеча слишком сильно изгибается туловище
Общие понятия о привязке 313
312 Наследование и привязка к скелету изогнется (рис. 11.40). Если бы в туловище было больше суставов, то вращение руки не создавало бы проблем, так как точки, привязанные на данный момент к руке, относились бы к тем суставам в туловище, рядом с которыми они расположены. По этой причине в туловище часто помещают кости ребер. 6. Выделите поверхность. 7. Щелкните по поверхности правой кнопкой мыши и выберите пункты меню Paint skinCluster skinCluster1 paintWeights (рис. 11.41), чтобы активировать инструмент Paint Skin Weights (Рисование весов оболочки). 8. Дважды щелкните по кнопке инструмента Paint Skin Weight на панели инструментов . Откроется окно Tool Settings (Установки инструмента) для инструмента Paint Skin Weights: в пункте Inf luence (Влияние) должна быть выбрана строка joint1, в поле Paint Operation установлен переключатель Replace, а значение Value должно составлять 1,0000 (рис. 11.42). 9. Чтобы изменить размеры кисти, удер-
Рис. 11.44. Установив переключатель Smooth, щелкните по кнопке Flood – соединение плеча и туловища становится более гладким
живайте нажатой клавишу b и с помощью средней кнопки мыши переместите курсор справа налево. 10. Закрасьте поверхность заготовки туловища (рис. 11.43). Туловище примет первоначальную форму и окрасится в белый цвет. Это происходит потому, что весь вес переносится от joint2 к joint1 – от второго сустава к первому. 11. В поле Paint Operation установите переключатель Smooth. 12. Несколько раз нажмите на кнопку Flood. Область сгиба поверхности будет сглажена (рис. 11.44).
Отделение поверхности от суставов 1. Для выполнения данного упражнения вам потребуется скелет, соединенный с поверхностью жесткой привязкой
Рис. 11.42. Здесь представлены установки по умолчанию для инструмента Paint Skin Weights, которые используются для выполнения данного упражнения
Рис. 11.45. Чтобы команда Detach выполнялась корректно, вам следует выбрать только поверхность, а не сустав Рис. 11.43. При рисовании на поверхности точки получают вес 1 для первого сустава, поэтому они не перемещаются вместе с плечевым суставом. Убедитесь в том, что вы закрасили всю поверхность Рис. 11.41. При нажатии правой кнопки мыши появится контекстное меню, которое предоставляет удобный доступ к инструменту Paint Skin Weights
Рис. 11.46. Чтобы отделить поверхности от костей, выберите пункт меню Detach Skin
Рис. 11.47. После отделения от поверхности суставы больше не влияют на объект
314 Наследование и привязка к скелету (см. предыдущие разделы). 2. Выделите часть геометрии, которую требуется отделить от скелета (рис. 11.45). 3. Выделите в меню Skin пункт Detach Skin (Отделить оболочку) – рис. 11.46. Часть геометрии будет отделена от скелета. 4. Выделите центральный сустав и поверните его. Сустав повернется, но поверхность останется на месте (рис. 11.47). Когда вы привязываете объект к скелету, Maya запоминает, каким было положение сустава в момент привязки. Это положение называется позой привязки (bind pose). При создании анимации часто возникает необходимость выровнять суставы в соответствии с начальным положением, то есть придать им вращение, которое существовало в момент привязки объекта к скелету. Maya позволяет восстановить начальное положение суставов, вернув их в позу привязки.
Рис. 11.48. Выберите сустав, который требуется вернуть в позу привязки
Рис. 11.49. Выделенный сустав вернулся в положение привязки
Анимация
Рис. 12.1. Выражение лица персонажа, анимированного Тоби Марвином (Toby Marvin), изменяется с вполне доброжелательного на агрессивное
12 Maya была создана для анимации, поэтому практически все, с чем вы работаете, может быть анимировано. Это относится к цвету, форме объекта и даже к интенсивности источника освещения (рис. 12.1). Большая часть анимации создается с помощью ключевых кадров. Термин ключевой кадр заимствован из рисованной мультипликации, в которой главный художник-аниматор создает ключевые положения для персонажа – рисует персонаж в начале и конце движения, а также создает основные моменты анимации. Затем ассистент художника выполняет промежуточные кадры, добиваясь плавности перемещения. При использовании Maya вы играете роль главного художника, а программа – вашего ассистента. Вы создаете ключевые кадры, то есть задаете положение объекта или значение атрибута в определенный момент времени, а программа рисует за вас все промежуточные кадры. Maya позволяет легко редактировать анимацию: вы можете изменять временные интервалы или расстояние между существующими кадрами, добавлять или удалять ключевые кадры, а также переопределять скорость показа между ключевыми кадрами, модифицируя анимационную кривую.
Средства управления анимацией 317
316 Анимация
Средства управления анимацией Ползунки Time (Время) и Range (Диапазон) являются первичными средствами создания и настройки анимации в Maya (см. рис. 12.2). Рассмотрим их более подробно:
Time Slider (Ползунок времени) определяет положение объекта во времени. Это область в нижней части экрана, которая включает кнопки для воспроизведения анимации и шкалу времени (рис. 12.3). Вы можете щелкнуть по любому кадру, чтобы перейти в соответствующий момент времени, или щелкнуть и перетащить указатель мыши, чтобы воспроизвести несколько кадров. Ползунок времени позволяет выбирать, перемещать и масштабировать ключевые кадры;
Ползунок времени
Ползунок диапазона
Поле текущего времени
Рис. 12.6. В этих числовых полях вы должны определить начало и конец будущей анимации. В любой момент эти установки можно изменить Поле начала времени
Поле начала воспроизведения
Поле конца воспроизведения
Кнопки воспроизведения
Рис. 12.7. С помощью ползунка диапазона вы можете указать, какой эпизод анимации отображается на шкале времени Поле конца воспроизведения
Текущее меню Character Set
Кнопка Auto Keyframe Кнопка Animation Preferences
Рис. 12.2. Ползунки Time и Range позволяют воспроизводить анимацию, регулировать положение сцены во времени, а также просматривать только часть анимации
Рис. 12.8. В этих полях определяется начальное и конечное время воспроизведения. Чтобы изменить эти установки, вы можете ввести другие значения
Current Time indicator (Индикатор текущего времени) показывает текущее положение во времени (рис. 12.4); Current Time field (Поле текущего времени) определяет текущее положение во времени. Чтобы изменить данный параметр, вы можете указать в этом поле другое значение (рис. 12.5); Start Time/End Time fields (Поля начального/конечного времени) показывают временной диапазон, или продолжительность, анимации. Значения в этих полях задают время, в диапазоне которого может перемещаться ползунок Range Slider (рис. 12.6); Range Slider (Ползунок диапазона) регулирует диапазон воспроизведения (см. рис. 12.7). Укорачивая или удлиняя диапазон, вы устанавливаете начальную и конечную точки временной шкалы. С помощью кнопок вы можете задать время начала и конца воспроизведения
Рис. 12.3. Чтобы перейти в определенный момент времени, щелкните по шкале времени Рис. 12.4. Индикатор Current Time показывает, над каким кадром анимации вы в данный момент работаете. Если вы собираетесь вырезать, скопировать или удалить ключевой кадр на шкале времени, индикатор текущего времени должен находиться над этим кадром
Рис. 12.9. Кнопки воспроизведения
Рис. 12.10. Если изображение ключа на кнопке окрасится в белый цвет, а фон станет красным, значит, включен режим Auto Keyframe
Рис. 12.11. Кнопка Animation Preferences
Рис. 12.5. Поле текущего времени показывает положение кадра во времени. Вы можете ввести в поле любое значение, даже то, которого нет в диапазоне воспроизведения, и перейти в этот момент времени
Рис. 12.12. Здесь вы можете создавать и выбирать установки для персонажей
анимации или переместить весь диапазон вперед или назад на временной шкале. Это значительно упрощает работу с отдельными кадрами: чем меньше диапазон, тем легче выбирать кадры; Start Time/End Time fields (Поля начала/конца воспроизведения) задают диапазон воспроизведения, по аналогии с ползунком диапазона (рис. 12.8); Playback Buttons (Кнопки воспроизведения) аналогичны кнопкам CD-проигрывателя (рис. 12.9). Кнопки Rewind (Перемотать назад) и Fast Forward (Быстрый просмотр) изменяют текущее время до начала или конца диапазона воспроизведения. Вы можете переходить на один кадр назад или быстро перемещаться к ближайшему ключевому кадру. Кнопка Play предназначена для воспроизведения анимации, а при просмотре она переключается в режим Stop; кнопка Auto Keyframing toggle (Режим автоматического создания ключевых кадров) активирует и отключает режим Auto Keyframing (рис. 12.10). В данном режиме изменение любого атрибута выделенного объекта автоматически создает ключевой кадр. Однако этот атрибут уже должен быть включен в ключевой кадр; кнопка Animation Preferences (Настройки анимации) открывает окно установки настроек анимации (рис. 12.11). Она также позволяет переключиться на окно общих настроек Maya; в выпадающем списке Current Character Set (Установки текущего персонажа) отображается название текущего персонажа (рис. 12.12). С его помощью вы можете получить быстрый доступ к атрибутам персонажа, что позволяет работать сразу с несколькими персонажами.
Ключевые кадры 319
318 Анимация
Ключевые кадры
Создание ключевого кадра
Анимация – это последовательность меняющихся изображений. В Maya почти каждый созданный объект (или элемент) можно менять, то есть подвергать анимации. Вы уже знаете, что такое узлы и как с ними работает данная программа. Любой атрибут узла, имеющий численное значение, можно сделать ключевым. Создание ключевого кадра, или ключа – операция присвоения числового значения атрибуту узла в определенном временном кадре. Например, движение мяча может начинаться в точке с координатой –2 по оси X в кадре 1 (первый ключевой кадр), а заканчиваться в точке с координатой 2 по оси X в кадре 10 (второй ключевой кадр). Между этими кадрами мяч будет постепенно перемещаться по экрану (см. рис. 12.13). Существует много способов создания ключевых кадров и последующего их изменения. При создании ключевого кадра каналы, которые были включены в кадр, выделяются оранжевым цветом в окне Channel Box (Редактор каналов). Кроме того, на шкале времени появляются тонкие красные линии (ключевые метки), показывающие местоположение каждого ключевого кадра (рис. 12.14). Ключевые кадры также отображаются в окне Graph Editor (Редактор кривых анимации) и в окне Dope Sheet (Монтажный стол), о которых будет рассказываться далее в этой главе. В следующем разделе описываются способы создания ключевого кадра.
1. Выберите в меню Create пункты NURBS Primitives Sphere (Примитивы NURBS Сфера). 2. Нажмите клавиши Shift+w, и ключевыми станут только атрибуты перемещения. Чтобы сделать ключевыми атрибуты вращения или масштабирования, нажмите клавиши Shift+e или Shift+r. Эти комбинации соответствуют «горячим» клавишам для быстрого вызова инструментов Move (Перемещение), Rotate (Вращение) и Scale (Масштабирование). 3. Выберите в поле Channel Box атрибут Rotate X (Повернуть по оси X), затем, удерживая нажатой клавишу Shift, выберите атрибуты Rotate Y (Повернуть по оси Y) и Rotate Z (Повернуть по оси Z) – рис. 12.15. 4. Щелкните правой кнопкой мыши по окну Channel Box и выберите в контекстном меню пункт Key Selected (Сделать выделенный атрибут частью ключевого кадра) – рис. 12.16. Любые выделенные каналы (в данном случае, каналы вращения) будут введены в ключевой кадр. 5. Щелкните по номеру 10 на шкале времени, чтобы перейти в этот кадр. 6. Переместите и поверните сферу. 7. Нажмите клавишу s. Все ранее выбранные атрибуты в окне Channel Box будут помещены в ключевой кадр. 8. Активируйте режим Auto Keyframe . Кнопка режима при этом будет подсвеченной. 9. Введите в поле Current Time (Текущее время) значение 20, чтобы перейти на новую позицию шкалы времени, и нажмите клавишу Enter (рис. 12.17).
Рис. 12.13. При воспроизведении анимации мяч будет перемещаться вдоль оси X
Рис. 12.14. Тонкая линия рядом с цифрой 10 – это ключевая метка. Это значит, что для выбранного объекта в данный момент времени существует ключевой кадр
Рис. 12.16. Контекстное меню позволяет быстро поместить выбранные атрибуты в ключевой кадр
Рис. 12.17. Чтобы перейти по шкале времени, введите в поле значение 20. Если временной диапазон вашей анимации достаточно велик, ввести номер кадра будет проще, чем найти его на шкале времени
Рис. 11.15. Для создания ключевого кадра в окне Channel Box выбраны атрибуты Rotate X, Y и Z. Перемещая курсор и удерживая нажатой левую кнопку мыши, вы можете выделить несколько атрибутов
Ключевые кадры 321
320 Анимация 10. Переместите сферу. Появится новый ключевой кадр. В режиме Auto Keyframe ключевой кадр возникает при каждом изменении атрибута.
Рис. 12.21. С помощью двойного щелчка на шкале времени вы можете выбрать все ключевые кадры в диапазоне просмотра
Вы можете задавать ключевые кадры только для выделенного объекта. Аналогично ключевые метки на шкале времени появляются лишь в том случае, если был выбран объект, для которого заданы ключевые кадры.
Большая часть опций для редактирования ключевых кадров доступна в окнах Graph Editor и Dope Sheet, однако получить доступ к основным инструментам редактирования можно напрямую из шкалы времени.
Рис. 12.18. Это пример самой простой анимации объекта. Выберите сферу и нажмите клавиши Shift+w, чтобы добавить ее в ключевой кадр. Если режим Auto Keyframe активирован, Maya будет автоматически создавать ключевые кадры для сферы при каждом ее перемещении
Редактирование ключевых кадров на шкале времени 1. Выберите в меню Create пункты NURBS Primitives Sphere. 2. Задайте начальное время воспроизведения равным 1, а конечное время – 30. 3. Создайте для сферы ключевые кадры через каждые пять кадров, начиная с первого. Перемещайте сферу и изменяйте текущее время каждый раз при создании ключевого кадра. Если режим Auto Keyframe по-прежнему включен, нажмите клавиши Shift+w в первом кадре, и все остальные кадры автоматически станут ключевыми при изменении атрибутов (рис. 12.18). 4. Щелкните по кадру с ключевой меткой на шкале времени. Затем щелкните по шкале времени правой кнопкой мыши, выберите в меню пункт Delete (Удалить) – рис. 12.19. Ключевой кадр будет удален.
Рис. 12.19. Контекстное меню, вызываемое при помощи правой кнопки мыши, предоставляет быстрый доступ к командам анимации
Рис. 12.20. Внешние стрелки позволяют масштабировать временной интервал, а внутренние стрелки – одновременно перемещать несколько ключевых кадров
5. Удерживая нажатой клавишу Shift, перетащите курсор по шкале времени, чтобы выделить обе ключевые метки. Появится область красного цвета с двумя небольшими стрелками в центре и двумя стрелками на границах (рис. 12.20). 6. Перетащите курсор мыши слева направо по двум стрелкам в центре выделенной области. Ключевые кадры будут перемещаться одновременно без масштабирования промежутка времени между ними. Аналогичным способом можно перемещать отдельные ключевые кадры. 7. Дважды щелкните по шкале времени. Будут выделены все ключевые кадры в диапазоне воспроизведения. Однако стрелки, используемые для масштабирования, находятся вне диапазона просмотра, поэтому для получения доступа к ним вы должны изменить конечное время воспроизведения. 8. Задайте конечное время воспроизведения равным 31. В конце выбранного диапазона появится стрелка (рис. 12.21). 9. Переместите стрелку влево. Время анимации будет уменьшено, следовательно, сфера станет перемещаться быстрее. Обратите внимание, что ключевые метки больше не попадают на кадры, номера которых выражены целыми числами. 10. Щелкните по шкале времени правой кнопкой мыши; выберите в контекстном меню пункт Snap (Привязка). Ключевые кадры будут перемещены в ближайшие кадры, номера которых выражены целыми числами.
Настройка параметров анимации 323
322 Анимация
Анимационные ролики на компьютере воспроизводятся с частотой 24 кадра в секунду, на телевизионном экране частота составляет уже 30 кадров в секунду; а в сети Internet изображения сменяют друг друга со скоростью 15 кадров в секунду. Перед началом работы над анимацией следует правильно определить скорость воспроизведения. Если вы этого не сделаете, данная скорость может не совпасть с частотой смены кадров конкретного устройства. В этом случае ролик будет воспроизводиться некорректно.
Если вы желаете убедиться в том, что индикатор текущего времени расположен на ключевом кадре, используйте стрелки прокрутки вперед и назад на панели управления анимацией. Они позволяют перемещаться по шкале времени к предыдущему и следующему ключевому кадру. Работая с временными интервалами, наиболее удобно выбирать, перемещать и масштабировать ключевые кадры непосредственно на шкале времени.
Настройка параметров анимации Перед тем как начинать работу над сложной сценой, необходимо настроить параметры, определяющие скорость воспроизведения анимации и отображение ключевых меток на временной шкале. Если в сцене присутствует множество анимированных поверхностей, Maya не сможет показать каждый кадр анимации на полной скорости. У вас останется два варианта выбора: воспроизводить анимацию на полной скорости, теряя при этом часть кадров, или просматривать каждый кадр отдельно с низкой скоростью. Иногда требуется увидеть детали в движении, в других случаях необходимо просмотреть все действие, чтобы составить более полную картину. При работе с простой сценой вы можете сразу убить двух зайцев, то есть просмотреть анимацию на полной скорости и при этом увидеть каждый кадр анимации. Анимация, создаваемая в Maya, имеет различное назначение: она используется для создания фильмов, компьютерных игр и размещения в сети Internet. Каждое из средств воспроизведения характеризуется собственной частотой смены кадров.
Рис. 12.22. Очень важно задать скорость воспроизведения до того, как вы начнете создавать анимацию. Если вы выберете скорость неправильно, то звук может не совпадать с изображением при просмотре
Установка скорости просмотра анимации Рис. 12.23. Стандартной установкой для видео является Real-time (30 кадров в секунду)
1. Нажмите на кнопку Animation Preferences (Настройки анимации) , которая находится в нижнем правом углу главного окна программы. Откроется окно Preferences (Настройки) – рис. 12.22. 2. В столбце Categories (Категории) щелкните по строке Timeline (Временная шкала). В выпадающем списке Playback Speed (Скорость воспроизведения) пункт Real-time (Реальное время) для Windows или Normal (24 FPS) (Нормальный (24 кадра в секунду)) для Macintosh. 3. Выберите в столбце Categories строку Settings (Установки). 4. Установите нужную частоту смены кадров в выпадающем списке Time (Время) – рис. 12.23. Для видео стандартом является NTSC (30 кадров в секунду). 5. Нажмите на кнопку Save (Сохранить). При следующем запуске Maya эти настройки будут восстановлены.
Импорт звуковых файлов 325
324 Анимация Ключевые метки – это красные линии, которые появляются на шкале времени при создании ключевого кадра. Вы можете отображать ключевые метки только для выбранных каналов. Это полезно в том случае, если требуется внести изменения в некоторые (но не во все) атрибуты на шкале времени.
Импорт звуковых файлов Maya позволяет импортировать звуковые файлы. Вы сможете анимировать сцену, используя диалог или ритм песни в качестве звукового фона. Файл должен быть в формате AIFF или WAV. Рис. 12.25. Контекстное меню, вызываемое правой кнопкой мыши, позволяет изменить текущий звуковой файл или отменить его воспроизведение
Изменение опций видимости ключевых меток 1. Внесите атрибуты объекта в ключевой кадр. 2. Нажмите на кнопку Animation Preferences . 3. В окне Preferences выберите переключатель Channel Box в поле Key Ticks (Ключевые метки). Все ключевые метки, которые отображались на шкале времени, пропадут. 4. Выделите любые каналы ключевого кадра в окне Channel Box. Появятся ключевые метки для этих каналов. 5. Вновь откройте окно Preferences и измените установку Key Ticks на Active (Видимые). Нажмите на кнопку Save. Кнопка Animation Preferences является удобным средством доступа ко многим настройкам Maya. После открытия окна попробуйте выбрать различные категории в списке Categories. Если в поле Key Ticks задано значение Channel Box, можно изменить только те атрибуты, которые выделены в окне Channel Box. Например, если требуется задействовать в ключевом кадре атрибуты масштабирования и вращения, вы можете отдельно переместить ключевые кадры масштабирования, если выберете их в окне Channel Box и перетащите ключевые метки. Ключевые кадры вращения останутся на исходной позиции.
Рис. 12.24 Импортирование звукового файла
Рис. 12.26. При прослушивании звука скорость просмотра должна быть задана как Real-time
Импорт звукового файла 1. Выберите пункт Import (Импортировать) в меню File (рис. 12.24). 2. Выделите звуковой файл, который требуется импортировать, и нажмите на кнопку Import. Однако звуковой файл не появится на шкале времени автоматически. 3. Чтобы прослушать звуковой файл и увидеть его диаграмму, щелкните по шкале времени правой кнопкой мыши, выберите пункт меню Sound (Звук), затем выделите импортированный файл (рис. 12.25). Теперь на шкале времени отобразится волновая диаграмма. 4. Нажмите на кнопку Play, чтобы прослушать звуковой файл. Если вы не слышите звук, измените настройки анимации. 5. Нажмите на кнопку Animation Preferences . 6. Убедитесь в том, что в поле Playback Speed установлено значение Real-time. Если задано другое значение, выберите в выпадающем списке пункт Realtime, затем нажмите на кнопку Save (см. рис. 12.26). Теперь воспроизведение звука должно выполняться корректно. По умолчанию Maya импортирует звуковой файл в кадр 0 на шкале времени. 7. Чтобы изменить начальную точку звучания файла, щелкните по шкале времени правой кнопкой мыши, выберите в меню пункт Sound (Звук), затем откройте окно настроек звукового файла.
Окно Graph Editor 327
326 Анимация 8. Чтобы переместить начальную точку звучания файла, измените соответствующим образом параметр Offset (Смещение).
Рис. 12.30. Слева направо изображены типы касательных: сплайн, линейная и плоская
Можно импортировать звуковой файл, перетащив его на шкалу времени с помощью мыши. При этом его диаграмма немедленно появится на шкале времени.
Увеличьте высоту шкалы времени, чтобы лучше видеть звуковую диаграмму.
Типы касательных
Изменение высоты шкалы времени 1. Нажмите на кнопку Animation Preferences . 2. В поле Height (Высота) выберите переключатель 2× или 4× (рис. 12.27). Шкала времени станет выше (рис. 12.28). 3. Чтобы вернуть стандартную высоту шкалы времени, выберите переключатель 1×. Сохраните установки, нажав на кнопку Save.
Окно Graph Editor Graph Editor (Редактор кривых анимации) работает с графическим представлением созданной анимации. Точки, отображаемые в этом окне, обозначают время и положение, в которых был задан ключевой кадр, а кривые между ключевыми кадрами демонстрируют ускорение (рис. 12.29). Например, чтобы изменить скорость объекта, необходимо сократить расстояние между ключевыми кадрами. Однако для переопределения ускорения объекта вам потребуется изменить кривую, которая отображает движение между ключевыми кадрами.
Для быстрого изменения кривых используются различные типы касательных в окне Graph Editor (рис. 12.30). По умолчанию все ключевые кадры являются касательными, относящимися к типу сплайн. Допускается вручную изменять форму касательных. Окно Graph Editor полезно для редактирования, копирования анимации и создания циклов анимации.
Рис. 12.27. В окне Animation Preferences можно изменить высоту шкалы времени
Рис. 12.28. Здесь показана шкала времени высотой 4×. Увеличивайте высоту шкалы только в том случае, если вам необходимо видеть звуковую диаграмму более четко, поскольку шкала занимает ценное пространство рабочей области
Рис. 12.31. Для данных ключевых кадров заданы сплайновые касательные. Значения для кадров 1 и 12 одинаковые, однако между ними проходит изгибающаяся кривая. Дело в том, что ключевые кадры не были заданы плоскими, а значит, обязательно возникнет небольшое смещение, которое не позволяет объекту оставаться неподвижным
Рис. 12.32. Для данных ключевых кадров используется линейная касательная Рис. 12.29. После приблизительной настройки временных интервалов отрегулируйте анимацию в окне Graph Editor
В Maya существует шесть типов касательных. Чтобы создать касательную любого типа, вы должны выделить ключевой кадр или анимационную кривую, а затем выбрать тип касательной в меню Tangent (Касательная) в окне Graph Editor. В разделе Keys (Ключи) окна Preferences вы также можете указать, какой тип касательной будет автоматически задаваться для ключевого кадра при его создании. Рассмотрим каждый тип более подробно: Spline (Сплайн). Этот тип касательной задается по умолчанию. Ключевые кадры с касательными данного типа соединены сглаженными кривыми (рис. 12.31). С их помощью имитируются перемещения, подобные движениям рыбы в воде; Linear (Линейная). При использовании данного типа касательной рисуется прямая линия от одного ключевого кадра к другому. При этом создается прямолинейное движение с резкими переменами направления, которое применяется при анимации механических объектов (рис. 12.32);
Окно Graph Editor 329
328 Анимация
Clamped (Сжатая). Данная касательная похожа на сплайновую с одним важным исключением: если два ключевых кадра заданы с одинаковыми значениями в разные моменты времени, эта касательная действует по принципу линейной касательной. Это позволяет избежать проблемы, возникающей при использовании сплайновой касательной, а именно небольшого смещения объекта, который должен оставаться неподвижным (рис. 12.33); Stepped (Пошаговая). При использовании данного типа касательной значение остается неизменным до тех пор, пока не совершается переход к следующему ключевому кадру с резким изменением значения. Кривая при этом напоминает движение по ступенькам, отсюда и ее название (рис. 12.34). Один из методов применения данной касательной – смена камеры в сцене. Если требуется, чтобы камера находилась в одном положении, а затем мгновенно переходила в другое, создавайте ключевые кадры с помощью пошаговой касательной; Flat (Плоская). Наклон данной касательной в точке ключевого кадра становится нулевым. Плоские касательные обычно создают эффект «медленного входа и медленного выхода» (slow-in slow-out): анимация постепенно ускоряется между ключевыми кадрами, быстро доходит до середины кривой, затем постепенно замедляется при продвижении к следующему ключевому кадру (рис. 12.35); Flat (Фиксированная). Фиксированная касательная не изменяется при редактировании ключевого кадра.
Чтобы освоить работу в окне Graph Editor, создадим анимацию, имитирующую прыгающий мяч.
Изменение типов касательных в окне Graph Editor
Рис. 12.33. Сжатая касательная похожа на сплайновую, за исключением того, что проблема смещения между кадрами 1 и 12 устранена
Рис. 12.34. Для данных ключевых кадров используется пошаговая касательная
Рис. 12.35. Так выглядит плоская касательная
Рис. 12.36. Выделены ключевые кадры в верхней части кривой. В указанных точках движения мяч как бы «зависает», а значит, его скорость должна уменьшаться перед достижением этих точек и после выхода из них. Эта задача идеально подходит для плоской касательной
1. Выберите в меню Create пункты NURBS Primitives Sphere. 2. Переместите сферу вверх на 10 пунктов по сетке, введя значение 10 в поле Translate Y (Переместить по оси Y) окна Channel Box. 3. Убедитесь в том, что работаете в кадре 1 на шкале времени и функция Auto Keyframe активирована. Кнопка с иображением ключа должна быть окрашена в красный цвет. 4. Нажмите клавиши Shift+w, чтобы задействовать в ключевом кадре только атрибуты перемещения. 5. Перейдите в кадр 15. Передвиньте сферу вниз на 1 деление по оси Y. При перемещении соответствующий атрибут мяча будет использован в ключевом кадре, поскольку активизирован режим Auto Keyframe. 6. Перейдите в кадр 30. Переведите сферу обратно на 10 пунктов по оси Y. Перемотайте анимацию и вновь просмотрите ее. Движение мяча выглядит не слишком естественно. Мяч должен с силой отталкиваться от земли и чуть приостанавливаться в верхних точках движения. 7. Выберите в меню Window пункты Animation Editors Graph Editor (Редакторы анимации Редактор кривых анимации). Откроется окно Graph Editor. При выборе сферы в нем должна отображаться анимационная кривая. 8. Выделите и пометьте два ключевых кадра в верхней части графика (рис. 12.36).
Окно Graph Editor 331
330 Анимация 9. Нажмите на кнопку Flat Tangents (Плоские касательные) в окне Graph Editor. 10. Выделите ключевой кадр в нижней части кривой (рис. 12.37). Воспользуйтесь ограничивающей рамкой, даже если вы выбираете только один ключевой кадр. 11. Нажмите на кнопку Break Tangents (Разбить касательные) . Эта кнопка позволяет отдельно перемещать касательные по разные стороны ключевого кадра. 12. Выберите касательную в левой части ключевого кадра, и, удерживая нажатой клавишу Shift, выделите касательную справа. 13. Нажмите на кнопку Move Nearest Picked Key Tool (Перемещение ближайшего выбранного ключевого кадра) , которая находится в верхнем левом углу окна Graph Editor. 14. Удерживая нажатой среднюю кнопку мыши, по очереди переместите касательные вверх, чтобы сформировать букву V (рис. 12.38). Просмотрите анимацию. Теперь модель в точности копирует настоящий прыгающий мяч.
Рис. 12.40. Скопируйте ключевые кадры, выбрав команду Copy из контекстного меню
Рис. 12.37. Этот ключевой кадр находится в точке, где мяч ударяется о землю. Сейчас мяч не отскакивает, а просто касается земли
Рис. 12.41. В диалоговом окне Paste Keys Options выберите пункт Merge для вставки ключевого кадра на место текущего кадра, не затрагивая прилегающие ключевые кадры
Рис. 12.38. После изменения касательных достигается эффект прыгающего мяча
Если требуется, чтобы мяч подпрыгнул еще раз, скопируйте и вставьте ключевые кадры на шкалу времени.
Копирование и вставка ключевых кадров на шкалу времени 1. Создайте анимацию прыгающего мяча, как было описано в предыдущем разделе. 2. Введите в поле Playback End Time (Конечное время просмотра) значение 60. 3. Удерживая нажатой клавишу Shift, переместите курсор по шкале времени от 1 до 31 (рис. 12.39).
Рис. 12.39. Чтобы скопировать ключевые кадры, переместите их, удерживая нажатой клавишу Shift. Если вы остановите выбор в кадре 30, то в выделенную область этот кадр не попадет, поэтому следует перейти на один кадр вперед
4. Щелкните по шкале времени правой кнопкой мыши, выберите в меню пункт Copy (Копировать) – рис. 12.40. 5. Щелкните по кадру 30. Кадр, который вы используете для вставки, будет начальным для всего диапазона помещаемых кадров. 6. В меню Edit выберите пункт Keys, а затем щелкните по значку рядом с пунктом Paste. Появится диалоговое окно Paste Keys Options (Опции вставки ключевых кадров). 7. В меню Paste Method (Метод вставки) выберите пункт Merge (Слияние) для вставки ключевого кадра в текущий кадр, не затрагивая прилегающие ключевые кадры (рис. 12.41). 8. Нажмите кнопку Apply. Новая метка ключевого кадра появится на шкале времени. 9. Перемотайте анимацию и воспроизведите ее. Мяч подпрыгивает два раза.
Окно Graph Editor 333
332 Анимация Если необходимо повторить анимацию несколько раз, воспользуйтесь окном Graph Editor: в нем вы можете одновременно выполнить несколько операций копирования и вставки.
Копирование и вставка с помощью окна Graph Editor 1. Создайте анимацию прыгающего мяча. 2. Введите в поле Playback End Time значение 120. 3. Выберите в меню Window пункты Animation Editors Graph Editor. На экране появится кривая анимации сферы. Если кривая не отображается, необходимо выделить сферу. 4. Выберите в меню Edit в окне Graph Editor пункт Copy. 5. Удерживая нажатой клавишу k, перетаскивайте курсор мыши в окне Graph Editor до тех пор, пока черная линия (индикатор времени) не окажется в конце кривой (рис. 12.42). 6. Выберите в меню Edit в окне Graph Editor значок рядом с пунктом Paste. Откроется окно Paste Keys Options (Опции добавления ключевых кадров). 7. Введите в поле Copies (Копии) число 3 (рис. 12.43). 8. Нажмите клавишу f, установив курсор мыши в окне Graph Editor. Теперь в окне будет помещаться вся анимационная кривая. К движениям мяча добавилось еще три прыжка (рис. 12.44). 9. Перемотайте и просмотрите анимацию. Мяч прыгает четыре раза.
Рис. 12.42. Убедитесь в том, что текущее время установлено в точке, где вы планируете вставить первый кадр. В противном случае при добавлении кадра ключевые кадры закончатся там, где расположен индикатор текущего времени, и будут удалены
Рис. 12.43. Установите в окне Paste Keys Options количество требуемых копий
Рис. 12.44. После вставки ключевых кадров мяч прыгает четыре раза вместо одного
Рис. 12.45. Важно установить указатель в правильную позицию, поскольку эта точка станет центром трансформаций при масштабировании ключевых кадров в окне Graph Editor
Рис. 12.46. Время анимации уменьшено, поэтому мяч прыгает быстрее. Указатель установлен в нижней точке движения, и эта точка стала центральной при масштабировании
Чтобы ускорить или замедлить анимацию, можно масштабировать время в окне Graph Editor. Более продолжительное время для того же расстояния обозначает более медленное движение, и наоборот. Масштабировать допускается также значения атрибутов в ключевых кадрах. Предположим, что прыжки мяча слишком высоки или персонаж недостаточно широко взмахивает рукой. Масштабировать значения атрибутов так же просто, как и размер объекта.
Масштабирование в окне Graph Editor 1. Создайте анимацию мяча, прыгающего четыре раза, как было описано в предыдущем разделе. 2. Выполните команды меню Window Animation Editors Graph Editor. 3. Выберите в столбце слева пункт Translate Y. При этом кривая перемещения Y будет изолирована. 4. Выделите с помощью рамки всю кривую. 5. Нажмите клавишу r, чтобы перейти в режим масштабирования. 6. Переместите указатель на первый ключевой кадр в левой части кривой (рис. 12.45). Позиция указателя станет центральной точкой масштабирования. 7. Удерживая нажатой среднюю кнопку мыши, перетащите указатель влево. 8. Переместите указатель на одну из нижних точек кривой движения мяча (см. рис. 12.46).
Окно Dope Sheet 335
334 Анимация 9. Удерживая нажатой среднюю кнопку мыши, перетащите указатель вниз. Прыжки станут короче (рис. 12.47).
Создание циклической анимации в окне Dope Sheet
Чтобы масштабировать часть кривой, выделите только те ключевые кадры, которые требуется изменить. Аналогичным способом можно одновременно масштабировать различные анимированные объекты. Часто это необходимо для синхронизации перемещения объектов.
Окно Dope Sheet Окно Dope Sheet (Монтажный стол) используется для редактирования ключевых кадров. Так же, как шкала времени и окно Graph Editor, оно позволяет перемещать, масштабировать, вырезать, копировать, вставлять и удалять кадры. Его преимуществом является возможность легко перемещать ключевые кадры нескольких объектов во времени. Поэтому окно Dope Sheet применяется для регулировки временных установок сразу нескольких объектов (рис. 12.48). Кроме того, окно Dope Sheet можно использовать при создании смещений анимации. Если ключевые кадры для нескольких объектов располагаются в одном кадре, это окно позволяет выбрать ключевые кадры для каждого объекта и одновременно переместить их. В следующем примере вы создадите модель, имитирующую движения махающего хвоста, сместите ключевые кадры и сделаете анимацию циклической.
Рис. 12.47. Значение атрибута уменьшено, в результате прыжки стали менее высокими. Поскольку центр трансформации располагается в нижней части кривой, начальная точка движения не изменилась, а это значит, что мяч будет попрежнему прыгать по земле, а не ниже или выше
Рис. 12.48. Окно Dope Sheet позволяет регулировать временные установки многих объектов
Рис. 12.49. Для создания модели хвоста используются четыре сустава
Рис. 12.50. Первые три сустава были повернуты на –40° по оси Z
1. Создайте на виде спереди четыре сустава. Начните от центра сетки и размещайте суставы через один пункт в положительном направлении по оси Y (рис. 12.49). 2. Выберите три первых сустава в кадре 0 и создайте ключевой кадр с помощью клавиши s. 3. Перейдите в кадр 10 и поверните три сустава на –40° по оси Z (рис. 12.50). Нажмите клавишу s. 4. Переместитесь в кадр 20 и поверните три сустава обратно в начальное положение по оси Z. Нажмите клавишу s. 5. Перейдите в кадр 30 и поверните три сустава на 40° по оси Z. Нажмите клавишу s. 6. Переместитесь в кадр 40 и верните три сустава обратно в начальное положение по оси Z. Нажмите клавишу s. Теперь надо сместить ключевые кадры для каждого сустава таким образом, чтобы второй и третий суставы начинали вращение немного позже, чем первый.
Ограничения 337
336 Анимация 7. Выберите пункты меню Window Animation Editors Dope Sheet (Окно Редакторы анимации Монтажный стол) – рис. 12.51. Вы увидите три сустава и отображение ключевых кадров. 8. Щелкните по пункту joint2 (Сустав2) в левой части окна Dope Sheet. На правой панели окна Dope Sheet будут выделены ключевые кадры для второго сустава. 9. Удерживая нажатой среднюю кнопку мыши, перетащите ключевые кадры на три кадра вправо (рис. 12.52). 10. Щелкните по пункту joint3 в левой части окна Dope Sheet. 11. Удерживая нажатой среднюю кнопку мыши, перетащите ключевые кадры на шесть кадров вправо. 12. Выберите все три сустава в левой части окна Dope Sheet. 13. Выполните команды меню Curves Pre Infinity Cycle (Кривые До основного фрагмента Цикл) – см. рис. 12.53. 14. Выберите пункты меню Curves Post Infinity Cycle (Кривые После основного фрагмента Цикл). Теперь созданная вами модель имитирует движения махающего хвоста с цикличностью и смещениями. 15. Нажмите на кнопку Play (Просмотр), чтобы воспроизвести анимацию.
Ограничения
Рис. 12.53. Выберите пункт меню Pre Infinity или Post Infinity, затем щелкните по пункту меню Cycle, чтобы создать циклическую анимацию, которая будет повторять анимацию, заданную ключевыми кадрами
Рис. 12.51. Выберите пункт меню Dope Sheet Editor
В реальной жизни движение объектов ограничено тем или иным способом. Рассмотрим такой пример: глаза теннисиста постоянно следят за движением мяча. Если бы потребовалось воспроизвести движения мяча и глаз, создав для них ключевые кадры, мы потратили бы много времени и сил. Для решения подобной анимационной задачи следует воспользоваться функциями ограничения. Ограничения (constraint) связывают определенные атрибуты объектов. Например, требуется, чтобы один объект повторял все повороты (rotate) другого, но при этом они перемещались (translate) различным образом. Функции ограничения позволяют связать значения вращения двух объектов, а все остальные атрибуты оставить неизменными (то есть ограничить связь объектов вращением). Все ограничения работают одинаково: вы выделяете два объекта или более, затем выбираете тип накладываемого ограничения. Объект-мишень, выделенный первым, становится ограничителем, а второй – ограничиваемым. Ограничения также могут быть анимированы и включены/ отключены, что позволяет связывать атрибуты временно.
Типы ограничений Рис. 12.52. С помощью средней кнопки мыши перетащите ключевые кадры для второго сустава
Maya предлагает следующие типы ограничений:
Point (Точечное) соединяет центр ограничиваемого объекта с центром объекта-мишени; Orient (Ориентация) связывает вращение одного объекта с вращением другого, при этом параметры поворота ограничиваемого объекта точно соответствуют повороту мишени;
Ограничения 339
338 Анимация
Scale (Масштабирование) присваивает ограничиваемому объекту те же параметры масштабирования, что и мишени, или их среднее значение, если объектов-мишеней несколько; Aim (Цель) нацеливает один объект на другой. В результате применения данной функции создается вектор цели (по умолчанию его положение совпадает с осью X объекта), задающий для ограничиваемого объекта положение мишени. Это ограничение может использоваться, например, для того, чтобы указать направление взгляда персонажа; Parent (Наследуемое) является новшеством пятой версии Maya. Оно действует аналогично функции наследования, но позволяет при этом сместить зависимый объект относительно главного. Допускается активировать/отключать данное ограничение, а также выбирать, какие атрибуты будут задействованы, что невозможно при использовании команды наследования; Geometry (Геометрическое) ограничивает положение одного объекта поверхностью другого объекта. Центр трансформаций ограничиваемого объекта остается на поверхности мишени. При этом его атрибуты не блокируются, что позволяет ему скользить вдоль поверхности мишени; Normal (По нормали) по принципу действия сходно с ограничением Aim. Разница лишь в том, что вектор цели ограничиваемого объекта направлен вдоль нормали к поверхности, проходящей через центр ограничиваемого объекта; Tangent (По касательной) ограничивает ориентацию объекта согласно направлению кривой. Если ограничиваемый объект присоединен к пути, при касательном ограничении объект будет направляться вдоль кривой пути;
Pole Vector (Полярный вектор) позволяет задать объект, который будет контролировать значение вектора полюса для манипулятора IK Rotate Plane (IKвращение плоскости). Это частный случай ограничения Point.
Создание точечного ограничения
Рис. 12.54. Щелкните в меню Constrain по значку рядом с пунктом Point
Рис. 12.55. Чтобы сохранить объект в начальном положении, щелкните по флажку Maintain Offset
1. Создайте сферу NURBS и полигональный куб. 2. Переместите куб на несколько делений сетки от сферы. 3. Выделите сферу. Удерживая нажатой клавишу Shift, выберите куб. 4. Щелкните в меню Constrain (Ограничение) по значку рядом с пунктом Point (Точечное) – рис. 12.54. 5. Отметьте флажок Maintain Offset (Поддерживать смещение) – рис. 12.55. При этом начальное положение куба будет сохранено. 6. Нажмите на кнопку Apply (Применить). При выборе сферы каркас куба окрасится в розовый цвет. Это значит, что сфера влияет на куб. 7. Выберите сферу и переместите ее в любом направлении с помощью инструмента Move (Переместить). Куб автоматически переместится абсолютно таким же образом. Попробуйте добавить ориентированное ограничение таким же способом, как в предыдущем разделе. В результате при вращении сферы будет вращаться куб. Направление зависимости определяется тем, какой объект был выделен первым. Если требуется, чтобы куб контролировал сферу, сначала выделите куб, а затем сферу, удерживая нажатой клавишу Shift.
Создание снимков 341
340 Анимация
Отключение анимационных каналов С помощью функции Mute Animation Channel (Отключение анимационных каналов) вы можете временно отключать отдельные анимационные кривые, чтобы сконцентрироваться на определенных аспектах анимации. Например, при анимации мяча, который прыгает от левой стороны экрана к правой, трудно зафиксировать внимание на незначительном движении мяча вверх-вниз, поскольку он одновременно перемещается слева направо с гораздо большим размахом. Отключив это движение, вы увидите перемещение вверх-вниз более четко, что позволяет отредактировать его нужным образом. А затем вы сможете опять включить движение слева направо.
Применение функции Mute Animation Channel 1. Создайте сферу NURBS. 2. Задайте начальную точку просмотра равной 1, а конечную – 50. 3. Выберите сферу в кадре 1 и создайте ключевой кадр. 4. Перейдите в кадр 40 и переместите сферу на виде спереди на 20 делений вправо. Создайте еще один ключевой кадр. 5. Переместитесь в кадр 20 и создайте другой ключевой кадр. 6. Перейдите в кадр 10 и переместите сферу на 10 делений вверх. Создайте еще один ключевой кадр.
Рис. 12.56. Выделите канал, щелкните по нему правой кнопкой мыши и выберите в контекстном меню пункт Mute Selected. Анимация данного канала будет временно отключена
7. Переместитесь в кадр 30 и передвиньте сферу на 10 делений вверх. Создайте еще один ключевой кадр. Сфера будет имитировать движения мяча, который перемещается по экрану и прыгает вверх-вниз. Чтобы отображалось только движение вверх-вниз, вам нужно отключить канал Translate X (Переместить по оси X) в поле Channel Box. 8. Выделив сферу, выберите строку Translate X в окне Channel Box и щелкните по ней правой кнопкой мыши. Из контекстного меню выберите пункт меню Mute Selected (Отключить выделенный канал) – рис. 12.56. Канал окрасится в коричневый цвет, и при перемещении указателя вдоль шкалы времени мяч будет двигаться только вверх и вниз. 9. Чтобы включить канал, снова выделите в окне Channel Box строку Translate X, щелкните по ней правой кнопкой мыши и в контекстном меню выберите пункт Unmute Selected (Отменить выключение выбранного канала).
Создание снимков Существует еще один способ увидеть проблемные места анимации, – создать снимки (ghosting). Снимки позволяют проследить все этапы движения объекта, как до, так и после позиции, занимаемой им в текущем кадре. Многие аниматоры считают, что создание снимков позволяет получить мгновенное отображение всей анимации.
Создание снимков для объекта 1. Создайте сферу. 2. Перейдите в кадр 0 на шкале времени и создайте ключевой кадр для сферы, нажав клавишу s.
Создание снимков 343
342 Анимация 3. Перейдите в кадр 40, переместите сферу на 40 делений по оси X и создайте еще один ключевой кадр. 4. Выберите в меню Animate (Анимировать) пункт Ghost Selected (Создать снимки для выделенного объекта) – рис. 12.57. Теперь на экране отображается несколько сфер. Синими сферами фиксируются прежние позиции объекта, а оранжевыми – позиции, которые объект займет после текущего положения (рис. 12.58). 5. Чтобы изменить параметры снимков, вернитесь в меню Animate и щелкните по значку рядом с пунктом Ghost Selected (рис. 12.59). 6. Установите в поле Type of Ghosting (Тип создания снимков) значение Custom Frame Steps (Произвольная установка шагов кадров) – рис. 12.60. 7. Введите в поле Steps before Current Frame (Шаги до текущего кадра) значение 4. 8. Установите в поле Steps after Current Frame (Шаги после текущего кадра) значение 4. 9. Присвойте параметру Step Size (Размер шага) значение 4. Размер шага – это количество кадров, которые пропускаются между созданием соседних снимков. Если размер шага задан равным 1, снимки объекта будут показываться в каждом кадре. 10. Нажмите на кнопку Ghost (Создать снимки).
Motion Trail (След перемещений) – еще одна функция предварительного просмотра, напоминающая снимки. При применении следа перемещений к анимированному объекту по ходу его движения остается линия, следующая за объектом. Рис. 12.57. Чтобы увидеть положение объекта до и после текущего кадра, выберите пункт меню Ghost Selected
Создание следа перемещений
Рис. 12.60. Установите в поле Type of Ghosting значение Custom Frame Steps
Рис. 12.58. При создании снимков отобразилось положение сферы до и после текущего кадра
Рис. 12.59 Чтобы изменить отображение снимков, щелкните по значку рядом с пунктом Ghost Selected
Рис. 12.61. Присвойте параметру Increment значение 5, а в разделе Draw Style отметьте опцию Line
Рис. 12.62. Линия показывает путь передвижения объекта и ключевые кадры на пути его следования
1. Создайте сферу. 2. Перейдите на кадр 0 на шкале времени и нажмите s, чтобы создать ключевой кадр. 3. Перейдите к кадру 40, переместите сферу на 10 делений по оси X и создайте другой ключевой кадр. 4. Перейдите к кадру 20, переместите сферу на 5 делений по оси Y и создайте другой ключевой кадр. 5. В меню Animate выберите значок рядом с пунктом Motion Trail. Появится диалоговое окно Motion Trail Options (Опции создания следа перемещений). 6. Присвойте параметру Increment значение 5, а в разделе Draw Style отметьте опцию Line (рис. 12.61). 7. Нажмите кнопку Apply. Теперь вы должны наблюдать линию, следующую по пути движения сферы (рис. 12.62).
Редактор Trax Editor 345
344 Анимация Рис. 12.64. Для ориентации конуса требуются различные значения параметра скрутки. Вы не можете просто вращать конус, так как атрибуты его вращения контролируются анимацией вдоль пути
Анимация вдоль пути Данный тип анимации предусматривает движение объектов по заданному пути, например вдоль кривой. Он идеально подходит для имитации аттракциона «американские горки», движения кораблей и камер. Так, анимация полета самолета с помощью ключевых кадров может оказаться очень сложной, поскольку для точного симулирования вращения и направления движения самолета требуется очень большое количество ключевых кадров. В этом случае будет удобнее сначала создать путь, а затем просто отправить по нему объект. Движение станет настолько реалистичным, что объект будет автоматически крениться на поворотах, сохраняя при этом ориентацию вдоль пути.
Рис. 12.63. Эта кривая нарисована в окне вида сверху
Создание анимации вдоль пути 1. Создайте кривую в окне вида сверху (рис. 12.63), как это описывалось в главе 7. 2. Выберите в меню Create пункты NURBS Primitives Cone (Примитивы NURBS Конус). 3. Выделите конус, а затем кривую, удерживая нажатой клавишу Shift. 4. Выберите в меню Animate пункты Motion Paths Attach to Motion Path (Пути движения Присоединить к пути движения) при работе в Windows или пункты Paths Attach to Paths (Пути Присоединить к пути) при работе в Macintosh. Конус переместится к началу кривой. При воспроизведении анимации конус будет двигаться по кривой. 5. Выделите конус и щелкните по пункту motionPath1 (Путь движения 1) в окне Channel Box.
Рис. 12.65. Так выглядит анимация вдоль пути
6. Введите в поле Side Twist (Боковая скрутка) значение –90, чтобы вершина конуса была направлена вдоль пути (рис. 12.64). Теперь при воспроизведении анимации вы увидите, что вращение конуса продолжается вдоль всего пути (рис. 12.65).
Редактор Trax Editor Редактор Trax Editor (Редактор треков) является еще одним редактором Maya, использующим нелинейный подход к анимации. Нелинейная анимация позволяет создавать отрезки анимации, которые можно располагать в любом порядке. Например, если в качестве главного «героя» сцены выступает мяч, создайте несколько отрезков анимации – отскок мяча, катание или сдувание мяча. Затем вы можете смешивать, переставлять, добавлять, копировать или удалять эти клипы, создавая при этом новую анимацию без использования ключевых кадров. Работа редактора Trax Editor строится на использовании персонажных наборов (character set). Под этим термином подразумевается набор атрибутов, задаваемых пользователем, которые могут входить в ключевые кадры. Персонажный набор (в дальнейшем просто персонаж) необязательно должен быть сложным объектом, это может быть обычная сфера. Персонаж может содержать все ключевые атрибуты для целой группы объектов. Если для любого из данных объектов создать ключевой кадр, в него будут помещены все атрибуты набора.
Редактор Trax Editor 347
346 Анимация Создание персонажа
Создание отрезка
1. Создайте сферу NURBS и полигональный куб. 2. Поместите куб на 1,5 деления над сферой. 3. Чтобы создать персонаж, выделите сферу и куб. 4. В меню Character (Персонаж) щелкните по значку рядом с пунктом Create Character Set (Создать персонаж) – рис. 12.66. 5. В поле Name введите имя персонажа All (Все) – рис. 12.67. 6. Щелкните по кнопке Create Character Set. Созданный персонаж объединяет оба объекта сцены, сферу и куб. Затем вы самостоятельно сформируете подперсонажи отдельно для сферы и куба. 7. Выделите сферу. 8. В меню Character щелкните по значку рядом с пунктом меню Create Subcha racter (Создать подперсонаж) – рис. 12.68. 9. Измените название на Ball (Мяч), затем щелкните по кнопке Create Subcharacter (рис. 12.69). 10. Выделите куб. 11. В меню Character щелкните по значку рядом с пунктом Create Subcharacter. 12. Измените название на Box (Коробка), затем щелкните по кнопке Create Subcharacter. 13. Откройте меню установок текущего персонажа, щелкнув по стрелке под панелью воспроизведения. 14. Выберите пункт All (рис. 12.70), а затем определите персонажи или подперсонажи, с которыми будете работать.
1. Выбрав в меню установок текущего персонажа пункт All, перейдите в кадр 0 на шкале времени. 2. Выделите сферу и куб, затем нажмите клавишу s. 3. Перейдите в кадр 10 на шкале времени. 4. Переместите сферу на 1 деление вверх по оси Y. 5. Переместите куб на 0,5 деления вверх по оси Y и нажмите клавишу s. При этом сфера и куб будут задействованы в ключевом кадре, так как они входят в выбранный персонаж. Когда вы включаете любой из объектов, принадлежащих персонажу, в ключевой кадр, все остальные объекты этого персонажа помещаются в ключевой кадр автоматически. 6. Перейдите в кадр 20 на шкале времени. 7. Переместите сферу на 1 деление вниз (в начальное положение). 8. Верните куб в исходное положение и нажмите клавишу s. При перетаскивании указателя по шкале времени сфера и куб должны двигаться сначала вверх, а потом вниз. 9. Выберите в меню Window пункты Animation Editors Trax Editor. Откроется новое окно, которое содержит персонажи и шкалу времени. 10. Щелкните по значку Load selected Characters (Загрузить выбранные персонажи) . Появится два трека, где представлены ваши персонажи. 11. Щелкните по значку рядом с пунктом Clip (Отрезок) в меню Create редактора Trax Editor (рис. 12.71).
Рис. 12.66. Откройте окно опций команды Create Character Set
Рис. 12.69. Определите настройки подперсонажа
Рис. 12.70. Выберите персонаж, с которым будете работать, при помощи меню в нижнем правом углу окна Рис. 12.67. Установите необходимые настройки персонажа, включая опции создания ключевого кадра
Рис. 12.68 Отобразить список опций для создания подперсонажа
Рис. 12.71. Отрезки содержат все ключевые кадры для всех объектов, которые входят в анимацию персонажа. Вы можете управлять отрезками с помощью редактора Trax Editor
Редактор Trax Editor 349
348 Анимация 12.Измените название отрезка на Bounce (Скачок) и щелкните по кнопке Create Clip (Создать отрезок) – рис. 12.72. Теперь на шкале времени в редакторе Trax Editor появятся два отрезка: Bounce и Bounce1. Один отрезок связан с коробкой, а другой – с мячом.
Манипулирование отрезком 1. Удерживая клавишу Shift, выделите оба отрезка (рис. 12.73). На обеих сторонах выделенных отрезков появятся стрелки, показывая, что их можно передвигать совместно. 2. Теперь нужно масштабировать отрезок. Поместите указатель рядом с правой границей отрезка. Когда появится стрелка с прямой линией, перетащите указатель мыши (рис. 12.74).
Рис. 12.73. Сверните персонаж All, щелкнув по стрелке рядом с его названием. Теперь вы сможете работать с отрезком, соответствующим целому персонажу
Рис. 12.76. При отсечении отрезка в заданной точке анимация не будет удалена. В любой момент вы сможете изменить ее с помощью редактора Trax Editor
Рис. 12.74. Масштабирование отрезка
Рис. 12.77. Все анимационные отрезки хранятся в библиотеке, что обеспечивает легкий доступ к ним и последующий импорт
Рис. 12.72. В диалоговом окне Create Clip Options вы можете присвоить отрезку уникальное имя и задать установки длины и содержания отрезка
Рис. 12.75. Щелкните по стрелке рядом с названием основного персонажа, чтобы отобразить отрезки для подперсонажей
Рис. 12.78. Перетащите отрезок Bounce2 влево, поместив поверх отрезка Bounce. Редактор Trax Editor создаст новый трек для отрезка Bounce 2
3. Щелкните по середине отрезка и перетащите указатель по шкале времени, перемещая отрезок. 4. Щелкните по стрелке рядом с названием персонажа All, чтобы отменить выделение двух отрезков (рис. 12.75). 5. Установите указатель у правой границы отрезка Balls Bounce. Курсор примет форму закругляющейся стрелки с линией в центре (рис. 12.76). Перемещайте отрезок влево, пока он не уменьшится. При этом анимация в данном отрезке и в этой точке будет отсечена или расположите индикатор Current Time в точке отрезка, до которой вы хотите его обрезать, и щелкните по пиктограмме Trim clip after current time (Укоротить отрезок после текущего времени) . 6. Правой кнопкой мыши выделите отрезок Bounce и выберите пункт Duplicate (Размножить) – рис. 12.77. Тот же отрезок будет помещен на шкалу времени в позиции указателя. 7. Перетащите отрезок Bounce2 влево, поместив поверх отрезка Bounce. Редактор Trax Editor создаст новый трек для отрезка Bounce 2 (рис. 12.78).
Редактор Trax Editor 351
350 Анимация 8. Выделите отрезки Bounce 2 и Bounce и щелкните по пиктограмме Blend (Переход) . При этом между двумя отрезками будет создан плавный переход (рис. 12.79). 9. Выделите отрезок Bounce 2 и перетащите его вправо, чтобы между ним и отрезком Bounce не было наложения (рис. 12.80). Два отрезка более не пересекаются, хотя был использован переход, поскольку Bounce 2 теперь установлен в позицию Relative Offset (Относительное смещение). 10.Выделите отрезок Bounce 2 в Channel Box (Редактор каналов) и щелкните по полю рядом с пунктом Offset (Смещение), выбрав для него значение Absolute (Абсолютное). Теперь получается переход между последним и следующим за ним отрезком. 11.Правой кнопкой мыши щелкните по отрезку Bounce 1 в треке Box и выберите пункт Duplicate. 12. Выделите новый трек, расположите индикатор Current Time в середине отрезка и щелкните по пиктограмме Trim clip (рис. 12.81). after current time Отрезок будет укорочен таким образом, что коробка поднимется вверх, но уже не опустится.
Рис. 12.81. Редактор Trax Editor позволяет создавать несколько треков для каждого персонажа или подперсонажа. Таким образом можно для одного персонажа одновременно отображать несколько отрезков Рис. 12.79. Функция перехода создает сплайновую кривую между последним кадром одного клипа и первым кадром другого
13. Правой кнопкой мыши щелкните по новому отрезку и выберите Duplicate. Повторите эту операцию несколько раз, чтобы на треке получилось несколько укороченных отрезков (рис. 12.82). Теперь у вас есть несколько отрезков одинаковой анимации, расположенных друг за другом, для подперсонажа Box. Отрезок Bounce 2 суммирует эффект, поскольку каждый отрезок имеет относительное смещение, и мяч будет подпрыгивать выше и выше. Редактор Trax Editor является мощным инструментом с большим количеством функций и элементов управления, среди которых особенно часто используются следующие:
Рис. 12.82. Один и тот же отрезок может быть импортирован и перемещен на новый трек. Допускается его размещение поверх оригинального отрезка; при этом эффект движения будет суммироваться
Рис. 12.80. Перетащите отрезок Bounce 2 вправо, чтобы между ним и Bounce не было наложения. Два отрезка более не пересекаются, поскольку Bounce 2 установлен в позицию Relative Offset
Cut (Вырезать), Copy (Копировать), Paste (Вставить). Выделите редактируемый отрезок и выберите в меню Edit пункт Cut, Copy или Paste; Attribute Editor (Редактор атрибутов). Этот редактор помимо прочего позволяет изменять масштаб отрезка, перемещать его начало и создавать цикличность. Чтобы отобразить редактор атрибутов, выделите отрезок; затем выберите в меню Modify пункт Attribute Editor; Animation Curves (Анимационные кривые). Чтобы отобразить и изменить исходные анимационные кривые в графическом редакторе, выделите отрезок и выберите в меню View (Просмотр) пункт Graph Animation Curves (Отобразить кривые анимации).
Деформатор Blend Shape 353
352 Анимация
Деформатор Blend Shape Blend Shape относится к числу деформаторов. Он позволяет создать плавный переход от одного объекта к другому (подобный переход часто называют морфингом). Эта функция особенно полезна при анимации лица и мускулов, а также при исправлении неверно сформированной геометрии. Например, чтобы создать анимацию улыбки персонажа, нужно скопировать лицо, изменить форму рта, а затем задать улыбающееся лицо в качестве формы перехода. Деформатор Blend Shape работает идеально, когда целевой и базовый объекты имеют одинаковую топологию, то есть одно и то же количество управляющих вершин, порядок расположения которых совпадает.
Рис. 12.83. Сфера NURBS стала похожей на голову с открытым ртом
Рис. 12.86 Выберите в меню Deform пункт Create Blend Shape
Применение деформатора Blend Shape 1. Создайте сферу NURBS. Для получения большего количества деталей добавьте к ней дополнительные сегменты. В результате должен получиться объект, имеющий 14 секций и 14 сегментов. 2. Измените форму сферы, переместив контрольные точки таким образом, чтобы создать некое подобие рта (см. рис. 12.83). 3. Скопируйте сферу и поместите ее рядом с оригиналом. 4. Измените форму сферы, переместив контрольные точки таким образом, чтобы получилась улыбка (рис. 12.84). 5. Еще раз скопируйте исходную сферу и измените ее форму так, чтобы она напоминала хмурое лицо (рис. 12.85).
6. Удерживая нажатой клавишу Shift, выделите объекты в следующем порядке: улыбающееся лицо, хмурое лицо и сферу-оригинал. 7. Выберите в меню Deform (Деформировать) пункт Create Blend Shape (Создать форму перехода) – рис. 12.86. При этом две новые сферы будут применены к оригинальной сфере как конечные формы перехода. 8. Выберите в меню Window пункты Ani mation Editors Blend Shape (рис. 12.87). 9. Переместите два ползунка в окне Blend Shape. Отслеживайте на сфере результаты изменений. 10.Щелкните по кнопке Key All в кадре 1 (рис. 12.88).
Рис. 12.84. Сфера оживает – она улыбается
Рис. 12.88. Ползунки используются для регулировки деформации оригинальной формы
Рис. 12.85. Оттяните уголки рта вниз
Рис. 12.87. С помощью подменю Animation Editors откройте настройки управления Blend Shape
Предварительный просмотр анимации 355
354 Анимация 11. Перейдите в кадр 10 и переместите первый ползунок вверх на максимальное значение (рис. 12.89). 12. Щелкните по кнопке Key All. 13. Перейдите в кадр 20 и переместите первый ползунок вниз, а второй вверх. 14. Еще раз щелкните по кнопке Key All. Теперь при воспроизведении анимации выражение лица персонажа будет изменяться, переходя с нейтрального на улыбающееся, а затем становясь хмурым. На шкале времени для форм перехода ключевые метки не отображаются. Чтобы просмотреть ключевые метки, щелкните по кнопке Select (Выбрать) в редакторе Blend Shape.
Предварительный просмотр анимации Просмотреть созданную анимацию можно с помощью шкалы времени и панели воспроизведения. Однако указанные средства зачастую не позволяют просматривать сложную сцену в реальном масштабе времени, поскольку сцены Maya содержат большое количество элементов. Кроме того, вы не сможете воспроизвести анимацию на другом устройстве. Но в Maya предусмотрено средство для решения этой задачи. Вы можете просмотреть сцены в формате видеоролика или последовательности сменяющих друг друга изображений. Функция Playblast (Быстрый просмотр) создает снимки окон видов для просмотра анимации, а также позволяет преобразовать ее в файл формата AVI или группу пронумерованных изображений.
Создание предварительного просмотра Playblast
Рис. 12.89. Формы перехода в ключевых кадрах создают анимацию лица
Рис. 12.90. Если после воспроизведения анимации вы закроете окно просмотра, не активировав при этом опцию Save to File, то для повторного просмотра вам придется повторить процедуру Playblast
1. Создайте анимацию. 2. В меню Windows щелкните по значку рядом с пунктом Playblast. Откроется окно Playblast Options (Опции предварительного просмотра) – рис. 12.90. 3. Выберите временной диапазон, который будет входить в файл просмотра. Ползунок времени используется для определения текущих значений начала и завершения просмотра. В полях Start Time и End Time введите необходимые значения. 4. Определите размеры активного окна, в котором воспроизводится анимация. Вместо использования значения From Window (В зависимости от окна) параметру Display Size (Размер изображения) можно присвоить значение Custom (Задается пользователем) и ввести любые нужные вам размеры. 5. Если вы хотите, чтобы команда Playblast автоматически сохраняла группы пронумерованных кадров после их создания, отметьте флажок Save to File. Станет доступной кнопка Browse (Найти), которая позволяет указать директорию, где будет храниться файл предварительного просмотра. При работе в Windows вместо группы пронумерованных кадров вы можете создать файл для просмотра в стандартном проигрывателе Movie Player. 6. Щелкните по кнопке Playblast. Анимация будет воспроизводиться по одному кадру. Затем откроется окно Fcheck, в котором вы сможете просматривать анимацию.
Нелинейные деформаторы 357
Нелинейные деформаторы
Деформаторы С помощью инструментов деформации Maya вы можете создавать морщины, волны, складки и множество других модификаций поверхности. Деформаторы позволяют управлять поверхностями с очень высокой точностью, а также упростить выделение и преобразование сложных поверхностей. Вы можете выполнять любую работу – создавать изогнутые буквы логотипа или рисовать каплю воды в стакане, – всегда найдется деформатор, который максимально упростит вашу задачу. Предположим, вам требуется нарисовать портрет старика. Инструмент Wire (Каркас) поможет создать складки и морщины на лице, а инструмент Sculpt (Создание рельефа) – сформировать области лица, которые должны выглядеть более округлыми, например щеки и лоб. Деформаторы позволяют увеличить скорость моделирования, создавая упрощенную сетку (или решетку) вокруг сложной поверхности. С ее помощью вы можете выделять поверхность и манипулировать ею, используя всего несколько точек. При этом нет необходимости выделять все тонкие детали на сложной по форме поверхности. Решетка поможет создать выступ на локте или придать эмоциональность глазам мультипликационного персонажа. В этой главе рассказывается о назначении и использовании деформаторов Maya.
13
Рис. 13.1. Результат действия нелинейных деформаторов (слева направо): Bend, Flare, Wave, Twist, Sine и Squash
Нелинейные деформаторы позволяют быстро изогнуть, скрутить, выгнуть или даже сплющить поверхность. При решении аналогичных задач другими способами потребовалось бы выбирать, поворачивать, масштабировать и трансформировать множество контрольных точек. Например, с помощью деформатора Twist (Скручивание) можно преобразовать куб в спиральную лестницу. Деформатор Bend (Изгиб) позволяет согнуть стальную ложку, а деформатор Flare (Выпуклость) – нарисовать шаровары, стянутые резинками (то есть сделать на объекте раструб или сузить его). Каждый нелинейный деформатор выполняет строго определенную задачу, которая соответствует его названию: Bend (Изгиб), Flare (Выпуклость), Sine (Синусоидальная деформация), Squash (Сплющивание), Twist (Скручивание) и Wave (Волна) – рис. 13.1. Все нелинейные деформации определяются двумя параметрами:
Envelope (Оболочка) задает масштаб деформации. Вы можете выбрать значения от 0 до 1 или ввести значения от –2 до 2. Значение 2 удваивает общий эффект деформации; отрицательное значение инвертирует эффект. По умолчанию установлено значение 1; Low and High Bound (Нижняя и верхняя границы) используется для всех нелинейных деформаторов, кроме Wave. Применяется в том случае, когда нужно деформировать только часть поверхности, а оставшуюся часть оставить нетронутой.
Каждый нелинейный деформатор имеет собственные настройки, которые будут описаны далее.
Нелинейные деформаторы 359
358 Деформаторы
4. Поставьте в поле Curvature значение 1. Теперь объект будет изгибаться вокруг своего геометрического центра. 5. Присвойте параметру Low Bound значение 1. Изгиб объекта вокруг центра сохранится, но будет изгибаться только его верхняя часть (рис. 12.4).
Деформатор Bend Деформатор Bend изгибает объект по дуге. Вы сможете контролировать величину изгиба поверхности, регулируя дугу деформации. Чем больше изопармов (линий, определяющих геометрию NURBS) вы добавили к поверхности перед применением деформатора Bend, тем более гладким будет изгиб. В качестве дополнительного параметра для деформатора Bend выступает Curvature (Кривизна), который задает значение для изгиба объекта.
Для получения различных эффектов можно перемещать деформаторы относительно объектов или вращать их.
Использование деформатора Bend 1. Выделите объект для деформации. 2. Выберите в меню Deform (Деформировать) пункты Create Nonlinear Bend (Создать нелинейный деформатор Изгиб) – рис. 13.2. К выделенной поверхности будет применен деформатор Bend. 3. Щелкните по заголовку Bend в разделе Inputs (Входные данные) окна Channel Box (Редактор каналов), чтобы просмотреть свойства деформатора Bend (рис. 13.3).
Рис. 13.2. Выберите в меню Deform пункты Create Nonlinear Bend
Рис. 13.4. Параметр Curvature определяет величину изгиба объекта, а Low Bound – положение точки изгиба относительно его нижней части. Если параметр Low Bound задан равным 0, то нижняя половина цилиндра остается неизменной (показано на рисунке), а если Low Bound задан равным –1, то вся нижняя часть цилиндра будет деформирована
Деформатор
Цилиндр
Деформатор Flare Деформатор Flare позволяет создать выпуклую или суженную поверхность, что особенно полезно при работе с такими объектами, как вазы, заготовки фигур персонажей и колокола. Деформатор Flare имеет следующие параметры:
Рис. 13.3. В свойствах деформатора Bend указано, насколько сильно должен деформироваться объект
Start Flare X и Z (Начать деформацию по осям X и Z) определяет величину деформации поверхности в начале нижней границы вдоль указанной оси; End Flare X и Z (Закончить деформацию по осям X и Z) задает величину деформации в начале верхней границы вдоль указанной оси; Curve (Кривая) определяет величину кривизны перехода между границами Low и High Bound.
Использование деформатора Flare Рис. 13.5. Вы можете контролировать внешний вид деформации с помощью особого манипулятора. Цилиндр на рисунке окрашен в серый цвет, а деформатор – в белый
1. Выделите объект для деформации. 2. Выберите в меню Deform пункты Create Nonlinear Flare (Создать нелинейный деформатор Выпуклость). К выделенной поверхности будет применен деформатор Flare – рис. 13.5.
Нелинейные деформаторы 361
360 Деформаторы 3. Щелкните по заголовку Flare под разделом Inputs в окне Channel Box, чтобы просмотреть свойства деформатора Flare. 4. Выберите строку Start Flare X (см. рис. 13.6). 5. Перетащите указатель с помощью средней кнопки в окне Perspective, изменяя диаметр основания объекта до тех пор, пока параметр Start Flare не будет равен 3. В нижней части объекта появится раструб (рис. 13.7).
Использование деформатора Sine Рис. 13.6. Параметры деформатора Flare
Рекомендуется заранее подготовить геометрию поверхности к деформации: добавить нужное количество контрольных точек и изопармов. Если вы решите дополнить геометрию уже после использования деформатора, это приведет к нежелательным результатам. Поверхность проигнорирует деформатор или преувеличит его эффект.
Деформатор Sine Деформатор Sine изгибает объект по заданной синусоиде. Он имеет следующие параметры:
Amplitude (Амплитуда) определяет максимальное значение амплитуды для синусоиды; Wavelength (Длина волны) задает частоту волны. При уменьшении данного параметра частота волны увеличивается, при увеличении – уменьшается; Offset (Смещение) определяет положение синусоиды относительно центральной точки манипулятора (handle) деформации;
Dropoff (Затухание) задает изменение амплитуды синусоиды по мере удаления от центра. При отрицательном значении параметра амплитуда затухает по направлению к центральной точке манипулятора деформации, при положительном значении – в противоположном направлении.
Рис. 13.8. Чтобы применить деформатор к поверхности, выберите пункт меню Sine
Рис. 13.7. Деформатор Flare создает расширяющийся объект
Рис. 13.9. Деформатор Sine придает объекту волнообразную форму
1. Выделите объект для деформации. 2. Выберите в меню Deform пункты Create Nonlinear Sine (Создать нелинейный деформатор Синусоида – рис. 13.8. К выделенной поверхности будет применен деформатор Sine. 3. Щелкните по заголовку Sine под разделом Inputs в окне Channel Box, чтобы просмотреть свойства деформатора Sine. 4. Щелкните по строке Amplitude. 5. Перетаскивайте указатель с помощью средней кнопки в окне вида Perspective до тех пор, пока параметр Amplitude не станет равен 0,5. Форма объекта будет изменена. 6. Щелкните по строке Wavelength. 7. Чтобы увеличить кривизну деформации, перетаскивайте указатель с помощью средней кнопки в окне вида Perspective до тех пор, пока параметр Wavelength не будет равен 1 (рис. 13.9).
Нелинейные деформаторы 363
362 Деформаторы
Деформатор Wave
Деформатор
Деформатор Wave идеально подходит для создания концентрических колец на воде, возникающих при падении капли, а также небольших волн на поверхности. Лучшие результаты достигаются при изменении детализированных плоских поверхностей. Деформатор Wave имеет следующие настройки:
Amplitude определяет максимальное значение амплитуды волны; Wavelength указывает частоту волны. При уменьшении данного параметра частота увеличивается, при увеличении – уменьшается; Offset задает положение синусоиды относительно центральной точки манипулятора деформации. При анимации параметра Offset поверхность будет пульсировать; Dropoff определяет, как должна меняться амплитуда волны по мере удаления от центра. При отрицательном значении параметра амплитуда затухает по направлению к центральной точке манипулятора деформации, при положительном значении – увеличивается; Dropoff Position (Положение затухания) задает начальное и конечное значения амплитуды волны; Min and Max Radius (Минимальный и максимальный радиус) указывает минимальный и максимальный радиусы круговой синусоидальной волны.
Использование деформатора Wave
Рис. 13.11. Параметр Amplitude определяет максимальную амплитуду волны
Плоскость
Рис. 13.10. Манипулятор Wave контролирует параметры деформатора Wave. Деформатор окрашен в белый цвет, а плоскость – в серый
Рис. 13.12. При увеличении параметра Wavelength до 1,4 частота волны уменьшается
1. Создайте плоскость NURBS. 2. Присвойте параметрам Patches U и Patches V значение 10 в окне Channel Box. 3. Выберите в меню Deform пункты Create Nonlinear Wave (Создать нелинейный деформатор Волна). К выделенной поверхности будет применен деформатор Wave – рис. 13.10 4. Щелкните по заголовку Wave под разделом Inputs в окне Channel Box, чтобы просмотреть свойства деформатора Wave. 5. Установите параметр Amplitude равным 0,6. Объект изогнется в форме волны (рис. 13.11). 6. Задайте значение Wavelength равным 1,4. Количество волн на поверхности уменьшится (рис. 13.12).
Деформатор Squash Деформатор Squash вытягивает или сплющивает объект. Если вы масштабируете поверхность по вертикали вдоль одной оси, оставляя ее неизменной вдоль других осей по горизонтали, вы создаете поверхность с меньшим физическим объемом. Однако при этом объект перестает быть похожим на свой реальный прототип, который всегда сохраняет объем при сплющивании. Чтобы объекты деформировались более естественно, следует сохранять объем прежним при сплющивании и растяжении.
Нелинейные деформаторы 365
364 Деформаторы Деформатор Squash имеет следующие настройки:
Factor (Степень) задает значение сплющивания или растяжения объекта; Expand (Расширение) определяет, насколько объект будет расширяться в объеме при сплющивании или сужаться при растяжении; Start and End Smoothness (Начальное и конечное сглаживание) указывает величину сглаживания (по аналогии с параметром Dropoff) рядом с нижней границей (Start Smoothness) или верхней границей (End Smoothness). В цилиндре, например, верхней и нижней границами считаются верхнее и нижнее основания. Если вы увеличиваете параметр Start Smoothness, то точки в нижней части цилиндра будут более плавно переходить в область сплющивания.
Деформатор Squash может быть помещен в ключевой кадр для анимации сплющивания/растяжения объекта или персонажа.
Деформатор Twist
Рис. 13.16. При изменении значения параметра End Angle поверхность объекта скручивается Рис. 13.13. Выберите в меню Deform пункты Create Nonlinear Squash
Использование деформатора Twist
Использование деформатора Squash 1. Создайте цилиндр NURBS. 2. Выберите в меню Deform пункты Create Nonlinear Squash (Создать нелинейный деформатор Сплющивание) – рис. 13.13. К выделенной поверхности будет применен деформатор Squash. 3. Щелкните по заголовку Squash под разделом Inputs в окне Channel Box, чтобы просмотреть свойства деформатора Squash. 4. Установите параметр Factor равным –0,7. Объект будет сплющен по вертикали (рис. 13.14). 5. Задайте значение Expand равным 1,7. Теперь объект расширится в объеме (рис. 13.15).
Деформатор Twist (Скручивание) часто используется для того, чтобы преобразовать куб в здание «мультяшного» вида или для создания изогнутой металлической конструкции. Чем выше плотность поверхности объекта, тем более гладким будет изгиб. Действие деформатора Twist определяется параметрами Start Angle (Начальный угол) и End Angle (Конечный угол), которые задают угол скрутки на нижней и верхней границах.
Рис. 13.14. Отрицательное значение параметра Factor сплющивает объект, положительное – вытягивает Рис. 13.17. Присвойте параметру Low Bound значение 0, чтобы начать скручивание объекта с его средней части
Рис. 13.15. После сплющивания необходимо расширить объект, чтобы сохранить начальный объем
1. Создайте полигональный куб. 2. Выберите в меню Deform пункты Create Nonlinear Twist (Создать нелинейный деформатор Скручивание). К выделенной поверхности будет применен деформатор Twist. 3. Щелкните по заголовку Twist под разделом Inputs в окне Channel Box, чтобы просмотреть свойства деформатора Twist. 4. Установите параметр End Angle равным 40. Объект скручивается относительно центра манипулятора деформации (рис. 13.16). 5. Задайте значение Low Bound равным 0. Теперь скручивание объекта начинается с его средней части (рис. 13.17).
Деформатор Lattice 367
366 Деформаторы
Деформатор Lattice
Использование деформатора Lattice
Деформатор Lattice (Решетка) – один из наиболее используемых и самых функциональных деформаторов Maya. Он упрощает выделение контрольных точек на поверхности и позволяет управлять деформацией сложных объектов при помощи меньшего числа вершин, чем при непосредственной модификации модели. С помощью решетки вы можете создавать выпуклости на локте персонажа и контролировать вид поверхности в областях, где она должна иметь излом (например, в локтях и коленях). Когда вы применяете деформатор Lattice к объекту, Maya создает вокруг объекта особый контейнер в форме параллелепипеда, который и называется решеткой (рис. 13.18). При трансформации решетки или ее вершин (перемещения, вращения или масштабирования) объект внутри нее меняет свою форму (рис. 13.19). Форму решетки (а значит, и объекта) можно изменять, используя другие деформаторы. Важным параметром деформатора Lattice является Divisions (Разделения), который находится в узле Lattice’s Shape (Форма решетки) в окне Channel Box. Деформатор Lattice является одним из немногих объектов Maya, параметры которого доступны в узле Shape. При увеличении плотности решетки число ее вершин, которые можно выбрать и использовать для деформации объекта, также увеличивается. Это объясняется тем, что на каждом пересечении граней решетки создается вершина, или точка решетки.
1. Создайте сферу NURBS. 2. Выберите в меню Deform пункт Create Lattice (Создать решетку) – рис. 13.20. К выделенной поверхности будет применен деформатор Lattice. 3. Установите режим выделения Pick Mask как Select by component type (Выделение компонентов) – рис. 13.21. На экране отобразятся все точки решетки. 4. Выберите угловую точку решетки (см. рис. 13.22). 5. Переместите точку решетки (рис. 13.23). Поверхность будет деформирована в соответствие с изменением формы решетки.
Рис. 13.20. Чтобы окружить объект решеткой, выберите пункт меню Create Lattice Рис. 13.18. Решетка используется для деформации сферы NURBS
Рис. 13.21. Чтобы отобразить точки решетки, установите режим выделения Pick Mask как Select by component type
Решетка
Сфера
Рис. 13.19. Перемещая точки решетки, вы деформируете поверхность объекта Рис. 13.23. Одна точка решетки перемещает несколько контрольных точек на поверхности
Точки решетки
Рис. 13.22. В каждой точке пересечения граней решетки появится точка решетки
Деформаторы Wire и Sculpt 369
368 Деформаторы
Создание деформатора Wire без фиксатора
Деформаторы Wire и Sculpt Деформаторы Wire (Каркас) и Sculpt (Формирование рельефа) используют объекты и кривые для манипуляции точками и деформации выделенной поверхности. Деформатор Wire использует одну или несколько кривых NURBS, которые называются каркасами, для деформации выделенной поверхности (рис. 13.24). Ограничить область влияния данного деформатора можно с помощью дополнительных кривых, которые называются опорами. Они позволяют точно управлять деформацией очень маленьких поверхностей. Деформатор Sculpt в качестве основного приспособления для деформации поверхности использует сферический объект влияния, который создает рельеф округлой или кольцеобразной формы. Данный манипулятор (манипулятор деформации, имеющий форму сферы) называется сферой рельефа (рис. 13.25). Деформатор Sculpt можно применять для достижения различных целей. В частности, при моделировании лица с его помощью легко добиться эффекта скругления поверхности, например, на кончике носа или подбородке персонажа. Деформатор может работать в трех режимах: Flip (Обращение), Project (Проекция) и Stretch (Растяжение), позволяющих добиться различных эффектов.
Рис. 13.24. Для деформации плоской поверхности используется один каркас
Плоскость
Рис. 13.26. Для данной плоскости NURBS в полях Patches U и Patches V были заданы значения 10. Чем больше эти значения, тем более гладкой будет поверхность после деформации
Деформатор
Рис. 13.27. Наложение каркаса на поверхность определяет область деформации Рис. 13.25. Плоская поверхность была деформирована при помощи объекта влияния деформатора Sculpt. Деформатор имеет белый цвет, а плоскость – серый
1. Создайте плоскость NURBS и присвойте параметрам Patches U и Patches V значение 10 в окне Channel Box (рис. 13.26). 2. Создайте на плоскости кривую NURBS (рис. 13.27). Она будет использоваться в качестве манипулятора деформации, имеющего форму каркаса. Подобный манипулятор называют каркасом влияния. 3. Выберите в меню Deform пункт Wire Tool (Инструмент каркаса) – рис. 13.28. 4. Выделите плоскость и нажмите клавишу Enter. 5. Выделите кривую, созданную на основе контрольных точек, и нажмите клавишу Enter.
Рис. 13.28. Чтобы определить поверхность для деформации и каркас влияния, выберите инструмент Wire Tool
Деформаторы Wire и Sculpt 371
370 Деформаторы 6. Переместите кривую по оси Y. Плоскость будет деформирована по контуру кривой (рис. 13.29).
Создание деформатора Sculpt
Чтобы более точно управлять процессом деформации поверхности, вы можете перемещать контрольные точки по любой оси. Если вы хотите, чтобы кривая деформировала меньшую по площади область, уменьшите значение параметра Dropoff Distance (Расстояние затухания).
Создание деформатора Wire с фиксатором 1. Создайте плоскость NURBS и присвойте параметрам Patches U и Patches V значение 10 в окне Channel Box. 2. Создайте кривую NURBS, которая лежит на плоскости. Она будет использоваться в качестве каркаса. 3. Создайте фиксатор – окружность NURBS, которая лежит на плоскости (рис. 13.30). 4. В меню Deform щелкните по значку рядом с пунктом Wire Tool. 5. Отметьте флажок Holders (Фиксаторы) – рис. 13.31. 6. Щелкните по кнопке Close (Закрыть). 7. Выберите плоскость и нажмите клавишу Enter. 8. Выделите кривую, созданную на основе контрольных точек, и нажмите клавишу Enter. 9. Выберите окружность NURBS и нажмите клавишу Enter. 10. Переместите кривую по оси Y. Плоскость деформируется по контуру кривой, однако область воздействия деформатора ограничивается окружностью (рис. 13.32).
Рис. 13.29. Форма кривой определяет деформацию поверхности Рис. 13.32. Плоскость деформируется по контуру кривой, однако плоскость, лежащая за окружностью, не подвержена деформации
1. Создайте плоскость NURBS и присвойте параметрам Patches U и Patches V значение 10 в окне Channel Box. 2. Установите масштаб по осям X, Y и Z равным 5. Масштабирование плоскости необходимо для того, чтобы деформатор не превышал ее размеров. 3. Выберите в меню Deform пункт Create Sculpt Deformer (Создать деформатор Sculpt). К объекту будет применен деформатор Sculpt (рис. 13.33). 4. Выделите область поверхности, подвергшуюся деформации Sculpt, и переместите ее в положительном направлении по оси Y. Деформатор Sculpt расширит исходную геометрию объекта (рис. 13.34). Вы можете выделить и переместить локатор (пересечение двух коротких прямых), чтобы определить направление действия деформатора Sculpt.
Рис. 13.30. Масштабируйте окружность до тех пор, пока она не займет большую часть плоскости
Рис. 13.33. Деформатор Sculpt выталкивает геометрию поверхности вокруг своей сферической формы влияния. При этом создается эффект, который напоминает падение тяжелого мяча в грязь
Рис. 13.31. Если отмечен флажок Holders, вы можете использовать дополнительную кривую, чтобы ограничить область воздействия деформатора Wire
Рис. 13.34. Поверхность деформируется вокруг области воздействия деформатора Sculpt
Деформатор Jiggle 373
372 Деформаторы
Деформатор Jiggle В отличие от других рассмотренных нами деформаторов, деформатор Jiggle (Раскачивание) динамический, поскольку деформирует геометрическую фигуру с учетом ее движения. Когда объект с упругой или желеобразной поверхностью прекращает свое движение, его поверхность сначала колышется, а затем постепенно успокаивается.
Рис. 13.38 Присвойте параметру Motion Multiplier значение 20, чтобы усилить эффект движения
Использование деформатора Jiggle 1. Создайте цилиндр примитива NURBS и в Channel Box (Редактор каналов) присвойте шкале Y значение 4. 2. В разделе Inputs редактора каналов выберите makeNurbCylinder1, чтобы отобразить дополнительные опции, и присвойте параметру Spans значение 10 (рис. 13.35). 3. Создайте ключевой кадр на шкале времени (на кадре 1), нажав клавишу s. 4. Перейдите к кадру 30, нажмите клавишу w и с помощью инструмента Move перетащите объект на новое место. 5. Нажмите клавишу s, чтобы создать еще один ключевой кадр. Чем быстрее движется объект, тем сильнее будет эффект раскачивания. 6. Установите последний кадр на шкале времени на отметку 300, чтобы задать время затухания для деформатора после остановки объекта (рис. 13.36). 7. Выделите цилиндр и выберите пункты меню Deform Create Jiggle Deformer (Деформировать Использовать деформатор Jiggle). К цилиндру будет добавлено несколько узловых точек в разделе Inputs редактора каналов (рис. 13.37).
Рис. 13.35. Добавьте десять секций к цилиндру NURBS
Применение эффекта Jiggle к части объекта
Рис. 13.36. Присвойте параметру конца проигрывания значение 300 на шкале времени
Рис. 13.39. Вы можете применить эффект раскачивания только к одной части объекта с помощью редактора атрибутов для инструмента Paint Jiggle Weights
Рис. 13.37. К цилиндру добавляется несколько узловых точек в разделе Inputs редактора каналов
8. Щелкните по jiggle1, чтобы отобразить дополнительные опции, и присвойте параметру Motion Multiplier (Мультипликатор движения) значение 20 (рис. 13.38). Большее значение усилит эффект от движения в зависимости от масштаба объекта. 9. Присвойте параметрам Stiffness (Жесткость) и Damping (Затухание) значение 0.1. Низкое значение жесткости приведет к чрезмерному растягиванию объекта, а низкое значение затухания – к тому, что раскачивание объекта будет дольше затухать. 10. На шкале времени нажмите кнопку Play , чтобы просмотреть анимацию, а затем кнопку Stop . Когда объект остановится, он будет продолжать раскачиваться взад-вперед, словно свисает на резинке.
1. Повторите все шаги, описанные в предыдущем примере («Использование деформатора Jiggle»). 2. В меню Deform выберите значок рядом с пунктом Paint Jiggle Weights tool (Отобразить коэффициент Jiggle). Откроется редактор атрибутов для данного инструмента. Курсор примет форму кисти, показывая, что инструмент активизирован, а объект станет белым – это означает, что деформатор одинаково воздействует на всю поверхность объекта (рис. 13.39). 3. В разделе Paint Attributes (Атрибуты раскрашивания) выберите пункт Replace (Заменить) рядом с Paint Operations.
Деформатор Wrap 375
374 Деформаторы 4. Установите ползунок Value (Значение) в положение 0 и нажмите кнопку Flood (Залить). Объект окрасится в черный цвет – это значит, что деформатор не оказывает влияния на поверхность, и эффекта раскачивания не будет (рис. 13.40). 5. Установите ползунок Value в положение 1. Области, помеченные единицей, наиболее подвержены действию эффекта и будут свободно раскачиваться, тогда как области, для которых установлены более низкие значения, будут двигаться меньше или останутся неподвижными. 6. С помощью кисти проведите белой краской в районе центра цилиндра (рис. 13.41). 7. В разделе Paint Attributes выберите пункт Smooth (Смягчить) рядом с Paint Operations и несколько раз нажмите кнопку Flood, чтобы распространить действие эффекта более ровно. 8. Нажмите кнопку Play . Теперь, когда объект прекратит движение, только центральная часть цилиндра будет вибрировать, как чашка, наполненная желе (рис. 13.42).
Деформатор Wrap Деформатор Wrap (Оборачивание) использует один объект для деформации других таким образом, чтобы часть одной поверхности прилегала к другой. Вам придется частенько применять деформатор Wrap при «одевании» персонажей. Используя полигональную сетку с высоким разрешением, привязанную к скелету, можно деформировать модель патча NURBS. Однако это требует большого объема памяти и может создать трудности в работе, так что многие аниматоры предпочитают полигональную сетку с низким разрешением модели Smooth Proxy Polygon или уровень-0 модели разделения для деформирования деталей с более высоким разрешением других уровней.
Рис. 13.40. Замените текущие коэффициенты на 0
Использование деформатора Wrap
Рис. 13.42. Теперь середина цилиндра раскачивается, когда он прекращает движение
1. Выделите два объекта. Первый выбранный объект (плоскость) будет деформироваться вторым (крест) – рис. 13.43. 2. Выберите пункты меню Deform Create Wrap. Узловая точка wrap1 будет добавлена в меню редактора каналов в раздел Inputs первого выбранного объекта (рис. 13.44).
Рис. 13.44. Узловая точка wrap добавляется в меню редактора каналов в раздел Inputs
Рис. 13.41. Размягчите середину цилиндра, установив для этой области значение 1
Рис. 13.43. Первый выделенный объект деформирован оборачиванием по отношению ко второму объекту
Деформирование частиц 377
376 Деформаторы 3. Выделите первый объект и нажмите клавишу w для активизации инструмента Move, затем щелкните мышью и перетащите объект наверх (рис. 13.45). Передвинутся оба объекта, поскольку параметру Max Distance (Макс. расстояние) первого объекта (также называемого активным) по умолчанию присвоено значение 0. Это значение предоставляет активному объекту (кресту) полный контроль над другим объектом (плоскостью). 4. Выделив активный объект, выберите wrap1 в разделе Outputs редактора каналов (рис. 13.46). 5. Присвойте параметру Max Distance значение 1. Деформируемый объект вернется в свое первоначальное положение; при этом области, непосредственно соприкасавшиеся с активным объектом, окажутся «приклеенными» к нему (рис. 13.47).
Рис. 13.45. Передвижение активного объекта влечет за собой передвижение второго объекта Рис. 13.46. Если параметру Max Distance присвоено значение 0, то активный объект получает полный контроль над поверхностью
Рис. 13.49. Откройте диалоговое окно Lattice Options
Рис. 13.50. Присвойте параметру решетки Divisions значения 4, 2, 2
Деформирование частиц Во всех предыдущих примерах мы показывали вам, как деформировать поверхности, но можно деформировать и частицы. С помощью деформаторов вы сможете управлять частицами так, как это было бы сложно (а в некоторых случаях даже физически невозможно) сделать, используя динамику.
Рис. 13.47. Присвоение параметру Max Distance значения 1 влечет за собой «приклеивание» части первого объекта к активному объекту Рис. 13.51. Выберите пункт Transform All Points, чтобы деформация осуществлялась даже в случае выхода частиц за пределы решетки
Порядок деформирования частиц 1. Выделите объект-частицу (рис. 13.48). Для получения более подробной информации о создании систем частиц обратитесь к главе 18. Рис. 13.52. Снимите флажок Use Local Mode, чтобы решетка выглядела плавной и извилистой Рис. 13.48. Выделите объект-частицу для деформирования
2. В меню Deform выберите значок рядом с пунктом Create Lattice (Создать решетку). Появится диалоговое окно Lattice Options (Опции решетки) – рис. 13.49. 3. Присвойте параметру Divisions значения 4, 2, 2 (рис. 13.50). 4. В выпадающем меню Outside Lattice (Внешняя решетка) выберите пункт Transform All Points (Трансформировать все точки) – рис. 13.51. Как следствие, эффект применяется к частицам или геометрической фигуре, которые выходят за пределы решетки. В противном случае произошло бы резкое изменение эффекта на частице или поверхности. 5. Снимите флажок Use Local Mode (Использовать локальный режим) – рис. 13.52. Режим Use Local Mode жестко привязывает деформацию к количеству разделений в решетке, и результат смотрится угловато и ненатурально. Снятие флажка позволит создать плавную, извилистую деформацию, которая будет выглядеть более органично.
Скрытие, отображение и удаление деформаторов 379
378 Деформаторы 6. Щелкните по кнопке Apply. Вокруг частиц появится решетка (рис. 13.53). 7. Нажмите клавишу F8, чтобы переключиться в режим Component, и щелкните по пиктограмме Points . 8. Выделите точки в решетке, затем нажмите клавишу w и с помощью инструмента Move перетащите их (рис. 13.54). 9. Нажмите кнопку Play , чтобы просмотреть действие эффекта решетки на движущиеся частицы (рис. 13.55).
Скрытие, отображение и удаление деформаторов Удаление деформатора 1. Выделите манипулятор деформатора, который требуется удалить (рис. 13.56). 2. Выберите пункты меню Edit Delete (Редактировать Удалить) или нажмите клавишу Backspace.
Рис. 13.54. Передвиньте выбранные точки в решетке, чтобы деформировать объект-частицы
Рис. 12.56. Поверхность деформируется вокруг области воздействия деформатора Sculpt
Деформатор
Цилиндр
Рис. 13.53. Вокруг частиц появляется решетка
Рис. 13.55. Нажмите кнопку Play, чтобы просмотреть, как эффект решетки действует на движущиеся частицы
Рис. 13.57. Выбран манипулятор деформатора Taper, который соединен с цилиндром
Удаление деформатора с сохранением деформации поверхности 1. Выделите весь объект вместе с деформатором, который требуется удалить (рис. 13.57). 2. Выберите пункты меню Edit Delete by Type History (Редактировать Удалить по типу История). Деформатор будет удален, но деформация объекта сохранится неизменной.
380 Деформаторы Отобразить все деформаторы Выберите в меню Display (Отобразить) пункты Show Show Deformers All (Отображение Показать деформаторы Все) – рис. 13.58.
Скрыть все деформаторы Выберите в меню Display пункты Hide Hide Deformers All (Скрыть Скрыть Деформаторы Все) – рис. 13.59. Меню Display позволяет отдельно отобразить деформаторы определенного типа, например, решетки, объекты Sculpt, манипуляторы кластеров и нелинейных деформаторов.
Рис. 13.58. Выполните команды меню Display, чтобы отобразить все ранее скрытые деформаторы
Рис. 13.59. Выполните команды меню Display, чтобы скрыть все деформаторы
Создание освещения Реалистичность трехмерной сцене придает тщательно подобранное освещение. Впечатление от сцены во многом определяется ее освещением. Слишком сильное освещение делает сцену плоской, при этом зритель как бы находится вне действия, и интерес к происходящему на экране резко падает. Правильная установка интенсивности света и положения источника освещения позволяет скрыть недостатки модели или даже превратить их в достоинства. Вы можете использовать свет для привлечения внимания к определенному месту на сцене (рис. 14.1) или объекту, который вы желаете специально выделить (рис. 14.2). Источник света используется не только для освещения пространства, но и для создания теней и, что еще более важно, глубины изображения. Интенсивный свет формирует острые, четкие тени, мягкий свет – мягкие и плавные. Умение сочетать источники света и цвет освещения имеет очень большое значение. Это определяет настроение, передаваемое изображением, подчеркивает пространство и даже имитирует течение времени.
14
Рис. 14.1. Внимание зрителя фокусируется на освещенной области
Рис. 14.2. Правильное освещение помогает сделать акцент на определенном объекте
Создание настроения 383
382 Создание освещения Веками художники использовали игру света и тени, чтобы пробудить эмоции зрителя. Леонардо да Винчи, Геррит ван Хонтхорст, Луиджи Караваджио экспериментировали с освещением на своих полотнах. В настоящее время аналогичные методы используются в кино. Примерами могут служить фильмы «Бегущий по лезвию бритвы», «Крестный отец» и «Привидение». Действие в этих фильмах поддерживается освещением с применением таких приемов, как изменение цветов, интенсивности и положения источников света. Управление источниками света может быть сложным и отнимать много времени. Прочитав данную главу, вы получите некоторые навыки этого непростого мастерства.
Создание настроения Прежде всего вам нужно подумать о том, в какое время дня разворачиваются события на вашей сцене. Освещение может создавать совершенно различные и порою неожиданные эффекты. Чтобы убедиться в этом, попробуйте в одной и той же сцене использовать три или четыре варианта освещения. На рис. 14.3 с помощью света создано настроение пугающей таинственности, а на рис. 14.4 эта же сцена ярко освещена, что придает ей радостное ощущение летнего утра.
Ниже рассматриваются виды освещения, характеризующие разное время суток:
Рис. 14.3. Освещение позволяет создать особое настроение, например, загадочное и пугающее
Рис. 14.4. А этот вариант освещения создает настроение свежего летнего утра
рассвет (dawn). Большая часть неба заполнена светом. Свет мягкий и рассеянный, поэтому объекты в комнате освещены слабо. Сначала становятся видимыми блики и отражения, затем постепенно прорисовывается все остальное. Рассвет характеризуется очень слабым светом, к которому человеческим глазам нужно некоторое время привыкать; восход солнца (sunrise). Свет пробивается в комнату. Длинные тени и световые узоры проецируются на стену через окно, рассеивая свет по всей комнате. По мере того как солнце поднимается, тени становятся короткими и более прозрачными. Освещение преобразуется в яркий дневной свет; закат солнца (sunset). Оранжевый, красный и розовый света заката заполняют облака и небо, создавая чувство спокойствия. День близится к завершению. Силуэты гор и деревьев выделяются на горизонте, на земле лежат длинные тени; вечер (evening). Комнату заполняет мирный серебряно-синий свет. Освещение мягкое. Комната освещена свечами и потолочными лампами, свет которых быстро теряется в темноте. Естественное освещение – это свет луны, который создает голубоватые отблески по всей сцене.
Редактор Hypershade 385
384 Создание освещения
Редактор Hypershade Редактор Hypershade (Гипертонировщик) работает по тому же принципу, что и Hypergraph, однако его возможности гораздо шире. Он позволяет создавать, удалять, просматривать и изменять источники освещения, а также работать с материалами и текстурами (рис. 14.5).
Рис. 14.7. При выборе опции Create Lights на панели Create отображаются только источники освещения
Открытие окна Hypershade Выберите пункты меню рабочего окна Panel Panels Hypershade (Панель Панели Гипертонировщик); или Щелкните по кнопке Hypershade/Persp (Гипертонировщик/Перспектива), находящейся под панелью инструментов в левой части окна; или Выберите пункты меню Window Rendering Editors Hypershade (Окно Редакторы визуализации Гипертонировщик). Левую часть окна Hypershade занимает панель Create (Создать) – рис. 14.6. На ней размещаются узлы для работы с освещением и текстурами. С помощью средней кнопки мыши вы можете создать новый узел, перетащив значок из панели Create в рабочую область, расположенную справа.
Рис. 14.5. Окно редактора Hypershade
Рис. 14.8. Вкладка Lights отображает два созданных источника освещения и рабочую область
Рис. 14.6. Панель Create
Maya позволяет отображать в списке узлы только одного типа и скрывать все остальные. Чтобы определить тип узла и сократить список, щелкните по кнопке Create Textures (Создать текстуры) в верхней части панели Create и выберите в меню тип узла. Например, если указать опцию Create Lights (Создать источники освещения), то на панели Create будут отображаться только типы источников освещения (рис. 14.7). Чтобы просмотреть созданные узлы, следует перейти на одну из вкладок окна Hypershade: Materials (Материалы), Textures (Текстуры), Utilities (Утилиты), Lights (Источники освещения), Cameras (Камеры) и Projects (Проекции). Любой созданный узел отображается на соответствующей вкладке или в выпадающем меню. Например, на вкладке Lights можно одновременно увидеть направленный и точечный источники освещения открытой сцены (рис. 14.8). Под вкладками, которые задают тип узла, находятся вкладки Work Area (Рабочая область) и Shader Library (Библиотека тонировщиков). На вкладке Work Area вы можете присоединять атрибуты узлов, просматривать все соединения, а также задавать отображение только того источника света или текстуры, над которыми вы в данный момент работаете. Вкладка Shader Library содержит готовые наборы тонировщиков, включая тонировщики для зданий, еды, посуды и других распространенных объектов (библиотека Shader Library должна инсталлироваться отдельно с установочного диска Maya). Эти наборы часто служат основой для создания новых тонировщиков. В этой главе описывается работа с источниками света в окне Hyperhsade и на панели Create.
Установки визуализации 387
386 Создание освещения
Установки визуализации В Maya есть много способов достижения одного и того же результата. Рассмотрим некоторые установки, позволяющие значительно упростить работу. Для создания финальной визуализации используются три окна: Hypershade, Render View (Просмотр визуализации) и Camera View (Вид из камеры), который обеспечивает просмотр сцены спереди, сверху, сбоку, в перспективе или с любой созданной вами произвольной камеры. Один из способов подготовить сцену к визуализации – это выбрать разметку Hypershade/Render/ Persp в контекстном меню верхней части Hotbox – рис. 14.9. Рабочая область будет разделена на три окна: Hypershade (в верхней части экрана), Render View (слева) и Perspective (справа) – см. рис. 14.10. При выполнении визуализации вы можете использовать клавишу Пробел, чтобы развернуть любое из рабочих окон поверх остальных. Кроме того, такая разметка рабочей области предоставляет доступ к наиболее часто используемым окнам текстур и освещения.
Рис. 14.9. Выбор схемы рабочей области Hypershade/Render/Persp
Рис. 14.11. Выберите нужное окно в меню Window Rendering Editors
Можно настроить рабочую область и другим образом, например, открывать редакторы Hypershade или Render View по мере необходимости в отдельном окне. Выберите нужное окно в меню Window Rendering Editors (Окно Редакторы визуализации) – рис. 14.11. При этом указанный редактор откроется в отдельном окне (рис. 14.12). Поскольку Attribute Editor (Редактор атрибутов) предоставляет доступ к большинству атрибутов источников света, допускается временно заменить окно Channel Box (оно расположено в правой части окна Maya) на окно Attribute Editor (рис. 14.13). Перейдите в восточную часть меню Hotbox и выберите пункты Attributes Attribute Editor (Атрибуты Редактор атрибутов) или щелкните по кнопке в верхнем правом углу окна Maya. Окно Render View содержит множество инструментов, предназначенных для проведения качественной визуализации. Они рассматриваются в следующих разделах данной главы (более подробно окно Render View обсуждается в главе 15).
Рис. 14.10. Окно Hypershade расположено вверху, Render View – слева внизу, а Perspective – справа внизу
Рис. 14.12. Редактор Render View открыт в отдельном окне
Рис. 14.13. Окно Attribute Editor располагается в правой части рабочей области, заменяя окно Channel Box
Источники света 389
388 Создание освещения
Источники света В Maya существует шесть типов источников света: подсветка, протяженный, направленный, точечный, прожектор и объемный. Комбинирование этих источников позволяет добиться практически любого эффекта освещения. В сцене Maya используется один источник света или несколько в зависимости от настроения и художественного содержания сцены. Давайте рассмотрим различные типы и наиболее распространенные способы применения источников света:
Ambient (Подсветка). Создает общее однородное освещение для всей сцены. Для данного источника не рекомендуется устанавливать большое значение интенсивности, поскольку в этом случае сцена будет выглядеть плоской и лишенной контраста (рис. 14.14). Используется при создании освещения в комнате, в которой нет других источников света, а также освещения, не имеющего выраженного источника; Area (Протяженный). Плоский двумерный элемент с регулируемыми размерами, который излучает свет от всей области в направлении линии, перпендикулярной его плоскости (рис. 14.15). Используется при создании ламп дневного света и прямоугольных световых бликов на стенах; Directional (Направленный). Свет распространяется извне под определенным углом. Эффект создается одновременно для всех объектов сцены вне зависимости от их расположения (рис. 14.16). Применяется при имитации удаленных источников света, например солнца или луны;
Рис. 14.14 Пиктограмма подсветки
Рис. 14.15 Пиктограмма протяженного источника света
Рис. 14.18 Пиктограмма прожекторного источника света
Рис. 14.19 Пиктограмма объемного источника света
Рис. 14.16 Пиктограмма направленного источника света
Рис. 14.17 Пиктограмма точечного источника света
Рис. 14.20. Общие атрибуты источников света: тип, цвет, интенсивность и коэффициент затухания
Point (Точечный). Распространяет свет от центра во всех направлениях. Чем дальше от источника света расположен объект, тем меньше он освещен (см. рис. 14.17). Используется при имитации света электрической лампочки, свечи, факела; Spot (Прожектор). Освещает сцену лучом света в форме конуса. Свет идет от центральной точки, перемещается в определенном направлении и создает мягкие, плавные тени по краям (рис. 14.18). Применяется при имитации света настольных ламп, фонарей, фар автомобиля или прожекторов; Volume (Объемный). Является разновидностью источника Spot. Отличие состоит в том, что форму светового потока задает пользователь (рис. 14.19). Используется при имитации очень яркого света или пыльной среды.
Все источники света имеют следующие общие атрибуты (рис. 14.20):
Рис. 14.21. Верхняя сцена освещена источником света низкой интенсивности. В нижней сцене использован тот же источник, но с более высокой интенсивностью
Type (Тип) определяет тип источника освещения. В любой момент можно изменить этот атрибут, например, вместо точечного источника света выбрать прожекторный; Color (Цвет) задает основной цвет источника освещения. Допускается дополнить цвет картой изображений (image maps); Intensity (Интенсивность) определяет яркость источника освещения. Чтобы получить лучшие результаты, начните с небольшой интенсивности света и постепенно увеличивайте ее (рис. 14.21);
Источники света 391
390 Создание освещения
Decay Rate (Коэффициент затухания) устанавливает снижение интенсивности света по мере удаления от источника. При уменьшении коэффициента затухания резко возрастает интенсивность, поэтому необходимо увеличить/уменьшить интенсивность света, чтобы добиться желаемого результата. Этот атрибут не используется в подсветке, направленном и объемном источниках света. Существует пять возможных значения этого параметра (рис. 14.22): – No Decay (Нет затухания). Свет имеет одинаковую интенсивность независимо от расстояния; – Linear Decay (Линейное затухание). Интенсивность света уменьшается прямо пропорционально расстоянию; – Quadratic Decay (Квадратичное затухание). Убывание интенсивности пропорционально квадрату расстояния от источника света. Интенсивность снижается медленнее, чем при Cubic Decay, но быстрее, чем при Linear Decay. Эта установка ближе всего к естественному затуханию света в природе; – Cubic Decay (Кубическое затухание). Интенсивность света снижается пропорционально кубу расстояния от источника, то есть ослабевает быстрее, чем при использовании Linear Decay и Quadratic Decay.
Источник света
Направление света
Подсветка
Рис. 14.23. Создайте на сцене пять или шесть примитивов и расположите их в произвольном порядке
Подсветка представляет собой источник света, который присутствует на сцене после выключения всех источников света. Он помогает различать контуры предметов в темноте, когда в комнате нет видимых источников света. Подсветка – самый простой тип источников освещения, поэтому его просчет не требует больших временных затрат. Это позволяет предварительно оценить внешний вид сцены после визуализации всех объектов, не создавая других источников освещения. Однако не рекомендуется использовать окружающий свет высокой интенсивности, так как он может сделать сцену визуально плоской. Давайте создадим сцену для тренировки.
Создание новой сцены
Рис. 14.22. Коэффициенты затухания, сверху вниз: каркасный вид сцены, нет затухания, линейное, квадратичное и кубическое
Рис. 14.24. Плоскость стала больше, чем другие объекты сцены
1. Для создания новой сцены выберите пункты меню File New Scene (Файл Создать сцену). 2. Создайте на сцене пять или шесть примитивов и расположите их в произвольном порядке так, чтобы каждый объект находился на сетке (рис. 14.23). 3. Выберите в меню Create пункты NURBS Primitive Plane (Примитив NURBS Плоскость), чтобы создать плоскость. 4. Установите для плоскости такое значение масштаба, чтобы она была больше, чем другие объекты (рис. 14.24). 5. Сохраните сцену в файле с названием practice.mb.
Источники света 393
392 Создание освещения
Не используйте в сцене более одного источника подсветки, если в этом нет необходимости. Подсветка может превратить трехмерную сцену в визуально плоскую.
Создание подсветки 1. Откройте файл practice.mb. 2. Выберите пункты меню Create Lights (Создать Источники света), затем в подменю щелкните по значку рядом с пунктом Ambient Light (рис. 14.25). 3. В открывшемся диалоговом окне Create Ambient Light Options (Настройки создания подсветки) щелкните по образцу цвета рядом с атрибутом Color (рис. 14.26). Откроется окно выбора цвета. 4. Щелкните по полю выбора цвета, чтобы выбрать цвет источника освещения (рис. 14.27). 5. Щелкните по кнопке Apply (Применить), чтобы изменить цвет подсветки. 6. Нажмите кнопку Create, чтобы создать подсветку. В сцену practice.mb добавляется источник света Ambient. 7. В контекстном меню верхней части Hotbox выберите разметку Hypershade/Render/Persp, чтобы разделить экран на три рабочих окна. 8. Выберите в окне Render View пункты меню Render Render persp (Визуализация Визуализация Перспектива), чтобы визуализировать сцену в окне перспективы (рис. 14.28).
Рис. 14.26. Щелкните по образцу цвета рядом с атрибутом Color Рис. 14.29. Атрибуту Ambient Shade присвоено значение 0, поэтому сцена выглядит совершенно плоской
Изменение атрибута Ambient Shade подсветки
Рис. 14.27. Выберите цвет в поле, напоминающем радужный шестиугольник Рис. 14.30. Атрибуту Ambient Shade присвоено значение 1, при этом достигается эффект точечного освещения
Рис. 14.31. Присвойте атрибуту Ambient Shade значение 0
Рис. 14.25. Щелкните по значку рядом с пунктом меню Ambient Light
Атрибут Ambient Shade (Коэффициент направленности) позволяет комбинировать два таких противоположных свойства источника подсветки, как отсутствие направленности и направленность. Если атрибут Ambient Shade задан равным 0, то свет будет поступать отовсюду, поэтому предметы не имеют теней (рис. 14.29). Если его значение равно 1, получается точечный источник света (рис. 14.30). При изменении этого атрибута вам следует соблюдать осторожность, так как чем ниже значение, тем более плоским будет изображение.
Рис. 14.28. Чтобы визуализировать сцену, выберите в окне Render View пункты меню Render Render persp
1. Выделив источник света, откройте окно Attribute Editor, выбрав пункты меню Window Attribute Editor или нажав клавиши Ctrl+a. 2. Присвойте атрибуту Ambient Shade значение 0 (рис. 14.31). Свет будет равномерно распределен по всей сцене. 3. Чтобы выполнить визуализацию окна Perspective, выберите в рабочем окне Render View пункты меню Render Render persp. Поскольку значение атрибута Ambient Shade равно 0, объекты на сцене будут сливаться друг с другом, создавая плоское изображение (рис. 14.29). 4. Не снимая выделения с источника света, перейдите в окно Attribute Editor и присвойте атрибуту Ambient Shade значение 0,7. Свет, распространяемый источником, будет подобен точечному свету, поскольку его интенсивность постепенно снижается по мере удаления от источника освещения.
Источники света 395
394 Создание освещения 5. Щелкните по кнопке Redo Previous Render (Повторить предыдущую визуализацию) в окне Render View. Так как значение атрибута Ambient Shade увеличилось, сцена приобрела необходимую глубину (рис. 14.30). 6. В окне Attribute Editor присвойте параметру Intensity (Интенсивность) значение 0,25 (рис. 14.32). Это позволяет снизить интенсивность подсветки и свести двумерный эффект к минимуму. 7. Щелкните по кнопке Redo Previous Render в окне Render View. Сцена станет очень темной. Протяженный источник света идеально подходит для имитации источника освещения прямоугольной формы, например люминесцентных ламп. Он также применяется для создания задней подсветки персонажа. Следует отметить, что несколько протяженных источников света в сцене может увеличить время визуализации.
Рис. 14.32. Установите интенсивность света равной 0,25
Рис. 14.33 Выберите пункт Area Light
Рис. 14.35. Чтобы выполнить визуализацию сцены, выберите в окне Render View пункты меню Render Render persp
Направленный источник света Направленный источник освещения идеально подходит для имитации солнечного и лунного света.
Создание направленного источника света
Создание протяженного источника света 1. Откройте файл practice.mb. 2. В окне Hypershade перейдите на панель Create и выберите в разделе Create Lights пункт Area Light (рис. 14.33). 3. Измените масштаб источника света до нужных вам размеров. 4. Переместите источник света и поверните его таким образом, чтобы поверхность излучала свет на объект, который требуется осветить (рис. 14.34). 5. Выделите источник света и откройте окно Attribute Editor. 6. Щелкните по образцу цвета рядом с атрибутом Color. 7. В открывшемся окне выберите цвет источника освещения.
8. Щелкните по кнопке Accept (Принять), чтобы применить цвет. 9. Чтобы задать яркость источника света, переместите ползунок атрибута Intensity в окне Attribute Editor. 10. Закройте окно Attribute Editor. 11. В контекстном меню верхней части Hotbox выберите разметку Hypershade/Render/Persp, чтобы разделить экран на три рабочих окна. 12. В окне Render View выполните команды меню Render Render persp, чтобы визуализировать сцену в окне Perspective (рис. 14.35).
Рис. 14.36. Положение направленного источника света, которое задается по умолчанию
Рис. 14.34. Направьте источник света на объект, который требуется осветить
Рис. 14.37. Лучи света по умолчанию распределяются по горизонтали
1. Откройте файл practice.mb. 2. Выберите в меню Create пункты Lights Directional Light (Свет Направленный источник света). По умолчанию созданный источник освещения повернут по оси Z в отрицательном направлении (рис. 14.36), а лучи света распределяются по горизонтали (рис. 14.37).
Источники света 397
396 Создание освещения 3. Щелчком мыши выделите направленный источник света. Поворачивайте его вокруг осей, пока стрелки не будут показывать в том направлении, куда вы желаете направить свет (рис. 14.38). 4. Не снимая выделения с источника, укажите в окне Channel Box другое значение интенсивности света. 5. Выберите в меню Window пункты Rendering Editors Render View (см. рис. 14.39). Редактор Render View откроется в новом окне. 6. Выберите в окне Render View пункты меню Render Render persp, чтобы визуализировать сцену в окне Perspective.
Создание точечного источника света
Рис. 14.40 Выберите в выпадающем меню в окне Hypershade пункт Create Lights
Рис. 14.38. Стрелки должны показывать в том направлении, куда вы желаете направить свет
Перемещение направленного источника света не влияет на освещение сцены, но позволяет впоследствии найти или выделить его.
Точечный источник света Точечный источник света идеально подходит для имитации света ламп и факелов. Он также используется в тех случаях, когда требуется немного усилить освещение в темном углу, уменьшить освещенность какой-либо области (то есть сделать источник поглощающим свет) или сымитировать свет, отраженный от объекта.
Рис. 14.41. Используя среднюю кнопку мыши, перетащите значок Point Light из панели Create Lights на панель Work Area в окне Hypershade
1. Откройте файл practice.mb. 2. Выберите в выпадающем меню панели Create пункт Create Lights (рис. 14.40). 3. Используя среднюю кнопку мыши, перетащите значок Point Light из панели Create Lights на панель Work Area в окне Hypershade (рис. 14.41). 4. Дважды щелкните по значку Point Light на панели Work Area, чтобы открыть окно Attribute Editor. 5. Присвойте значение атрибутам Color и Intensity и закройте окно Attribute Editor. 6. Щелчком мыши выделите источник света и поместите его над плоскостью. Следите за тем, чтобы плоскость не заслоняла источник света (рис. 14.42). 7. В контекстном меню верхней части Hotbox выберите разметку Hypershade/Render/Persp, чтобы разделить экран на три рабочих окна. 8. В окне Render View выполните команды меню Render Render persp, чтобы визуализировать сцену в окне Perspective (рис. 14.43).
Рис. 14.39. Выберите пункты меню Rendering Editors Render View, чтобы открыть редактор Render View в новом окне
Рис. 14.42. Поместите источник света над плоскостью
Рис. 14.43. Финальная визуализация сцены
Источники света 399
398 Создание освещения Если атрибут интенсивности имеет отрицательное значение, источник света будет поглощать освещение из окружающей области.
8. В окне Render View выполните команды меню Render Render persp, чтобы визуализировать сцену в окне Perspective (рис. 14.47).
Рис. 14.44. Задайте маску Object Pick так, чтобы выбрать только источники света
Прожектор
Атрибуты прожектора
Прожектор используется при имитации света театральной рампы, фар, настольных ламп, карманного фонарика, то есть всех источников, лучи которых имеют коническую форму.
Maya позволяет переопределять некоторые атрибуты прожектора. Ниже приводится их описание:
Создание прожектора 1. Откройте файл practice.mb. в пол2. Щелкните по значку Spotlight ке Rendering, чтобы создать прожектор. 3. Задайте маску Object Pick (Выбор объекта) таким образом, чтобы выбирать только источники света (рис. 14.44), и перетащите указатель через значок Spotlight на сцене. Если вы правильно установили Object Pick, то будет выделен только источник света. 4. Выберите инструмент Show Manipulator (Показать манипулятор), нажав клавишу t или щелкнув по кнопке на панели инструментов. 5. Перетащите манипулятор перемещения по оси прожектора так, чтобы поместить его над плоскостью (рис. 14.45). Обратите внимание, что при работе с инструментом Show Manipulator цель прожектора связана со вторым манипулятором и свет направляется на нее. 6. Выберите центральный квадрат манипулятора цели и переместите его в то положение, куда требуется направить источник света (рис. 14.46). 7. В контекстном меню верхней части Hotbox выберите разметку Hypershade/ Render/Persp, чтобы разделить экран на три рабочих окна.
Рис. 14.47. Выберите пункты меню Render Render persp, чтобы выполнить визуализацию сцены в окне Perspective
Рис. 14.45. Чтобы поместить прожектор над землей, перетащите манипулятор перемещения по оси Y
Cone Angle (Угол конуса света). Чем большее значение присвоено этому атрибуту, тем шире будет конус света и освещенная область – рис. 14.48; Penumbra Angle (Угол полутени). При изменении угла полутени граница между светом и тенью становится менее резкой. Если этот атрибут имеет отрицательное значение, граница размывается внутри конуса света, при положительном значении – размываются области за пределами светового конуса (рис. 14.49);
Рис. 14.48. Вверху показана освещенная область при значении Cone Angle, задаваемом по умолчанию. Внизу – освещенная область стала шире, хотя положение источника света осталось прежним
Рис. 14.46. Переместите манипулятор цели в новое положение Рис. 14.49. При изменении угла полутени граница между светом и тенью становится менее резкой. В верхней части рисунка значение атрибута равно 0, в нижней – 7
Источники света 401
400 Создание освещения
Dropoff (Затухание). Изменяет интенсивность света от центра области освещения к ее границе. При увеличении значения этого атрибута интенсивность света меняется плавно от центра к границе (рис. 14.50).
Рис. 14.52 Чтобы создать на сцене объемный источник света, выберите в меню Create пункты Lights Volume Light
Maya позволяет добавлять растровое изображение или процедурную текстуру ко многим атрибутам источника света. В качестве примера рассмотрим использование изображения в атрибуте цвета. При этом происходит проецирование изображения через поле света, что напоминает эффект прохождения света через мозаичное окно. В результате на плоскости возникает световой узор (рис. 14.51).
Объемный источник света Объемный источник света используется для освещения нескольких объектов, расположенных на одинаковом расстоянии друг от друга. Он позволяет сразу осветить все предметы, попадающие в область его действия.
Рис. 14.50. Атрибут Dropoff определяет изменение интенсивности света от центра области освещения к ее границе. В верхней части рисунка значение равно 0, в нижней – 8
Рис. 14.53. Значок Volume Light похож на сферу. Объекты, которые требуется осветить, должны находиться внутри нее
Создание объемного источника света 1. Откройте файл practice.mb. 2. Выберите в меню Create пункты Lights Volume Light (Свет Объемный источник света) – рис. 14.52. 3. Масштабируйте сферу Volume Light до тех пор, пока она не будет окружать все объекты, которые требуется осветить (рис. 14.53).
4. Выберите в меню Window пункт Attribute Editor. Откроется окно Attribute Editor. 5. Задайте атрибуты Color и Intensity, затем закройте окно Attribute Editor (рис. 14.54). 6. В контекстном меню верхней части Hotbox выберите разметку Hypershade/Render/Persp, чтобы разделить экран на три рабочих окна. 7. В окне Render View выполните команды меню Render Render persp, чтобы визуализировать сцену в окне Perspective (рис. 14.55).
Рис. 14.51. Область, освещенная источником света, на который было наложено изображение
Рис. 14.54. Для получения нужной яркости и цвета освещения задайте атрибуты Color и Intensity
Рис. 14.55. В выпадающем меню Render выберите вид, который требуется визуализировать
Вид из источника света 403
402 Создание освещения Добавление карты изображения к атрибуту Color 1. Щелчком мыши выделите прожектор. 2. Выберите пункты меню Window Attribute Editor (рис. 14.56). 3. В окне Attribute Editor щелкните по значку рядом с ползунком Color, чтобы открыть панель Create Render Node (Создать узел визуализации). 4. На панели Create Render Node в разделе 2D Textures (Двумерные текстуры) выберите пункт File (рис. 14.57). 5. Щелкните в разделе File Attributes (Атрибуты файла) по значку File рядом с атрибутом Image Name (Название изображения). 6. В диалоговом окне Open (Открыть) найдите папку, в которой содержится изображение, выберите его и нажмите кнопку Open. 7. В контекстном меню верхней части Hotbox выберите разметку Hypershade/Render/Persp, чтобы разделить экран на три рабочих окна. 8. Выберите в рабочем окне Render View пункты меню Render Render persp, чтобы выполнить визуализацию сцены в окне Perspective. Результат визуализации представлен на рис. 14.58.
Вид из источника света
Рис. 14.56. Выберите пункты меню Window Attribute Editor
Рис. 14.59. Выберите в меню рабочего окна или меню Hotbox пункт Look Through Selected
Одной из нелегких задач, которые приходится решать новичку, является освещение нужной области сцены. Maya немного упрощает ее выполнение, позволяя смотреть на сцену из источника света. Вы можете экспериментировать до тех пор, пока источник света не будет направлен именно туда, куда вы желаете.
Просмотр сцены из источника света 1. Выделите источник света, который требуется направить на нужный объект. 2. Выберите в рабочем окне пункты меню Panels Look Through Selected (Панели Смотреть из выделенного) – см. рис. 14.59. Теперь вы увидите сцену с позиции источника освещения (рис. 14.60). Чтобы нацелить источник света на объект, выделите объект и выберите пункты меню View Look at Selection (Смотреть Смотреть на выделенный объект).
Рис. 14.57. На панели Create Render Node перейдите на вкладку Textures, затем в разделе 2D Textures выберите пункт File
Рис. 14.58. Слева показано изображение, использованное в атрибуте цвета источника света, а справа – результат визуализации
Рис. 14.60. В настоящий момент сфера центрирована относительно прожектора. Окружность вокруг объекта задает область освещения для прожектора
Привязывание источника света 405
404 Создание освещения
5. Повторите шаги 3 и 4 для каждого источника света, с которым требуется связать объекты. 6. Выполните визуализацию сцены, чтобы оценить результат.
Привязывание источника света Привязывание источника света позволяет наиболее гибко и результативно работать с освещением. Устанавливая подобную связь, вы можете указать, что поверхность должна освещаться только заданными источниками света или источник света должен освещать лишь определенные поверхности. В обоих случаях допускается изолировать от света какие-либо объекты и контролировать освещение остальных областей сцены. Рекомендуется использовать привязывание при освещении персонажа, если требуется акцентировать внимание зрителей, то есть осветить только персонаж, но не всю сцену. Кроме того, по мере усложнения сцены необходимо перейти к привязыванию источников лишь к тем объектам, которые действительно нуждаются в освещении, иначе время визуализации значительно возрастет.
Чтобы быстро выбрать объект, следует щелкнуть мышью и перетащить указатель в окне Relationship Editor по названиям объектов.
Рис. 14.61. Создайте простую сцену для демонстрации привязывания источника света
Рис. 14.64. Слева выберите объект NurbsSphere1, а справа – источники света, которые должны его освещать. В данном примере единственным источником освещения NurbsSphere1 будет Spotlight2
Привязывание источника света к объекту 1. Создайте новую сцену, включающую два прожектора и три примитива. Расположите их так, как показано на рис. 14.61. 2. Выберите в меню Lighting/Shading (Осве щение/Тонирование) пункты Light Linking Light-Centric (Привязывание источника света Привязывание по источнику) – рис. 14.62. Откроется окно Relationship Editor (Редактор отношений). 3. В левой части окна Relationship Editor выберите источник света, который требуется связать с объектами. 4. В правой части окна выберите объекты. При необходимости отмените выделение объектов, которые не нужно освещать (рис. 14.63).
Рис. 14.62. Чтобы привязать один источник света к нескольким объектам, выберите пункт меню Light-Centric
Рис. 14.63. Источник света Spotlight1 будет освещать только объект NurbsCylinder1
Рис. 14.65. В данной сцене источники света привязаны к определенным объектам, поэтому поверхность, на которой находятся объекты, не освещается
Привязывание объекта к источнику света 1. Создайте новую сцену, включающую два прожектора и три примитива. 2. Выберите в меню Lighting/Shading пункты Light Linking Object-Centric (Привязывание источника света Привязывание по объекту). Откроется окно Relationship Editor. 3. В левой части окна Relationship Editor выберите освещаемый объект (рис. 14.64). 4. В правой части окна выберите источники света для освещения объекта. При необходимости отмените выделение источников света, которые не должны освещать объект. 5. Повторите шаги 3 и 4 для каждого освещаемого объекта. 6. Выполните визуализацию сцены, чтобы оценить результат (рис. 14.65).
Имитация теней 407
406 Создание освещения
Имитация теней Тени являются очень важной составляющей сцены, поскольку они зрительно привязывают объекты к поверхности, а также дают представление о том, на каком расстоянии находятся объекты друг от друга (рис. 14.66). Сцену, в которой объекты не отбрасывают теней, трудно признать реалистичной. В реальной жизни цвет тени зависит от цвета источника освещения. Солнце имеет желтый цвет, поэтому тени, отбрасываемые предметами, которые освещены солнечным светом, окрашены в фиолетовый цвет. При создании теней следует помнить о том, что в природе нет абсолютно черного цвета, существуют только концентрации темных цветов. А вам, как настоящему художнику, в работе над трехмерными сценами предстоит подражать природе, чтобы добиться настоящего реализма. Присмотритесь к тому, как выглядят тени в вашей комнате. По мере удаления от предмета тень размывается и постепенно исчезает. Начинающие художники часто забывают об этом, и нарисованные ими тени выглядят слишком густыми и неестественными. Создавая тень, необходимо помнить, что самая темная ее часть находится на небольшом расстоянии от границы, разделяющей объект и его тень (рис. 14.67).
Создание теней По умолчанию источники света в программе Maya не создают теней, поскольку для расчета теней требуется значительное время. Вы должны самостоятельно указать источники, создающие их. Чтобы увидеть тени при визуализации, потребуется активировать их не только для
Рис. 14.68. Тень на основе карт глубины
Рис. 14.66. Тени позволяют зрительно привязывать объекты к поверхности
Рис. 14.69. Тень на основе трассировки лучей
Рис. 14.67. Самая темная часть тени располагается на небольшом расстоянии от границы объекта, рядом с основанием тени
источников света, но и для объектов. Объект не будет отбрасывать тень, даже если включены тени для источников света. Это предоставляет пользователям Maya значительную свободу при работе с тенями. В Maya существует два типа теней: тень на основе карт глубины (depth shadow map) – в дальнейшем глубинная тень (рис. 14.68) и тень на основе трассировки лучей – далее трассированная тень (см. рис. 14.69). Оба метода позволяют создавать реалистичные тени, однако при использовании трассировки лучей можно получить более естественную тень, затратив меньше усилий на ее создание. Однако визуализация трассированных теней занимает больше времени, поэтому выбор метода остается на ваше усмотрение. Здесь необходимо придерживаться золотой середины и получить максимально реалистичную тень, затратив минимум времени на ее визуализацию. Карты глубины позволяют получить достаточно реалистичную тень без больших затрат времени на визуализацию. На этапе визуализации программа создает карту глубины, в которой содержится информация о том, насколько далеко расположены объекты от источников света и друг от друга. Карта представляет собой файл изображения канала глубины, созданный при визуализации вида от источника света. На основе этой информации Maya определяет, на какие поверхности падает свет, а какие остаются в тени. Иными словами, глубинная тень создана заранее и не требует повторных расчетов, а ее изображение накладывается на объекты сцены непосредственно перед визуализацией. Изображение заменяет реальную тень, экономя время, необходимое для расчета настоящей тени. При многократном использовании карт глубины запас сэкономленного времени становится весьма ощутимым.
Имитация теней 409
408 Создание освещения Трассированные тени позволяют создать великолепные, реалистичные изображения, которые вы не сможете получить при использовании глубинных теней. Примером может послужить прозрачная тень, которую отбрасывает полупрозрачный объект (рис. 14.70). Однако трассированные тени имеют некоторые недостатки. Например, при визуализации с использованием IPR (интерактивного фотореалистичного визуализатора) они не отображаются (см. главу 15), и вы увидите их только в финальном визуализированном изображении. Это еще одно следствие невысокой скорости визуализации трассированных теней, поэтому визуализатор IPR следует применять только при работе с глубинными тенями. Глубинные тени, которые используются для любого источника света, кроме подсветки, выглядят достаточно реалистично, и при этом их визуализация не занимает много времени.
Рис. 14.72. Щелкните по образцу цвета в поле Shadow Color, чтобы открыть окно Color Chooser
Рис. 14.70. Глубинная тень не позволяет передать прозрачность объекта (вверху), чего нельзя сказать о тени с трассировкой лучей (внизу)
Рис. 14.73. Отметьте флажок Casts Shadows в разделе Render Stats окна Attribute Editor
Создание глубинной тени 1. Выделите источник света, от которого требуется создать тень. 2. Откройте окно Attribute Editor. 3. Щелкните по стрелке рядом с заголовком Shadows (Тени), чтобы открыть список опций для работы с тенями. 4. Отметьте флажок Use Depth Map Shadows (Использовать глубинные тени) под заголовком Depth Shadow Map Attributes (Атрибуты глубинной тени) – рис. 14.71.
Рис. 14.71. Отметьте флажок Use Depth Map Shadows
Рис. 14.74. Сцена с использованием глубинной тени после визуализации
5. Чтобы открыть окно Color Chooser (Выбор цвета), в разделе Shadows (над разделом Depth Map Shadow Attributes) щелкните по образцу цвета в поле Shadow Color (Цвет тени) – рис. 14.72. 6. В окне Color Chooser выберите нужный цвет щелчком мыши. 7. Нажмите кнопку Accept, чтобы применить цвет. 8. Выделите поверхность, которая должна отбрасывать тени. 9. Убедитесь в том, что в разделе Render Stats (Параметры визуализации) редактора Attribute Editor для поверхности отмечен флажок Cast Shadows (Отбрасывать тени) – см. рис. 14.73. Он устанавливается по умолчанию. 10. В контекстном меню верхней части Hotbox выберите опцию Hypershade/ Render/Persp, чтобы разделить экран на три рабочих окна. 11. Выберите в окне Render View пункты меню Render Render persp, чтобы выполнить визуализацию сцены в окне Perspective. После визуализации вы увидите созданную вами глубинную тень (рис. 14.74).
Имитация теней 411
410 Создание освещения Предварительный просмотр глубинной тени 1. Продолжая выполнять предыдущее задание («Создание глубинной тени»), щелкните указателем мыши в окне persp. Голубой квадрат в окне Perspective показывает, что окно активно. 2. Нажмите клавишу 5, чтобы переключиться в режим Shaded. 3. Нажмите клавишу 7, чтобы включить опцию Use All Lights в окне Perspective. 4. В меню выберите пункты Lighting Shadows, чтобы отобразить глубинные тени (рис. 14.75). Теперь можно двигать камеру и проигрывать анимацию, и с большой долей вероятности итоговое освещение будет походить на то, которое вы увидите (рис. 14.76). Если в освещении задано трассирование тени, то при просмотре тени отображаться не будут. 5. Выберите пункты меню Shading High Quality Rendering (рис. 14.77). Общее качество затенения и особенно краев теней должно значительно улучшиться, давая еще более точное представление об окончательном результате (рис. 14.78).
Атрибуты глубинной тени
Рис. 14.79. Если разрешение карты теней слишком низкое, на границах тени произойдет дискретизация Рис. 14.76. Полученные глубинные тени дают хорошее представление о том, каким будет результат визуализации
Рис. 14.77. Выберите пункты меню Shading High Quality Rendering, чтобы отобразить глубинные тени
Рис. 14.75 Выберите пункты меню Lighting Shadows, чтобы отобразить глубинные тени Рис. 14.78. Общее качество затенения, особенно краев глубинных теней, улучшается
Рис. 14.80. Атрибут Dmap Filter Size контролирует сглаженность границ тени
Dmap Resolution (Разрешение карты глубины) определяет разрешение карты глубины. Если разрешение слишком низкое, на границах тени произойдет дискретизация (рис. 14.79). Рекомендуется выбрать минимально возможную установку для этого атрибута, которая позволяет получить приемлемое качество, поскольку увеличение его значения отрицательно скажется на скорости визуализации; Dmap Filter Size (Размер фильтра карты глубины) позволяет управлять размытостью или мягкостью границ тени (рис. 14.80). Чтобы сэкономить время, не присваивайте этому атрибуту значение, превышающее 3; Dmap Bias (Смещение карты глубины) задает смещение тени относительно объекта, который ее отбрасывает. Обычно используется принимаемое по умолчанию значение этого атрибута за исключением следующих случаев: – если тень отделена от поверхности, вам следует постепенно уменьшить значение атрибута Dmap Bias, пока тень не будет выглядеть естественно; – если на освещенных поверхностях появляются темные пятна, необходимо постепенно увеличить значение атрибута Dmap Bias, пока пятна не исчезнут. Трассированные тени позволяют создавать очень реалистичные изображения, однако при их использовании скорость визуализации существенно падает.
Имитация теней 413
412 Создание освещения Прежде чем приступить к созданию трассированных теней, вам следует проверить три условия: в редакторе Attribute Editor для источника света должен быть отмечен флажок Use Raytraced Shadows (Использовать трассированные тени); в разделе Render Stats редактора Attribute Editor для каждого объекта, который будет отбрасывать тень, должна быть выбрана опция Cast Shadows; в разделе Raytracing Quality (Качество трассировки лучей) в окне Render Globals (Общие установки визуализации) следует отметить флажок Raytracing (Трассировка лучей) – см. главу 15.
Создание трассированной тени
8. Чтобы открыть панель Render Globals (рис. 14.82), выберите пункты меню Window Rendering Editors Render Globals (Windows), Window Render Globals (Macintosh) или елкните по кнопке Render Globals в окне Render View. 9. В разделе Raytracing Quality на панели Render Globals отметьте флажок Raytracing (рис. 14.83). 10. На панели Render View выберите пункты меню Render Render persp, чтобы выполнить визуализацию сцены в окне Perspective.
Рис. 14.81. В окне Attribute Editor для источника света установите флажок Use Ray Trace Shadows
Рис. 14.82. Чтобы открыть панель Render Globals, выберите пункты меню Window Rendering Editors Render Globals
1. Выделите источник света, от которого требуется получить тень. 2. В разделе Raytrace Shadow Attributes (Атрибуты трассированной тени) в окне Attribute Editor для источника света установите флажок Use Ray Trace Shadows (Использовать трассированные тени) – рис. 14.81. 3. В разделе Shadows (над разделом Raytraced Shadows Attributes) щелкните по образцу цвета в поле Shadow Color, чтобы открыть окно Color Chooser. 4. В окне Color Chooser щелчком мыши выберите нужный цвет. 5. Нажмите кнопку Accept, чтобы применить цвет. 6. Выделите поверхность, которая должна отбрасывать тени. 7. Установите флажок Cast Shadows в разделе Render Stats редактора Attribute Editor для поверхности. Рис. 14.83. На панели Render Globals отметьте флажок Raytracing
414 Создание освещения Атрибуты трассированной тени
Light Radius (Радиус света) задает плавность границы тени, используя размер источника света. Например, меньший по размерам источник света создает более резкие тени, а больший – плавные тени (рис. 14.84); Shadow Rays (Теневые лучи) определяет величину зернистости, которая проявляется вдоль границ тени (рис. 14.85). При увеличении этого атрибута уменьшается скорость визуализации, поэтому рекомендуется устанавливать минимальное значение, позволяющее сохранить качество изображения; Ray Depth Limit (Предел глубины луча) определяет, должен ли объект отбросить тень, если свет отражается от нескольких зеркальных поверхностей до попадания на объект.
Рис. 14.84. Трассированная тень, которая задается по умолчанию (вверху), и тень с использованием атрибута Light Radius (внизу)
Рис. 14.85. Атрибут Shadow Rays определяет сглаженность тени
Тонировщики, материалы и привязка Все объекты Maya при моделировании окрашены в серый цвет. Чтобы задать для объекта другой цвет или наложить текстурную карту (изображение, которое наносится на поверхность), следует создать для него тонировщик (shader). Присмотритесь к окружающим вас предметам. Даже если все они будут окрашены в один и тот же цвет, вы всегда отличите мех от шелка или дерево от стекла. Maya позволяет создавать очень реалистичные модели при помощи самых разнообразных тонировщиков. Например, можно сделать поверхность хромированной (блестящей и отражающей) или выточенной из камня (с вмятинами и без бликов) – рис. 15.1. Блестящие и матовые поверхности неодинаково отражают свет. В Maya материал – это часть тонировщика, которая контролирует блеск и цвет объекта (в дополнение к ряду других атрибутов). Существует несколько типов материалов, и все они по-разному просчитывают отражение
15
Рис. 15.1. Два объекта имеют одинаковую форму и цвет. Однако для них были созданы различные тонировщики, поэтому кажется, что предметы изготовлены из разных веществ
Управление текстурами и тонировщиками в редакторе Hypershade 417
416 Тонировщики, материалы и привязка света. Одним из важных факторов, определяющих отражение света от поверхности, является зеркальный блик. Зеркальный блик представляет собой область поверхности, которая кажется самой яркой, так как отражает свет. При работе с зеркальным бликом вы можете добиться того, что объекты будут выглядеть выполненными из разных субстанций. Например, глазное яблоко имеет очень маленький и плотный зеркальный блик, а пластмассовая поверхность – широкий и расплывчатый (рис. 15.2). Включенная электрическая лампочка не блестит и не отражает свет, поэтому ее модель не будет реалистичной, если просто окрасить ее в желтый цвет. Однако при добавлении к тонировщику лампочки атрибута накаливания (incandescence) создастся впечатление, что она является источником света. Кроме того, можно окружить объект свечением (glow). Комбинирование накаливания и свечения позволяет создать очень удачную имитацию (рис. 15.3). Привязка определяет то, как текстура расположена на поверхности. Некоторые поверхности, такие как NURBS, имеют встроенные координаты управляющих вершин для текстур. У поверхностей разделения и полигональных примитивов также имеются координаты управляющих вершин, но если эти типы поверхностей имеют сложную структуру, вам необходимо вручную редактировать привязку управляющих вершин. Редактирование в основном производится в редакторе управляющих вершин UV Editor, но в Maya имеются и специальные инструменты привязки для полигонов и разделений.
Управление текстурами и тонировщиками в редакторе Hypershade
Рис. 15.2. Свет отражается по-разному в зависимости от того, какой тип материала использован для поверхности
Рис. 15.3. Для материала модели задано накаливание и свечение
Рис. 15.4. Это базовые материалы, доступные в окне Hypershade
Рис. 15.5. Сфера слева имеет фрактальную текстуру, сфера справа – растровую
В окне Hypershade вы будете выполнять большую часть работы с тонировщиками. Здесь находятся материалы, текстуры, источники света и утилиты. Материал представляет собой узел, который включает большинство средств управления внешним видом поверхности. Набор средств зависит от использованного при создании модели материала (рис. 15.4). Текстура представляет собой изображение, которое чаще всего накладывается на цвет или рельеф объекта. При наложении на рельеф поверхность объекта будет неровной. Значения яркости (по черно-белой шкале) отдельных точек изображения определяют высоту рельефа. С помощью текстуры также можно определить, какие части поверхности должны быть блестящими или прозрачными, а также осветить отдельные области. В Maya существует две категории текстур: растровое изображение и процедурная текстура. В качестве растровой текстуры можно использовать простые изображения, например, отсканированную фотографию. Процедурная текстура также является изображением, однако рассчитывается с помощью математической формулы. Примером процедурной текстуры является фрактал (рис. 15.5). Осталось рассмотреть еще один тип узлов, доступных в окне Hypershade, – утилиты. Утилиты Maya по-разному влияют на тонировщики. В качестве примера обычных утилит можно привести утилиту bumb2d, которая позволяет создавать рельеф, и утилиту 2d placement, которая используется для размещения текстуры на поверхности.
Управление текстурами и тонировщиками в редакторе Hypershade 419
418 Тонировщики, материалы и привязка
Использование Hypershade Окно Hypershade разделено на три области: панели Create и Bins (Корзины), вкладки Hypershade и вкладки рабочей области. Чтобы использовать панель Create, щелкните по черному треугольнику под вкладкой Create и выберите в выпадающем меню пункт Create Maya Nodes (Создать узлы Maya). Появится длинный список всевозможных узлов, которые вы можете использовать для создания тонировщиков (рис. 15.6). Узлы, которые будут нужны вам чаще других, – Surface (Поверхность), 2D Textures (2D-текстуры), 3D Textures (3D-текстуры) и Other Textures (Прочие текстуры). Отобразить материалы выделенных объектов
Рядом с вкладкой Create находится вкладка Bins. Щелкните по ней, чтобы открыть одноименную панель. Здесь можно создавать виртуальные папки для хранения тонировщиков вашего проекта и других узлов. При щелчке по корзине тонировщики или узлы, которые в ней хранятся, появятся в верхней части окна Hypeshade на соответствующей вкладке (рис. 15.7). Использование корзин для хранения тонировщиков значительно облегчает работу с проектами, требующими их использования во множестве. На вкладках Hypershade находятся все созданные вами материалы, текстуры, утилиты, источники света и камеры. Если вы использовали в сцене какой-то из этих узлов, он отобразится
Рис. 15.7. Панель Bins позволяет хранить тонировщики и другие типы узлов в корзинах
Показывать верхние и нижние вкладки
Перестроить граф Включить/выключить Очистить панель Create граф
Показать входящие и исходящие соединения
Показывать только нижние вкладки Показывать только верхние вкладки
Рис. 15.8. Вкладки Hypershade предоставляют доступ к различным узлам, разделенным по категориям
Рис. 15.6. Панель Create, располагающаяся в левой части окна Hypershade, позволяет создавать узлы различных типов
Рис. 15.9. Рабочая область позволяет создавать связи между различными узлами. Здесь текстура ramp соединена с цветом материала Blinn
на соответствующей вкладке. Чтобы убедиться в этом, щелкните по материалу Blinn на панели Create, и он сразу же появится на вкладке Materials (рис. 15.8). Рабочая область позволяет создавать связи между материалами и текстурами. С помощью средней кнопки мыши переместите нужные узлы из вкладок Hypershade в рабочую область, а затем приступайте к созданию связи. Например, попробуйте связать текстуру с цветом материала. Удерживая нажатой среднюю кнопку мыши, перетащите текстуру на материал и выберите пункт Color или Default в появившемся контекстном меню. На рис. 15.9 изображена созданная связь. кнопка Toggle On/Off Create bar (Включить/выключить панель Create) позволяет скрыть или отобразить панель Create. Скрыв панель, вы получаете дополнительное пространство для работы с другими узлами; кнопка Clear Graph (Очистить граф) очищает рабочую область (узлы при этом не удаляются); кнопка Rearrange Graph (Перестроить граф) приводит к исходному виду рабочую область, которая постепенно заполняется по мере создания новых узлов; кнопка Graph Materials on Selected Objects (Отобразить материалы выделенных объектов) позволяет определить, с какими материалами связан конкретный объект. Выделите объект, затем щелкните по этой кнопке, и в рабочей области появятся все узлы, связанные с его материалом;
Управление текстурами и тонировщиками в редакторе Hypershade 421
420 Тонировщики, материалы и привязка
кнопка Show Up and Downstream Connections (Показать исходящие и входящие соединения) показывает список всех узлов, соединенных с выделенным узлом. Выделите материал и щелкните по этой кнопке, чтобы материал и все связанные с ним узлы отобразились в рабочей области; эти кнопки управляют видом окна Hypershade. Слева расположена кнопка Show Top Tabs Only (Показывать только верхние вкладки). В центре находится кнопка Show Bottom Tabs Only (Показывать только нижние вкладки). Справа расположена кнопка Show Top and Bottom Tabs (Показывать верхние и нижние вкладки).
Рис. 15.10 На вкладке Create содержится список разделенных по категориям узлов, которые можно использовать при создании материалов
Рис. 15.13 В диалоговом окне New Bin Name введите имя новой корзины
Рис. 15.14 Корзина с именем MyBin появится под корзиной Master Bin на панели Bin
Создание собственных корзин 1. В меню Window выберите пункты Rendering Editors Hypershade. 2. Щелкните по вкладке Create и раскройте категорию Surface (рис. 15.10). 3. Четыре раза щелкните по пиктограмме Blinn. Четыре тонировщика blinn появятся на рабочей области и на вкладке Materials (рис. 15.11). 4. Щелкните по вкладке Bins, чтобы открыть одноименную панель (рис. 15.12).
5. Щелкните по пиктограмме Create Empty Bin (Создать пустую корзину) в верхней части панели Bins. Появится диалоговое окно New Bin Name (Имя новой корзины) – рис. 15.13. 6. Введите имя новой корзины (MyBin) и нажмите кнопку OK. Новая корзина MyBin появится под корзиной Master Bin (рис. 15.14). 7. Используя среднюю кнопку мыши, перетащите blinn1 в корзину MyBin. 8. Щелкните по корзине MyBin. На вкладке Materials будет изображен только тонировщик blinn1 (рис. 15.15). 9. Щелкните по корзине Master Bin. Все тонировщики появятся на вкладке Materials (рис. 15.16). 10.Выделите тонировщик blinn2, затем щелкните правой кнопкой мыши по корзине MyBin и в выпадающем меню выберите пункт Add Selected (Добавить выделенное) – рис. 15.17.
Рис. 15.15. При выборе корзины MyBin на экране отображается единственный узел, хранящийся в ней, – blinn1
Рис. 15.12. При щелчке по вкладке Bins откроется одноименная панель
Рис. 15.17. Щелкните правой кнопкой мыши по корзине MyBin и выберите пункт Add Selected
Рис. 15.11. Четыре тонировщика blinn отображаются на рабочей области Рис. 15.16. Выбор корзины Master Bin покажет все тонировщики, расположенные на сцене
Управление текстурами и тонировщиками в редакторе Hypershade 423
422 Тонировщики, материалы и привязка 11.Щелкните правой кнопкой мыши по корзине MyBin и выберите пункт Select Content (Выбор содержимого) – рис. 15.18. 12.Выделите тонировщик blinn3, а затем выберите пункт Create Bin, нажав на пиктограмму Selected сверху панели Bins. Появится диалоговое окно New Bin Name. 13.Введите новое имя (MyBin2) и нажмите кнопку OK. Под корзинами Master Bin и MyBin появится новая корзина MyBin2. 14.Щелкните по корзине MyBin2. На вкладке Materials будет отображаться только blinn3 (рис. 15.19). 15.Щелкните по корзине Master Bin. На вкладе Materials будут показаны все тонировщики. 16.Щелкните по пиктограмме Select Unsorted Content (Выбор неотсортированного содержимого) справа от панели Bins. Будут выбраны все тонировщики, не разнесенные по пользовательским корзинам.
Рис. 15.21. В диалоговом окне Create New Tab введите имя новой вкладки Рис. 15.18. Щелкните правой кнопкой мыши по корзине MyBin и выберите пункт Select Content
3. В качестве Tab Type (Тип вкладки) выберите Disk, чтобы отобразить файлы на жестком диске. 4. Щелкните по пиктограмме Folder (Папка) рядом с Root Directory (Корневая директория). Откроется окно Browse for Folder (Найти папку) – рис. 15.22. 5. Выберите папку, которая содержит изображение или другие папки с изображениями, и нажмите кнопку OK (рис. 15.23). Путь к выбранной директории будет показан рядом с Root Directory. 6. Введите имя вкладки (в нашем примере это Universal Images – Универсальные изображения) в поле New Tab Name и нажмите кнопку Apply (рис. 15.24). Новая вкладка появится в верхней части окна Hypershade (рис. 15.25).
Рис. 15.19. При щелчке по корзине MyBin2 отображается тонировщик blinn3
Создание новых вкладок
Рис. 15.22. Для просмотра директории текущего проекта откройте окно Browse for Folder
1. Откройте окно Hypershade, выбрав пункты меню Windows Rendering Editors Hypershade. 2. В меню Tabs выберите пункт Create New Tab (Создать новую вкладку) – рис. 15.20. Появится диалоговое окно Create New Tab (рис. 15.21).
Рис. 15.24. Введите имя в поле New Tab Name
Рис. 15.25. Новая вкладка появится в верхней части окна Hypershade
Рис. 15.20. В окне Hypershade откройте меню Tabs и выберите пункт Create New Tab, чтобы создать вкладку
Рис. 15.23. Выберите папку, которая содержит изображения или другие папки с изображениями
Понятие материалов 425
424 Тонировщики, материалы и привязка 7. Щелкните по одной из вложенных папок в директории с изображениями и нажмите на пиктограмму папки рядом с путем Root Directory. Будут созданы и выведены на экран пиктограммы изображений, хранящихся в данной директории (рис. 15.26).
Понятие материалов Maya предлагает несколько типов материалов, включая Lambert, Blinn, Phong, Layered, Ocean, Ramp и Anisotropic. Уникальные свойства каждого материала позволяют различным образом отражать свет. Например, у материала Lambert нет зеркального блика, поэтому он кажется матовым, а материалы Blinn и Phong выглядят блестящими. Материал Anisotropic тоже блестит, но в отличие от материалов Blinn и Phong он отражает свет неодинаково в разных направлениях (рис. 15.27). Maya также включает два особых материала (Ramp и Layered), о которых будет рассказано далее. Материал Ocean, который воспроизводит динамику жидкостей, будет подробно рассмотрен в главе 16. Свойства материалов (каналы) в Maya можно разделить на следующие основные категории: цвет (color), прозрачность (tranparency), цвет подсветки (ambient color), накаливание (incandescence) и рельеф (bump). Допускается задавать изображения для любых каналов, и большинству из них может быть назначен цвет или определенная яркость (для управления каналом важен не цвет, а яркость текстуры по черно-белой шкале). В редакторе Attribute Editor (Редактор атрибутов) находятся все атрибуты соответствующего материала (рис. 15.28).
Общие атрибуты материалов Рассмотрим атрибуты, находящиеся в списке Common Material Attributes (Общие свойства материалов), более подробно:
Рис. 15.26. Щелкните по папке на новой вкладке, чтобы просмотреть пиктограммы изображений, хранящихся на жестком диске
Рис. 15.28. Окно Attribute Editor для материала Blinn. Параметры, задаваемые в этом окне, позволяют определить внешний вид поверхности
Рис. 15.27. Для каждой модели был задан различный тип материала (слева направо): Anisotropic, Blinn, Lambert, Phong и Phong E
Рис. 15.29. Узел в нижнем правом углу представляет собой текстуру, которая была привязана к плоскости как карта прозрачности. Участки изображения, окрашенные в белый цвет, стали прозрачными
Color (Цвет) определяет цвет объекта. Можно выбрать цвет в окне Color Chooser или привязать изображение к цвету; Transparency (Прозрачность) позволяет сделать поверхность частично прозрачной. С помощью ползунка можно увеличить или уменьшить прозрачность поверхности или привязать изображение к данному атрибуту, чтобы сделать прозрачной (или частично прозрачной) только часть поверхности. Для этого атрибута важна только яркость изображения. Белый цвет соответствует прозрачным участкам поверхности, а черный – непрозрачным (рис. 15.29); Ambient color (Подсветка) позволяет придать свечение основному цвету материала. Передвигая ползунок, можно ровно осветить всю поверхность или привязать изображение к подсветке, чтобы сделать ярче только определенные участки поверхности; Incandescence (Накаливание) заставляет материал светиться. Как правило, объекты сцены видимы только в том случае, если освещены источником света. Однако если для материала объекта задан ненулевой параметр Incandescence, то объект будет визуализирован даже в том случае, если в сцене нет источников света;
Понятие материалов 427
426 Тонировщики, материалы и привязка
8. При помощи средней кнопки мыши перетащите материал из окна Hypershade на поверхность; или выделите поверхность, затем щелкните по материалу правой кнопкой мыши. В появившемся меню Marking выберите пункт Assign initialShadingGroup to Selection (Назначить материал initialShadingGroup выделенному объекту) – рис. 15.34.
Bump mapping (Наложение рельефа) определяет неровности поверхности. Чтобы увидеть воздействие данного атрибута, необходимо связать с ним изображение. Белые участки изображения соответствуют самым высоким неровностям, а темные – самым низким; однородное серое изображение не будет создавать рельеф (рис. 15.30).
Изменение цвета объекта 1. Выберите в меню Window пункты Rendering Editors Hypershade. 2. В выпадающем меню панели Create щелкните по пункту Create Maya Nodes (если он еще не выбран). 3. Нажмите кнопку Lambert (рис. 15.31). В рабочей области (нижней правой половине окна) появится новый материал. 4. Дважды щелкните по новому материалу, чтобы открыть для него окно Attribute Editor (рис. 15.32). 5. Щелните по значку рядом с полем Color, чтобы открыть окно Color Chooser (рис. 15.33). 6. Выберите цвет из основных цветов в верхней части окна или из шестиугольной палитры. 7. Щелкните по кнопке Accept, чтобы закрыть окно Color Chooser.
Рис. 15.30. Узел в нижнем правом углу представляет собой текстуру, которая определяет рельеф плоскости. Белые области соответствуют высоким точкам, темные – низким. Чтобы увидеть результаты наложения рельефа, необходимо выполнить визуализацию сцены Рис. 15.32. Окно Attribute Editor для материала, созданного в редакторе Hypershade
Если вы собираетесь назначить поверхности тонировщик и перетаскиваете его из окна Hypershade, убедитесь, что вы выполняете перемещение в тонированном режиме. Если установлен каркасный режим, вам придется с максимальной точностью поместить тонировщик на изопарм или ребро поверхности, что достаточно трудно сделать.
Рис. 15.31. Это часть окна Hypershade. При нажатии кнопки Lambert появляется новый узел материала под названием lambert2
Рис. 15.34. Щелчком правой кнопки мыши откройте меню Marking и назначьте материал выделенной поверхности. Контекстное меню также рекомендуется использовать при одновременном применении тонировщика к нескольким поверхностям
Рис. 15.33. Выберите цвет из основных цветов в верхней части окна или из шестиугольной палитры
Понятие материалов 429
428 Тонировщики, материалы и привязка
Назначение изображения из библиотеки Shader Library объекту NURBS
Текстурирование поверхностей NURBS Поверхность NURBS всегда имеет четыре стороны. Сфера не является исключением – она ограничена сторонами сверху и снизу, а две другие стороны сходятся на меридиане. Кроме того, поверхности NURBS характеризуются направлениями U и V. При работе в плоскости значения координаты по направлению U увеличивается слева направо, а по направлению V – снизу вверх. Это значит, что нижний левый угол является начальной точкой (рис. 15.35). Любое изображение, используемое в качестве текстуры, также является четырехсторонним, поскольку файлы изображения имеют форму квадрата или прямоугольника. Левый нижний угол изображения помещается в начальную точку поверхности. Нижняя часть изображения привязывается к поверхности в направлении U, а левая часть – в направлении V (рис. 15.36). После размещения изображения на поверхности допускается перемещать, вращать и повторять его. Если требуется поместить одно изображение на несколько поверхностей, следует использовать проецирование. При этом изображение как бы проецируется на поверхность из проектора слайдов. В Maya есть готовые наборы текстур, но можно использовать и другие изображения в формате JPEG, TIFF и IFF (формат изображений Maya).
Рис. 15.35. На этой плоскости отображены контрольные точки, которые позволяют определить направление U и V. Квадрат в левом нижнем углу является начальной точкой, координата по направлению U возрастает вправо от нее, а по направлению V – вверх. Это значит, что ось U направлена слева направо, а V – снизу вверх
Рис. 15.37. Текстуры библиотеки Shader Library можно многократно повторять, закрашивая всю поверхность, и между ними не будет переходов, то есть образуется сплошной узор
Рис. 15.38. Когда вы связываете текстуру и материал, появляется контекстное меню, в котором вы можете выбрать, с каким атрибутом материала должна быть связана текстура Рис. 15.36. Одно и то же изображение привязано к разным поверхностям NURBS. Изображение оборачивается вокруг поверхности, а его ориентация зависит от направления осей U и V
Рис. 15.39. На поверхности появилась текстура, имитирующая кирпичную кладку. Она видна только в режиме показа текстур
1. Выполните команды меню Create NURBS Primitive Plane (Создать Примитив NURBS Плоскость). 2. В меню Panel любого рабочего окна выберите пункты меню Panel Panel Hypershade (Панель Панель Окно Hypershade). 3. Щелкните по кнопке Lambert на панели Create окна Hypershade, чтобы создать новый материал. Материал Lambert появится в окне Hypershade. 4. Назначьте материал плоскости, перетащив его с помощью средней кнопки мыши на поверхность. 5. Перейдите на вкладку Shader Library (Библиотека тонировщиков) в нижней части окна Hypershade. 6. Щелкните по папке Textures в нижней части окна Hypershade. Справа появится несколько текстур (рис. 15.37). 7. С помощью средней кнопки мыши перетащите текстуру, имитирующую кирпичную кладку, на новый материал Lambert (он называется lambert2), который находится в верхней части окна Hypershade. 8. Выберите в открывшемся контекстном меню пункт Color (Цвет) – рис. 15.38. В узле Lambert появится текстура, имитирующая кирпичную кладку. Текстура будет связана с цветом материала Lambert. 9. Щелкните в окне вида Perspective, затем нажмите клавишу 6, чтобы перейти в режим показа текстур. Текстура, имитирующая кирпичную кладку, отображается на поверхности (рис. 15.39).
Понятие материалов 431
430 Тонировщики, материалы и привязка Даже если у вас нет компьютерной мыши с тремя кнопками, вы можете пользоваться меню Marking, хотя и с некоторыми затруднениями. После выполнения шага 7 в предыдущем примере щелкните мышью по текстуре кирпича, чтобы она появилась на рабочей области. Щелкнув по треугольнику в правом нижнем углу пиктограммы текстуры кирпича, выберите в появившемся меню Marking пункт outColor outColor (рис. 15.40A). Между курсором и текстурой появится соединительная линия (рис. 15.40B). Затем щелкните по треугольнику в левом нижнем углу тонировщика lambert2 и в открывшемся меню Marking выберите цвет (рис. 15.40C). Текстура кирпича появится на узле Lambert, показывая, что она соединена с цветовым каналом узла (рис. 15.40D).
7. Щелкните по кнопке просмотра рядом с полем Image Name (Название изображения) . 8. Откройте файл с изображением. 9. С помощью средней кнопки мыши перетащите созданный материал Lambert из окна Hypershade на нужную поверхность. 10. Щелкните в окне вида Perspective, затем нажмите клавишу 6, чтобы перейти в режим отображения текстур. Теперь выбранное вами изображение привязано к каналу цвета поверхности (рис. 15.43).
A
B
Рис. 15.41. Щелкните по значку Map, чтобы назначить растровое изображение каналу цвета
Создание карты изображений для объекта NURBS 1. Выполните команды Create NURBS Primitive Plane. 2. Откройте окно Hypershade. 3. Щелкните по кнопке Lambert, чтобы создать новый материал. Новый материал появится в окне Hypershade. 4. Дважды щелкните по материалу Lambert, чтобы открыть окно Attribute Editor. 5. Щелкните по значку Map (Карта), который находится справа от ползунка Color (рис. 15.41). Откроется окно Create Render Node (Создать узел визуализации). 6. Убедитесь в том, что в разделе 2D Textures выбран пункт Normal, затем нажмите кнопку File (Файл) в окне Create Render Node (рис. 15.42). Откроется окно Attribute Editor для узла файла.
C
Рис. 15.43. Изображение привязано к каналу цвета поверхности
D Рис. 15.40 (A-D). Щелкните по треугольнику в правом нижнем углу текстуры кирпича и в появившемся меню выберите пункт outColor. Между курсором и текстурой появится соединительная линия, показывающая, что текстура готова к присоединению (B). Выберите цвет, щелкнув правой кнопкой мыши в левом нижнем углу тонировщика lambert2 (C). Пиктограмма тонировщика Lambert обновится, показывая, что текстура кирпича соединена с цветовым каналом (D)
Рис. 15.42. Выберите в окне Create Render Node текстуру, которую требуется привязать к атрибуту материала
Понятие материалов 433
432 Тонировщики, материалы и привязка Аналогичным образом растровое изображение можно назначить любому атрибуту материала. Чтобы назначить изображение, перетащите текстуру на название атрибута в окне Attribute Editor (рис. 15.44). Вы можете быстро отыскать свои текстуры, поместив их в исходную папку с изображениями для вашего проекта. Maya по умолчанию открывает эту директорию каждый раз, когда вы пользуетесь диалоговым окном Open, чтобы назначить файл изображения.
Изображение, применяемое в качестве текстуры для поверхности NURBS, может быть расположено не так, как вы это задумали. Чтобы повернуть его, переместить или масштабировать, воспользуйтесь узлом place2dTexture
Рис. 15.44. При помощи средней кнопки мыши перетащите текстуру из окна Hypershade на канал цвета материала в окне Attribute Editor
Рис. 15.47. Перетаскивая рамку за углы, вы заставите текстуру вращаться
Рис. 15.45. В рабочей области окна Hypershade отображаются все узлы, которые связаны с данным материалом
Использование узла place2dTexture 1. Привяжите текстуру с изображением кирпичной кладки к плоскости NURBS, как описывалось ранее в разделе «Назначение изображения из библиотеки Shader Library объекту NURBS». 2. Выделите поверхность. 3. Щелкните по кнопке Graph Materials on Selected Objects (Показать материалы выделенных объектов) в окне Hypershade. В рабочей области окна Hypershade отобразятся все соединения тонировщика (рис. 15.45). 4. Дважды щелкните по узлу place2dTexture в левой части рабочей области, чтобы открыть для него окно Attribute Editor.
Рис. 15.48. Параметр Repeat UV узла place2dTexture определяет повторение текстуры на поверхности
Рис. 15.46. Инструмент интерактивного размещения позволяет изменить положение текстуры на поверхности
5. Нажмите кнопку Interactive Placement (Интерактивное размещение) в окне Attribute Editor для узла place2dTexture. На поверхности отобразится красная квадратная рамка с точкой в центре. 6. Щелкните по центральной точке и, удерживая нажатой среднюю кнопку мыши, перетащите рамку по поверхности. Текстура переместится в этом же направлении (рис. 15.46). 7. Перетаскивая рамку за углы при помощи средней кнопки мыши, вы заставите текстуру вращаться (рис. 15.47). 8. В окне Attribute Editor введите значение 4 в первое поле Repeat UV (Повторить по осям U и V) и нажмите клавишу Enter. Текстура кирпича повторится четыре раза в направлении U. Значение первого поля определяет повторение рисунка по оси U, а второго – по оси V. 9. Укажите во втором поле Repeat UV значение 4 и нажмите клавишу Enter. Теперь текстура будет повторяться четыре раза в направлении V (рис. 15.48). Процедурные текстуры рассчитываются математическими алгоритмами, в отличие от карты изображения, которая создается на основе растровой картинки. Наиболее часто в сценах Maya используется текстура Ramp, которая похожа на обычный градиент.
Назначение поверхности текстуры Ramp 1. Выполните команды Create NURBS Primitive Sphere. 2. Перейдите в окно Channel Box, введите значение 90 в поле Rotate X (Повернуть по оси X) и нажмите клавишу Enter.
Понятие материалов 435
434 Тонировщики, материалы и привязка 3. Щелкните по кнопке Phong E на панели Create окна Hypershade. Материал Phong E появится в рабочей области. 4. В окне Hypershade дважды щелкните по материалу Phong E, чтобы открыть для него окно Attribute Editor. 5. В окне Attribut Editor нажмите кнопку рядом с ползунком Color. ОтMap кроется окно Create Render Node. 6. Щелкните по кнопке Ramp (рис. 15.49), чтобы открыть окно Attribute Editor для текстуры Ramp. Узел текстуры появится в окне Hypershade. 7. При помощи средней кнопки мыши перетащите материал Phong E из окна Hypershade на сферу, чтобы назначить ей тонировщик. Если материал Phong E не виден в окне, щелкните по рабочей области окна Hypershade и нажмите клавишу a. Все узлы будут показаны в рабочей области. 8. Щелкните в окне вида Perspective, затем нажмите клавишу 6, чтобы оценить результат (рис. 15.50).
Рис. 15.49. Щелкните по кнопке Ramp в окне Create Render Node, чтобы создать и привязать к материалу новую текстуру Ramp
Рис. 15.52. Создайте новый индикатор положения цвета. Его можно удалить, щелкнув по перечеркнутому квадратику в правой части градиента
Создание модели глаза на основе текстуры Ramp 1. Создайте материал с текстурой Ramp и назначьте его сфере, как было описано в предыдущем разделе. 2. Дважды щелкните по текстуре Ramp в окне Hypershade, чтобы открыть для нее окно Attribute Editor. 3. В выпадающем списке Type окна Attribute Editor измените тип текстуры на U Ramp. 4. Щелкните по круглому индикатору верхнего положения цвета и немного сдвиньте его вниз (рис. 15.51).
Рис. 15.51. Индикаторы положения цвета в окне Attribute Editor позволяют управлять внешним видом градиента, задаваемого текстурой Ramp. Они определяют положение цвета внутри градиента
5. Переместите ползунок Selected Color (Выделенный цвет) налево до конца, чтобы изменить выбранный цвет на черный. 6. Щелкните по индикатору среднего положения цвета (по умолчанию он попадает на зеленый цвет спектра) и переместите его вплотную к индикатору верхнего положения цвета. 7. Щелкните в верхней части градиента, как показано на рис. 15.52. Появится новый индикатор положения цвета. 8. Сдвигайте вверх индикатор нижнего положения цвета, пока он не достигнет созданного вами индикатора. 9. Не снимая выделения с индикатора нижнего положения цвета, щелкните по образцу цвета рядом с ползунком Selected Color. 10. Щелкните по образцу белого цвета в верхней части окна Color Chooser (рис. 15.53). Сфера превратится в глаз (рис. 15.54).
Рис. 15.50. Атрибут цвета этой сферы соединен с текстурой Ramp
Рис. 15.54. К глазу были добавлены зрачок и радужная оболочка Рис. 15.53. В окне Color Chooser выбран образец белого цвета. Поэтому выделенный индикатор положения цвета и градиент в нижней части приобрели белый цвет
Понятие материалов 437
436 Тонировщики, материалы и привязка Помимо двумерной текстуры Ramp в новой версии Maya имеется одноименный тонировщик. Тонировщик материала Ramp (как и текстура Ramp) используется для создания более сложных текстур, включая рисованное тонирование поверхностей, которое позволяет получить двумерный эффект, а также более тонкие градиентные переходы. Новый тонировщик Ramp также может имитировать текстуру глаза, который был создан в предыдущем разделе.
Рис. 15.57. Текстура Ramp будет оставаться градиентом до тех пор, пока вы не присвоите параметру Interpolation значение None
Создание простого эффекта рисованной поверхности 1. Выберите в меню Create пункты NURBS Primitive Sphere. 2. Откройте окно Hypershade и в меню Create Maya Nodes щелкните по кнопке Ramp Shader (Тонировщик Ramp) в разделе Surface. Будет создан тонировщик Ramp (рис. 15.55). 3. В окне Hypershade дважды щелкните по материалу Ramp Shader, чтобы открыть для него окно Attribute Editor. 4. Щелкните по образцу цвета Selected Color, чтобы открыть окно Color Chooser. 5. Выберите цвет для теневой области сферы. 6. Нажмите кнопку Accept, чтобы закрыть окно Color Chooser. 7. Щелкните по градиенту Color над ползунком Selected Color. К ползунку будет добавлен новый цвет (рис. 15.56). 8. Щелкните по образцу цвета Selected Color и присвойте параметру Value (V) значение 1 в окне Color Chooser. 9. Нажмите кнопку Accept, чтобы закрыть окно Color Chooser.
Рис. 15.55 Тонировщик Ramp можно создать из меню Create Maya Nodes
Рис. 15.58. Чтобы задать для ползунка Color только два цвета, без градиентов, присвойте параметру Interpolation значение None
10. В выпадающем списке Interpolation (Интерполяция) выберите значение None (Нет). Установка None изменяет градиент с двумя цветами на два однородных цвета без градиента (рис. 15.57). 11. В поле Color Input (Ввод цвета) установите значение Brightness (Яркость). Это позволит сделать сферу визуально плоской и придать ей «мультяшный» вид. 12. Создайте два цвета на градиенте справа от поля Selected Color в разделе Incandescence. Сделайте левый цвет белым, а правый – черным (рис. 15.58). 13. Присвойте параметру Incandescence Interpolation значение None. 14. После назначения материала создается впечатление, что сфера нарисована на белой бумаге, а затем вырезана (см. рис. 15.59). При создании градиентов рекомендуется использовать различные оттенки одного цвета. Это позволяет подчеркнуть форму объекта, поскольку человеческий глаз воспринимает оттенки одного цвета как составляющие одной поверхности, а несколько цветов зрительно разбивают поверхность.
Рис. 15.56. Щелчок по градиенту Color добавляет новый цвет
Рис. 15.59. Визуализация в «мультяшном» стиле
Понятие материалов 439
438 Тонировщики, материалы и привязка
12. Щелкните по кнопке Redo Previous Render (Повторить предыдущую визуализацию) в окне Render View. Сфера приобрела красный и синий цвета, при этом красный цвет просвечивает сквозь синий, поскольку фрактальное изображение было добавлено к каналу прозрачности (рис. 15.64).
Создание многослойного тонировщика 1. Выполните команды Create NURBS Primitive Sphere. 2. Создайте два материала Blinn. Задайте для одного красный цвет, а для другого – синий. 3. Дважды щелкните по синему материалу Blinn в окне Hypershade. рядом с пол4. Нажмите кнопку Map зунком Transparency (Прозрачность). 5. Щелкните по кнопке Fractal (Фрактал) на вкладке Textures окна Create Render Node (рис. 15.41). 6. В меню Create Maya Nodes окна Hypershade щелкните по кнопке Layered Shader (Многослойный тонировщик) в разделе Surface (рис. 15.61). 7. В окне Hypershade дважды щелкните по материалу Layered Shader, чтобы открыть для него окно Attribute Editor. 8. При помощи средней кнопки мыши перетащите красный и синий материалы из окна Hypershade в красную рамку раздела Layered Shader Attributes (Атрибуты многослойного тонировщика) – рис. 15.43. 9. Щелкните по перечеркнутому значку под первым зеленым квадратом, чтобы удалить квадрат (рис. 15.44). В красной рамке Layered Shader Attributes остались два квадрата. 10. Примените многослойный тонировщик к сфере. 11. Выберите в меню Window пункты Rendering Editors Render View.
Рис. 15.62. С помощью мыши можно перетаскивать обычные тонировщики на многослойные и таким образом создавать многослойные эффекты, используя прозрачность каждого слоя
Чтобы отобразить нижний тонировщик, задайте прозрачность для всех верхних тонировщиков.
Назначение карты рельефа Рис. 15.63 Перечеркнутый значок под каждым квадратом используется для удаления простых тонировщиков из состава многослойного Рис. 15.60. К каналу Transparency добавьте фрактальное изображение, чтобы видеть красный тонировщик сквозь синий
1. Выполните команды Create NURBS Primitives Plane. 2. Создайте материал Lambert в окне Hypershade. 3. Назначьте материал Lambert плоскости, перетащив значок материала из окна Hypershade на плоскость с помощью средней кнопки мыши. 4. В окне Hypershade дважды щелкните по материалу Lambert, чтобы открыть для него окно Attribute Editor. 5. Нажмите кнопку Map рядом с полем Bump Mapping (Наложение рельефа). Откроется окно Create Render Node.
Рис. 15.61 Для создания многослойного тонировщика щелкните по кнопке Layered Shader или с помощью средней кнопки мыши перетащите значок в окно Hypershade
Рис. 15.64. Многослойный тонировщик при визуализации приобрел красно-синюю расцветку
Понятие материалов 441
440 Тонировщики, материалы и привязка 6. Щелкните по кнопке Bulge (Выпуклость) – рис. 15.65. В рабочей области окна Hypershade появится узел текстуры Bulge. Чтобы увидеть рельеф, эту текстуру необходимо визуализировать. 7. Выберите пункты меню Create Lights Directional Light (Источники света Направленный источник света). Рельеф лучше отображается при использовании направленного источника света, чем при подсветке. 8. Поверните источник света таким образом, чтобы он был направлен на плоскость по диагонали (рис. 15.66). 9. Щелкните по кнопке Render (Визуализировать) , которая находится в верхнем правом углу главного окна или на соответствующей полке. Изображение будет визуализировано в новом окне. Поверхность приобретает рельефность (рис. 15.67).
5. Уменьшите высоту рельефа, перетащив ползунок или указав новое значение (рис. 15.69). 6. Щелкните по кнопке Render . Рельеф стал менее глубоким, чем был при предыдущей визуализации (рис. 15.70).
Проекционные текстуры
Рис. 15.65. Щелкните по кнопке Bulge в окне Create Render Node, чтобы создать текстуру выпуклости, которая позднее привязывается к каналу рельефа материала
Рис. 15.68. Все узлы, связанные с материалом, отображаются в рабочей области окна Hypershade. Утилита, регулирующая высоту рельефа, расположена в середине
Проекционная текстура позволяет наложить одно изображение на несколько поверхностей. По умолчанию задан планарный тип проекции. Примером проекций такого типа может послужить проецирование изображения на экран в кинотеатре. Другие типы проекций – сферическая и цилиндрическая – проецируют изображение из формы, которая окружает поверхность (рис. 15.71).
Интерактивная фотореалистичная визуализация может быть очень полезна для настройки теней. Подробнее об использовании модуля IPR читайте в Главе 16.
Регулировка высоты рельефа 1. Создайте рельефную плоскость, как было описано в предыдущем разделе. 2. Выделите плоскость. 3. Щелкните по кнопке Graph Materials on Selected Objects в окне Hypershade. Материал и все его соединения появятся в рабочей области окна Hypershade (рис. 15.68). 4. Дважды щелкните по узлу bump2d, чтобы открыть для него окно Attribute Editor.
Рис. 15.66. Лучи света падают на плоскость по диагонали. Направленный источник света подчеркивает рельеф, поскольку свет поступает только с одной стороны
Рис. 15.67. Текстура выпуклости привязана к каналу рельефа плоскости. Чтобы отобразить рельеф, необходимо выполнить визуализацию
Рис. 15.69. В окне Attribute Editor измените значение атрибута Bump Depth, контролирующего общую высоту рельефа
Рис. 15.70. Слева атрибуту Bump Depth присвоено значение 1, а справа – 0,5
Рис. 15.71. Текстура была привязана к сфере при помощи трех разных типов проекции: цилиндрической, планарной и сферической
Понятие материалов 443
442 Тонировщики, материалы и привязка Привязка текстуры в качестве проекции
Изменение проекции
1. Создайте в окне Hypershade материал Lambert, затем назначьте его плоскости NURBS и сфере NURBS (рис. 15.72). 2. В окне Hypershade дважды щелкните по материалу Lambert, чтобы открыть для него окно Attribute Editor. рядом с 3. Щелкните по кнопке Map ползунком Color в окне Attribute Editor. Откроется окно Create Render Node. 4. Выберите переключатель As projection (Как проекция) – рис. 15.73. 5. Щелкните по кнопке File. Откроется окно Attribute Editor для проекции. В окне Perspective появится узел place3dTexture. 6. Перейдите на вкладку file1 в верхней части окна Attribute Editor, чтобы отобразить настройки файла текстуры. 7. Щелкните по значку папки рядом с надписью Image Name. Откроется окно для выбора файлов. 8. Найдите и откройте файл с нужным изображением. 9. Откройте окно Perspective и нажмите клавишу 6, чтобы перейти в режим отображения текстур. Маркер утилиты place3dTexture появится в окне Perspective. Изображение проецируется сбоку, поэтому оно вытянуто вдоль плоскости (рис. 15.74).
1. Свяжите проекционную текстуру с плоскостью, как было описано в предыдущем разделе. 2. Выделите утилиту place3dTexture в окне Perspective (рис. 15.75). Линия, выходящая из центра, показывает направление проекции. В данном случае изображение проецируется сбоку, а требуется направить проекцию на верхнюю часть плоскости. 3. Поверните плоскость на –90° относительно оси X. Изображение не вытягивается, однако оно не совсем совпадает с плоскостью. 4. Не снимая выделения с утилиты place3dTexture, нажмите клавиши Ctrl+a, чтобы открыть окно Attribute Editor для данного узла. 5. Щелкните по кнопке Fit to group box (Подогнать по размерам группы). Размеры утилиты place3dTexture будут автоматически подогнаны под размеры плоскости (рис. 15.76).
Если вы переместите поверхность, к которой была привязана проекционная текстура, то при визуализации будет казаться, что поверхность движется сквозь текстуру. Для решения этой проблемы выделите поверхность, затем выберите в меню Texturing (Текстурирование) пункт Create Texture Reference Object (Создать объект ссылки на структуру).
Рис. 15.72. Сфера и плоскость NURBS
Рис. 15.73. В окне Create Render Node был выбран переключатель As projection
Рис. 15.74. Планарная проекция вытягивает изображение вдоль плоскости
Рис. 15.75. Выделите утилиту place3dTexture в окне Perspective, чтобы перемещать, вращать и масштабировать этот узел, как и любой другой объект
Рис. 15.76. Размеры утилиты place3dTexture подогнаны под размеры плоскости, поэтому изображение проецируется через обе поверхности
Рис. 15.77. Утилиту place3dTexture уменьшили, повернули и переместили
При перемещении или вращении утилиты place3dTexture изображение на поверхности также будет перемещаться или вращаться. Изменение размеров утилиты приведет к уменьшению/увеличению изображения (рис. 15.77).
Понятие материалов 445
444 Тонировщики, материалы и привязка Текстурам, особенно проецированным, часто недостает резкости, даже если они четко визуализируются. Чтобы правильно поместить текстуру, требуется видеть изображение более отчетливо.
Инструмент 3D Paint
Повышение качества изображения текстуры в окне вида 1. Спроецируйте текстуру на сферу (см. рис. 15.78). Текстура на поверхности кажется очень размытой. 2. Выделите сферу. 3. Щелкните по значку Graph Materials on Selected Objects в окне Hypershade, чтобы отобразить материал и все его соединения в рабочей области. 4. В окне Hypershade дважды щелкните по материалу, чтобы открыть для него окно Attribute Editor. 5. Щелкните по стрелке под заголовком Hardware Texturing в окне Attribute Editor, чтобы раскрыть список дополнительных настроек (рис. 15.79). 6. Присвойте параметру Texture quality (Качество текстуры) значение High (Высокое). Текстура сферы станет отчетливой (рис. 15.80).
Рис. 15.78. Текстура была спроецирована на сферу. Она кажется очень размытой, поэтому трудно представить, как объект будет выглядеть после визуализации
Рис. 15.81. Настройки, располагающиеся в окне 3D Paint Tool Settings, определяют внешний вид мазков кисти
Инструмент 3D Paint (Трехмерное рисование) позволяет рисовать на поверхности. При помощи этого метода можно получить новую картинку для текстуры, а Maya затем создаст файл изображения. Перед началом рисования важно убедиться в том, что папка проекта задана верно (выберите пункты меню File Project Set), так как текущим проектом определяется, где должно сохраниться изображение. При сохранении файла в папке 3dPaintTextures рабочего проекта будет создана папка с названием сцены, в которую будут помещаться ваши рисунки. Допускается рисовать на поверхности, на которой уже размещена текстура с изображением, чтобы добавлять реалистичные подробности, например грязь или другие детали.
Рисование на поверхности объекта
Рис. 15.79. Откройте раздел Hardware Texturing окна Attribute Editor и присвойте параметру Texture quality значение High, чтобы отчетливо отобразить текстуру
При улучшении качества текстуры скорость прорисовки Maya снизится, особенно при работе с изображением высокого разрешения. Завершив размещение текстуры, измените ее качество на более низкое.
Рис. 15.82. Задайте текстуру для материала выделенного объекта в разделе File Textures окна 3D Paint Tool Settings. Нельзя рисовать на поверхности, к каналу цвета которой не был привязан файл
Рис. 15.80. После изменения параметров в разделе Hardware Texturing текстура сферы стала более четкой
1. Создайте в окне Hypershade материал Lambert и назначьте его сфере NURBS. 2. Выделите сферу. 3. В меню Texturing щелкните по значку рядом с пунктом 3D Paint, чтобы открыть окно 3D Paint Tool Settings (Установки инструмента 3D Paint) – рис. 15.81. 4. Чтобы перейти к разделу File Textures (Файлы текстур), воспользуйтесь полосой прокрутки – рис. 15.82. При необходимости укажите формат создаваемого изображения.
Понятие материалов 447
446 Тонировщики, материалы и привязка 5. Щелкните по кнопке Assign Textures (Назначить текстуры), чтобы открыть окно Assign File Textures (Назначить файлы текстур). В этом окне можно увеличить разрешение текстуры. По умолчанию устанавливается разрешение 256×256, которое пока не рекомендуется менять (рис. 15.83). 6. Щелкните по кнопке Assign Textures. Файл текстуры связан с материалом, поэтому можно начать рисование. 7. Перейдите в окно Perspective, удерживая нажатой клавишу b, и с помощью средней кнопки мыши перетащите указатель справа налево, чтобы отрегулировать размер кисти. Красная окружность, соответствующая размеру кисти, уменьшится. 8. Щелкните по поверхности и перетащите указатель мыши, чтобы начать рисовать. На поверхности появится след (рис. 15.84).
Рис. 15.83. Щелкните по кнопке Assign/Edit Textures, чтобы связать текстуру файла с материалом объекта
Рис. 15.87. Окно Visor позволяет выбрать одну из кистей для работы с инструментом 3D Paint. На рисунке представлены кисти в папке Hair
После использования кисти Paint Effects вы можете восстановить обычную кисть, щелкнув по какой-либо кнопке группы Brush Profile (Профили кисти) в поле Artisan окна 3D Paint Tool Settings (рис. 15.89).
Рис. 15.84. Проведите кистью по поверхности объекта. На сфере появился черный след
Рис. 15.88. При помощи одной из кистей Paint Effects нарисуйте волосы
Уменьшив значение Opacity (Непрозрачность) в настройках инструмента 3D Paint Tool, вы сможете сделать мазки кисти частично прозрачными. Это позволит придать поверхности загрязненный вид.
Рис. 15.89. Чтобы восстановить обычную кисть, выберите одну из кистей Artisan
С помощью инструмента 3D Paint вы можете обрисовать области, чтобы приблизительно обозначить различные части поверхности. Затем потребуется открыть файл изображения (который будет создан при сохранении цены) в программе Adobe Photoshop и дорисовать детали.
Использование инструмента 3D Paint 1. Продолжайте работать со сферой, созданной в предыдущем разделе. Если окно опций инструмента перестало отображаться, выделите сферу, а затем в меню Texturing щелкните по значку рядом с пунктом 3D Paint. 2. В окне 3D Paint Tool Settings щелкните по образцу цвета рядом с полем Color в разделе Flood (рис. 15.85), чтобы открыть окно Color Chooser. 3. Выберите образец желтого цвета в верхней части окна Color Chooser, затем нажмите кнопку Accept. 4. Щелкните по кнопке Flood Paint (Заливка). Сфера окрасится в желтый цвет. 5. С помощью мыши нарисуйте на сфере улыбающееся лицо (рис. 15.86).
6. Щелкните по кнопке Get Brush (Выбрать кисть) , которая находится справа от надписи Paint Effects (Рисованные эффекты) в окне 3D Paint Tool Options. Откроется окно Visor (Видоискатель). 7. Прокрутите список в левой части окна Visor и щелкните по папке Hair (Волосы), чтобы открыть образцы текстур, имитирующих волосы (рис. 15.87). 8. Щелкните и выберите нужный тип волос. 9. Нарисуйте волосы на сфере (рис. 15.88). 10. Очистите текстуру поверхности, щелкнув по кнопке Flood Erase (Стереть все) в разделе Flood. Восстановится изначальный серый цвет поверхности.
Рис. 15.85. Щелкните по образцу цвета рядом с полем Color в разделе Flood, чтобы выбрать цвет для заливки всего объекта
Таким же образом можно рисовать и другие атрибуты, например, Transparency (Прозрачность) и Displacement (Смещение), выбрав нужный атрибут в выпадающем меню под опцией File Textures. Рис. 15.86. Тремя мазками кисти было создано улыбающееся лицо
Текстурирование полигонов 449
448 Тонировщики, материалы и привязка
Создание автоматической привязки для полигональной текстуры
Текстурирование полигонов Все методики текстурирования, о которых рассказывалось ранее, предназначены для работы с полигональными примитивами. Однако они подходят не для всех полигональных поверхностей. Поверхности NURBS всегда имеют четыре стороны, а полигональные поверхности состоят из множества небольших частей, значит, на них гораздо сложнее наложить текстуру. Представьте себе коробку в упаковке. Вы осторожно разворачиваете упаковку и вынимаете подарок. Расправив упаковочную бумагу, вы сможете нарисовать на ней новое изображение (рис. 15.90). Чтобы привязать текстуру к полигональной поверхности, вам нужно выполнить аналогичные шаги, то есть «развернуть» поверхность. Это позволяет сделать UVкарта (UV map), которая отображается в UV Texture Editor (Редактор UV-текстур) – рис. 15.91. На первый взгляд UV-карты могут показаться довольно сложными. Придется немало потрудиться, чтобы с их помощью создать реалистичную модель. Однако для полигональных примитивов не нужно формировать UV-карты, поскольку они создаются вместе с объектами. Кроме того, у полигонов по сравнению с NURBS есть ряд других преимуществ. Например, одной полигональной поверхности допускается назначать несколько материалов, в то время как поверхности NURBS можно задать только один материал. Для привязки материалов следует выбрать грани полигона и назначить материалы им, а не всему объекту (рис. 15.92).
Рис. 15.90. Текстура этого объекта напоминает упаковочную бумагу Рис. 15.93. Команды Extrude Face и Smooth позволяют всего за несколько шагов смоделировать из куба телефонную трубку
Рис. 15.91. Белые линии в редакторе UV Texture Editor представляют ребра куба. Вы можете видеть, каким образом был «развернут» объект. Под этими линиями находится текущее изображение, которое привязано к поверхности
Рис. 15.92. К различным частям полигональной сферы были привязаны четыре текстуры. Этот эффект достигается привязкой к определенным граням сферы
Рис. 15.94. Слева изображена текстура, которая была привязана к поверхности модели. Видно, что текстура наложена неправильно: изображение сдвинулось и вытянулось
Рис. 15.95. При наложении UV-карты используется автоматическая привязка, однако текстура все равно неправильно ориентирована
1. Создайте полигональную модель телефонной трубки (см. раздел «Моделирование телефонной трубки на основе полигонального примитива» в главе 9) – рис. 15.93. Чтобы добиться необходимой плавности линий, не нужно преобразовывать модель в поверхности разделения. Вместо этого сгладьте полигональный объект, задав для него уровень сглаживания, равный 3, и непрерывность, равную 0,35. 2. Создайте материал Blinn и назначьте его поверхности. 3. В окне Hypershade дважды щелкните по материалу Blinn, чтобы открыть окно Attribute Editor. 4. Нажмите кнопку Map рядом с ползунком Color в окне Attribute Editor. На экране появится окно Create Render Node. 5. Убедитесь в том, что выбран пункт Normal, затем щелкните по кнопке File. Откроется окно Attribute Editor для узла файла. 6. Нажмите кнопку Browse рядом с надписью Image Name. 7. Найдите и откройте любой файл с изображением. В окне Perspective видно, что текстура наложена неправильно: изображение сдвинулось и вытянулось (рис. 15.94). 8. Выделите поверхность. 9. Выберите в меню Edit Polygons (Редактировать полигоны) пункты Texture Automatic Mapping (Текстура Автоматическая привязка). Теперь изображение не кажется вытянутым, но различные элементы все равно находятся не на своих местах (рис. 15.95).
Текстурирование полигонов 451
450 Тонировщики, материалы и привязка Редактор UV Texture Editor позволяет выполнять откат и смещение вида так же, как и любая другая панель просмотра, при этом режим работы инструментов Move, Rotate и Scale остается тем же самым. Привязанное к поверхности изображение помещается в редактор UV Texture Editor. Это позволяет располагать различные части поверхности на нужной области изображения, избегая лишних наложений.
Использование редактора UV Texture Editor 1. Продолжайте работать с моделью телефонной трубки, созданной в предыдущем разделе. 2. Щелкните по поверхности правой кнопкой мыши и выберите в контекстном меню пункт UV. 3. Выделите одну из UV-точек в центре телефонного наушника (рис. 15.96).
Рис. 15.99. Все изменения выделенной области модели сразу же отображаются в окне Perspective
Рис. 15.97. Редактор UV Texture Editor наглядно показывает, как различные части поверхности накладываются на карту изображения. UV-точка, которую вы выделили в окне Perspective, выделена и здесь. На ней располагаются манипуляторы перемещения. Это позволяет быстро отыскать оболочку, представляющую собой наушник телефона
Рис. 15.100. На модели телефонной трубки возникают текстурные швы
4. Выберите в меню Window пункт UV Texture Editor. Откроется редактор UV Texture Editor. На текстурном изображении располагаются части каркаса (оболочки) модели. Выделенную точку поверхности легко найти, поскольку на ней расположен манипулятор трансформации (рис. 15.97). 5. Щелкните по оболочке правой кнопкой мыши и выберите в контекстном меню пункты Select Select Shell (Выделить Выделить оболочку) – рис. 15.98. Все UVточки в оболочке будут выделены. 6. Переместите, масштабируйте и поверните оболочку так, чтобы она совпала с нужной частью изображения. Все изменения выделенной области модели сразу же отображаются в окне Perspective (рис. 15.99). 7. Повторите пункты 3–6 для других частей модели телефона. Так как поверхность в окне UV Texture View расположена в нескольких разных частях (оболочках), на ней возникают швы. Команда Move and Sew UVs (Переместить и соединить точки UV) позволяет соединить две оболочки и избавиться от шва (рис. 15.100).
Удаление шва в текстуре при помощи команды Move and Sew UVs 1. Продолжайте работать с моделью телефонной трубки, созданной в предыдущем разделе. 2. Выделите все ребра вдоль шва в окне Perspective (рис. 15.101).
Рис. 15.96. В центре наушника телефона была выделена одна UV-точка
Рис. 15.98. Нет необходимости выделять каждую UV-точку, вы можете сразу выделить всю оболочку. Щелкните правой кнопкой мыши и выберите в контекстном меню пункт Select Shell
Рис. 15.101. Были выделены все ребра полигонов вдоль шва
Текстурирование полигонов 453
452 Тонировщики, материалы и привязка При выделении ребер на объекте соответствующие ребра автоматически выбираются в редакторе UV Texture Editor (рис. 15.102). 3. Выберите в меню Edit Polygons пункты Texture Move and Sew UVs. В окне Perspective шов на объекте исчезнет (рис. 15.103). В редакторе UV Texture Editor две оболочки были соединены в одну (рис. 15.104).
Панель инструментов UV Texture Editor
Обратить UV:точки в направлении V Обратить UV:точки в направлении U
Рис. 15.102 Выделены ребра двух оболочек, поскольку они представляют собой одно ребро, общее для обеих оболочек
Панель инструментов UV Texture Editor разделена на четыре части: кнопки положения UV, кнопки группы Isolate Selection (Изоляция выделенных объектов), кнопки View (Просмотр) и кнопки группы UV edit (Редактирование точек UV). Давайте рассмотрим их более подробно:
группа положения UV содержит кнопки доступа к инструментам позиционирования UV-точек, включая Flipping (Обращение), Rotating (Вращение), Sewing (Соединение) и Aligning (Выравнивание) – рис. 15.105;
Вырезать UV:точки по выделению Сшить UV:точки вдоль выделения
Повернуть UV:точки против часовой стрелки
Разделить UV:точки
Повернуть UV:точки по часовой стрелке
Переместить и сшить выбранные UV:точки
Выровнять по минимуму U
Выровнять по максимуму U Выровнять по минимуму V
Разместить UV
группа Isolate Selection включает кнопки для добавления точек в список изолированных и удаления их из списка, а также активации инструментов Isolate Selection (рис. 15.106); группа View включает кнопки привязки, переключения режимов просмотра и доступа к команде отображения границ (рис. 15.107); группа UV edit содержит поля для ввода координат UV-точек, а также инструменты копирования и вставки UVточек (рис. 15.108).
Включить сетку Включить Включить привязку изображение к пикселам Включить отфильт: рованные пикселы
Показать альфа: канал изображения
Рис. 15.103. Шов исчез, поскольку ребра двух оболочек были соединены. При этом текстура была распространена на две оболочки
Циклически пройти по U и V Выровнять по максимуму V
Расслабить UV Переместить UV в сетку
Включить Показать RGB: пропорцию каналы изображения изображения Включить жирные границы текстур
Рис. 15.107. Группа кнопок View
Рис. 15.105. Группа кнопок положения UV Координаты U и V
Включить изоляцию Убрать все
Обновить
Добавить выделенные объекты к изоляции
Убрать выбранные объекты из изоляции
Рис. 15.106. Группа кнопок Isolate Selection
Вставить Копировать
Вставить только Вставить U или V значения U или V в выделенные в выделенные UV:точки UV:точки
Рис. 15.108. Группа кнопок UV Edit Рис. 15.104. Две отдельные оболочки соединены в одну, покрывающую большую часть телефона
Копировать/ вставить грани или UV:точки
Проекция UV-карт 455
454 Тонировщики, материалы и привязка
Атрибуты материалов в окне Channel Box
Конвертирование трехмерной текстуры в файловую текстуру
Окно Channel Box позволяет переопределять многие атрибуты материалов. Это избавляет вас от необходимости искать нужный параметр в окне Attribute Editor.
1. Создайте сферу NURBS. 2. Создайте новый материал Blinn и назначьте его сфере. 3. Дважды щелкните по материалу Blinn, чтобы открыть окно Attribute Editor. 4. Нажмите кнопку Map для канала Color. 5. Выберите трехмерную текстуру Wood (Дерево). 6. Выделите сферу в окне моделирования, затем, удерживая нажатой клавишу Shift, выделите материал Blinn в окне Hypershade. 7. Выберите в меню Edit окна Hypershade пункт Convert to File Texture. Новый материал Blinn будет создан и назначен сфере.
Установка атрибутов материалов в окне Channel Box 1. Создайте сферу NURBS. 2. Создайте материал Blinn и назначьте его сфере. 3. Выделите материал Blinn в рабочей области. Теперь в окне Channel Box доступны многие из атрибутов материала Blinn. В данном примере переопределяется прозрачность. 4. В окне Channel Box измените атрибуты Transparency R, B и G на 0,5. Теперь сфера будет полупрозрачной.
Проекция UV-карт
Рис. 15.109. В диалоговом окне Polygon Planar Mapping Options настройте параметры привязки объекта
Эффект «плавающих» текстур «Плавающие» текстуры – это нежелательный эффект, иногда проявляющийся при анимации объекта, на который наложена трехмерная текстура. Это выглядит довольно комично: анимированный объект перемещается, а связанная с ним текстура остается на месте относительно глобальных координат. Чтобы предотвратить возникновение данного эффекта, рекомендуется конвертировать трехмерную текстуру в файловую текстуру с помощью команды Convert to File Texture (Конвертировать в файловую текстуру).
Рис. 15.110. Вокруг объекта появляется проекция манипулятора привязки
Ранее в этой главе мы показали, как создать проекцию текстуры; можно также создать проекцию UV-карт. Основное отличие в том, что проекция UV-карты не теряет контакта с объектом даже при его деформировании, тогда как деформирующийся объект «проплывает» сквозь проекцию текстуры.
Создание планарной UV-карты для полигонального объекта 1. Откройте полигональную модель телефона (см. выше пример «Создание автоматической привязки полигональной текстуры»). 2. Откройте окно Hypershade, создайте материал Blinn и присвойте его поверхности. 3. Дважды щелкните мышью по материалу Blinn в окне Hypershade. Откроется редактор Attribute Editor для этого материала. 4. Нажмите кнопку Map рядом с ползунком Color в редакторе атрибутов. Появится окно Create Render Node (Создание узла визуализации). 5. Убедитесь, что выбран режим Normal, а затем нажмите File. 6. Выделите поверхность телефона, выберите пункты меню Polygons Texture, а затем щелкните по значку рядом с пунктом Planar Mapping. Откроется диалоговое окно Polygon Planar Mapping Options (рис. 15.109). 7. Чтобы выбрать раздел Mapping Direction (Направление привязки), нажмите кнопку Camera, а затем кнопку Apply. Вокруг объекта появится проекция манипулятора привязки (рис. 15.110).
Проекция UV-карт 457
456 Тонировщики, материалы и привязка 8. Вращайте камеру, нажав клавишу Alt и одновременно перетаскивая телефон, чтобы просмотреть его трехмерное изображение. Текстура растянется по длине объекта с предыдущей позиции камеры (рис. 15.111). 9. В диалоговом окне Polygon Planar Mapping Options снова нажмите кнопку Apply. Проекция манипулятора привязки сменит положение, подстраиваясь под текущее направление камеры (рис. 15.112). Использование этой опции камеры приводит к тому, что проекция создается с текущей точки обзора камеры. 10.В разделе Mapping Direction диалогового окна Polygon Planar Mapping Options выберите пункт Y axis (Ось Y) и нажмите кнопку Apply. Проекция манипулятора привязки сменит положение таким образом, что проекция будет создаваться строго вдоль оси Y (рис. 15.113).
Рис. 15.111. Повернув камеру, вы обнаружите, что проекция текстуры создана с предыдущей точки обзора камеры
11.Повторите шаг 10, выбрав пункт Z Axis (Ось Z), чтобы проекция строилась вдоль оси Z (рис. 15.114), или пункт X Axis (Ось X), чтобы построить проекцию вдоль оси X (рис. 15.115). 12. Перетащите зеленый квадрат на проекцию манипулятора привязки. Это позволит изменить масштаб манипулятора и дополнительно контролировать размещение UV-проекции (рис. 15.116). 13.Переключитесь в режим Selection by и выделите телефон. Hierarchy
Рис. 15.112. Проекция манипулятора привязки обновляется, подстраиваясь под текущую точку обзора камеры Рис. 15.114. Проекция вдоль оси Z
Рис. 15.113. Проекция манипулятора привязки создается вдоль оси Y
Рис. 15.115. Проекция вдоль оси X
Рис. 15.116. Передвигайте манипуляторы на проекции манипулятора привязки, чтобы изменить его масштаб и положение
Проекция UV-карт 459
458 Тонировщики, материалы и привязка 14.В меню Deform выберите пункты Create Nonlinear Bend. Объект будет изменен с помощью деформатора Bend. 15.В разделе Inputs редактора каналов щелкните по пункту bend1, чтобы раскрыть параметры деформатора Bend (рис. 15.117). 16.Используя среднюю кнопку мыши, изменяйте параметр Curvature (Кривизна) в трехмерном режиме в обоих направлениях, пока он не примет значение 0.5 или в числовом поле ввода присвойте параметру Curvature значение .5. В результате объект деформируется таким образом, чтобы текстура не теряла с ним контакта (рис. 15.118). 17. Снимите флажок Insert Before Deformers (Вставить до применения деформаторов) и снова нажмите кнопку Apply. Привязка изменится, подстраиваясь под деформацию объекта (рис. 15.119).
Создание цилиндрической UV-карты для полигонального объекта
Рис. 15.120. Диалоговое окно Cylindrical Projection Options Рис. 15.118. Объект деформируется, и текстура «прилипает» к его поверхности
1. Повторите шаги 1–5 из предыдущего примера («Создание планарной UVкарты для полигонального объекта»). 2. Выделите поверхность трубки, выберите пункты меню Polygons Texture, а затем щелкните по значку рядом с пунктом Cylindrical Mapping (Цилиндрическая привязка). Откроется диалоговое окно Cylindrical Projection Options (Опции цилиндрической проекции) – рис. 15.120. 3. Нажмите кнопку Apply, чтобы принять значения по умолчанию и обновить привязку на поверхности (рис. 15.121). 4. В первом числовом поле набора присвойте параметру Image Scale (Масштаб изображения) значение .5 и снова нажмите Apply (рис. 15.122).
Рис. 15.122. Введите более низкое значение в поле Image Scale, чтобы принудительно увеличить текстуру по отношению к объекту
Рис. 15.117 Используйте деформатор Bend, а затем откройте опции bend1 в разделе Inputs редактора каналов
Рис. 15.119. Снимите флажок Insert Before Deformers, чтобы привязку можно было применить к объекту в его текущем деформированном виде
Рис. 15.121. Привязка на поверхности обновляется, и появляется манипулятор проекции привязки
Проекция UV-карт 461
460 Тонировщики, материалы и привязка 5. Перетащите красный квадрат на манипулятор текстурной проекции, чтобы увеличить или уменьшить текстуру вокруг объекта (рис. 15.123).
Текстурирование поверхностей разделения
Создание сферической UV-карты для полигонального объекта 1. Повторите шаги 1–5 из примера «Создание планарной UV-карты для полигонального объекта» (см. выше). Рис. 15.124. Диалоговое окно Polygon Spherical Projection Options
Рис. 15.125. Привязка на поверхности обновляется, и появляется манипулятор проекции привязки
Рис. 15.123. Передвигайте манипуляторы на проекции манипулятора привязки, изменяя положение и масштаб проекции по отношению к объекту
Текстурирование поверхностей разделения очень похоже на текстурирование полигонов и при некоторых условиях может быть произведено таким же образом. Допустим, вы хотите создать автоматическую привязку для объекта разделения (наподобие телефона, который мы создали в главе «Поверхности разделения»). Вы можете выполнить те же шаги в примере «Создание планарной UV-карты для полигонального объекта» (см. выше), выбрав при этом пункты меню Subdiv Surfaces Texture Automatic Mapping, чтобы открыть диалоговое окно Automatic Mapping Options. Или же, чтобы создать планарную UV-карту для вашего телефона разделения, выберите пункты Subdiv Surfaces Texture Planar Mapping, чтобы открыть диалоговое окно Planar Mapping Options. Затем приступите к выполнению операций, описанных в примере «Использование редактора UVтекстур» (см. выше). Однако вы не сможете редактировать привязку точек UV-объекта разделения, переключившись в режим Polygon. Вместо этого выберите пункты меню Modify Convert Convert to Subdiv Options, чтобы открыть диалоговое окно Convert to Subdiv Options (Опции конвертирования в объект разделения). Затем перейдите в режим Proxy Object Subdivision Surface Mode (Режим поверхности разделения объекта-посредника), и при редактировании привязки UV-точек на полигональной клетке обновится привязка на поверхности разделения.
2. Выделите поверхность трубки, выберите пункты меню Edit Polygons Texture, а затем щелкните по значку рядом с пунктом Texture (Текстура). Откроется диалоговое окно Polygon Spherical Projection Options (Опции полигональной сферической проекции) – рис. 15.124. 3. Нажмите кнопку Apply, чтобы принять значения по умолчанию и обновить привязку на поверхности (рис. 15.125).
Проекция UV-карт 463
462 Тонировщики, материалы и привязка 4. Перетащите голубой квадрат на манипулятор текстурной проекции, чтобы уменьшить текстуру вокруг объекта (рис. 15.126) или увеличить ее (рис. 15.127).
Создание многослойных PSD-файлов в Maya
Использование программы Adobe Photoshop В программе Maya вы можете создавать многослойные файлы формата PSD (Photoshop Document) или использовать файлы изображений с несколькими слоями из программы Adobe Photoshop в качестве текстур. Возможность использования многослойных файлов облегчает работу со сложными текстурами, требующими отдельных карт изображений для одного или нескольких каналов в отдельном тонировщике.
Рис. 15.126. Передвигайте манипуляторы на проекции манипулятора привязки, изменяя масштаб проекции в сторону уменьшения… Рис. 15.128. Используйте диалоговое окно Create PSD Texture Options для создания многослойных графических файлов Photoshop, которые можно использовать в качестве текстур
1. Выделите объект и в меню Texturing выберите пункт Create PSD Texture (Создать текстуру PSD). Появится диалоговое окно Create PSD Texture Options – рис. 15.128. 2. В разделе Attributes выделите пункты color и transparency и нажмите на стрелку вправо (>), чтобы добавить их в раздел Selected Attributes (рис. 15.129). 3. Щелкните по кнопке Create. Диалоговое окно закроется, и Maya сохранит PSD-файл в папке sourceimages в директории текущего проекта. 4. Откройте PSD-файл в программе Adobe Photoshop (рис. 15.130). В многослойном файле изображения имеется слой UVSnapShot, который можно использовать в качестве образца при рисовании в программе Photoshop. Также в файле имеются наборы слоев, поименованных по названию каналов, которые были выбраны в диалоговом окне Create PSD Texture Options.
Рис. 15.127. …или увеличения
Рис. 15.130. Откройте PSD-файл, созданный Maya, в программе Adobe Photoshop Рис. 15.129. Выделив пункты color и transparency, нажмите на стрелку вправо (>), чтобы добавить их в раздел Selected Attributes
Проекция UV-карт 465
464 Тонировщики, материалы и привязка 5. Нанесите несколько мазков на слой из прозрачного набора слоев lambert1 (рис. 15.131). Белый абсолютно прозрачен, а черный полностью непрозрачен. 6. Щелкните по пиктограмме с изображерядом с прозрачным нанием глаза бором слоев lambert1 и слоем UVSnapShot, чтобы скрыть их. 7. Нанесите краской несколько мазков в слое из прозрачного набора слоев lambert1 (рис. 15.132). 8. Сохраните PSD-файл и снова перейдите в окно программы Maya. 9. В активном окне выберите пункты Shading Hardware Texturing (Тонирование Программное текстурирование). Окно программного тонирования может отобразить карты текстур, назначенные поверхностям. 10.Выделите объект, для которого изначально создавалась текстура PSD, и выберите в меню пункты Texturing Update PSD Textures (Обновить PSD-текстуры). Текстура обновится, отображая карту цветов, созданную в программе Photoshop (рис. 15.133). 11.В меню Render выберите пункт Render Current Frame (Визуализировать текущий кадр). Откроется диалоговое окно визуализации Render View, и текущее изображение будет визуализировано, показывая цветовой и прозрачный каналы, которые были раскрашены (рис. 15.134).
Использование готового многослойного файла PSD в Maya 1. Откройте окно Hypershade и на панели Create раскройте список 2D Textures. 2. Выберите пункт Normal, а затем щелкните по пиктограмме PSD File (рис. 15.135). Узел PSD File появится под именем psdFileTex1 на рабочей области (рис. 15.136). Рис. 15.131. Нанесите несколько мазков на слой из прозрачного набора слоев lambert1 Рис. 15.134. Обновленная поверхность показывает карту цвета, созданную в программе Photoshop
Рис. 15.132. Нанесите на слой цвета
Рис. 15.136. Узел PSD File появится под именем psdFileTex1 на рабочей области
Рис. 15.135 Визуализируйте изображение так, чтобы были видны все каналы, используемые тонировщиком
Если у вас уже есть готовый PSD-файл с набором слоев, который вы хотите импортировать в Maya, это можно сделать с помощью узла PSD File Texture (Текстура PSDфайла). Рис. 15.133. На поверхности будет отражена карта цветов
Проекция UV-карт 467
466 Тонировщики, материалы и привязка 3. Двойным щелчком мыши по узлу psdFileTex1 откройте Attribute Editor (Редактор атрибутов). 4. Щелкните по пиктограмме Folder (Папрядом с пунктом Image Name ка) (Имя изображения). Откроется диалоговое окно Open (рис. 15.137). 5. Выберите PSD-файл на жестком диске и нажмите кнопкуOpen. Диалоговое окно Open закроется, и образец текстуры узла psdFileTex1 обновится вместе с выделенным PSD-файлом (рис. 15.138). 6. В выпадающем меню рядом с пунктом Link to Layer Set (Связать с набором слоев) выберите пункт Composite (Составной) – рис. 15.139. В этом выпадающем меню перечислены все наборы слоев изображения. Если у изображения нет набора слоев, Composite будет единственным пунктом в списке. Composite – это «плоская» комбинация всех видимых слоев в PSD-файле. 7. В окне Hypershade создайте тонировщик Blinn и назначьте его поверхности. Тонировщик Blinn появится на рабочей области рядом с узлом psdFileTex1.
8. Используя среднюю кнопку мыши, перетащите узел psdFileTex1 на пиктограмму blinn1. 9. В появившемся меню Marking выберите пункт color (рис. 15.140). Пиктограмма blinn1 обновится, отображая новую текстуру.
Рис. 15.140. Щелчком средней кнопки мыши перетащите узел psdFileTex1 на blinn1, чтобы открыть меню Marking
Рис. 15.138. Образец текстуры обновится, показывая изображение выбранного файла
Рис. 15.141. Щелкните правой кнопкой мыши по узлу psdFileTex и в меню Marking выберите пункт Convert to Layered Texture
Создание многослойной текстуры из узла PSD File
Рис. 15.139. Выберите пункт Composite в выпадающем меню Link to Layer Set
Рис. 15.137. В диалоговом окне Open по умолчанию выводится директория текущего проекта
Maya предлагает метод конвертирования узла PSD File в многослойную текстуру одним щелчком мыши. Команда Convert to Layered Texture (Конвертировать в многослойную текстуру) создает отдельный узел PSD File для каждого набора слоев и соединяет их с узлом Layered Texture. Данная команда также полезна, если вам необходимо соединить наборы слоев с каналами тонировщика. Команда Convert to Layered Texture автоматически создает дополнительные узлы PSD File для каждого набора слоев и выделяет их в разделе Link to Layer Set атрибутов узла PSD File. После этого вы сможете, используя среднюю кнопку мыши, соединить каждый узел PSD File с соответствующим каналом в тонировщике.
1. Повторите шаги 1–6 из предыдущего задания. 2. Щелкните правой кнопкой мыши по узлу psdFileTex и в появившемся меню Marking выберите пункт Convert to Layered Texture (рис. 15.141). На рабочей области появится несколько новых узлов. Для каждого набора слоев в PSD File будет создан новый узел psdFileTex (рис. 15.142). Рис. 15.142. Команда Convert to Layered Texture создает узлы psdFileTex для каждого набора слоев в PSD File и соединяет их с узлом layeredTexture
468 Тонировщики, материалы и привязка 3. Мышью перетащите узлы так, чтобы они не накладывались друг на друга (рис. 15.143). 4. Щелкните правой кнопкой мыши по узлу layeredTexture и в меню Marking выберите пункт Graph Network (Диаграмма сети) – рис. 15.144. Рабочая область обновится, показывая, каким образом узлы psdFileTex соединены с узлом layeredTexture (рис. 15.145). 5. Используя среднюю кнопку мыши, перетащите узел layeredTexture на вход любого канала тонировщика. 6. Повторите шаг 5 с разными узлами psdFileTex.
Рис. 15.144. Щелкните правой кнопкой мыши по узлу layeredTexture и в меню Marking выберите пункт Graph Network
Рис. 15.143. Перетащите узлы, выстроив их подобающим образом Рис. 15.145. Диаграмма узлов psdFileTex соединяется с узлом layeredTexture
Камеры и визуализация
Рис. 16.1. Сравните результаты аппаратной (слева) и программной визуализации (справа). Программная визуализация отображает карты рельефа, которые формируют колеса трактора, и карту прозрачности, создающую решетку радиатора
16
Визуализация (rendering) – процесс построения и вывода изображения (как для печати, так и для видео) по некоторому, например математическому, представлению объекта. Она позволяет создать двумерное растровое изображение из заданной трехмерной структуры сцены. Maya выполняет математические расчеты, используя законы физики, чтобы имитировать реалистичное освещение, тени, отражения и текстуры. Изменив параметры визуализации, можно даже из самой простой сцены создать фотореалистичное изображение. Визуализация освещения, теней и текстур называется программной визуализацией (software rendering). Maya также осуществляет аппаратную визуализацию (hardware rendering), результат которой отображается в окне Perspective. Аппаратное освещение, которое активируется при нажатии клавиши 7, тоже относится к аппаратной визуализации. Модули Maya Hardware Render Buffer (Буфер аппаратной визуализации) и Hardware Renderer (Аппаратный визуализатор) выполняют снимки с экрана и экспортируют изображения (рис. 16.1).
Камеры 471
470 Камеры и визуализация В пятой версии Maya появилось окно Render Globals (Общие установки визуализации), которое позволяет задать установки визуализации для модулей Hardware Renderer (Аппаратный визуализатор), Vector Renderer (Векторный визуализатор), Mental Ray Renderer (Визуализатор Mental Ray) и Software Renderer (Программный визуализатор) – рис. 16.2.
Камеры, как и любой другой объект, обладают рядом атрибутов. Фокусное расстояние позволяет имитировать зум-функцию объектива настоящей камеры (это почти невозможно сделать при помощи отката). Можно нацелить камеру, чтобы она была направлена на определенный объект, поместить на вид фоновое изображение, которое будет оставаться неизменным при движении камеры.
Камеры Результат визуализации зависит от точки обзора сцены. Когда вы видите сцену в Maya, вы всегда смотрите через камеру. Четыре окна просмотра – Тор (Сверху), Front (Спереди), Side (Сбоку) и Perspective (В перспективе) – на самом деле являются четырьмя разными камерами. Чаще всего выполняется визуализация вида Perspective, однако можно использовать и другие окна проекций. Камеры определяют как вид, в котором просматривается сцена, так и вид, в котором проводится визуализация. Когда вы поворачиваете и смещаете вид в окне Perspective, вы просто перемещаете и поворачиваете камеру. Нельзя удалять камеры, созданные по умолчанию, но можно создавать новые (рис. 16.3). Камеру допускается анимировать, как и любой другой объект, в частности, имитировать ее движение. Подобный эффект используется при съемках кинофильмов, например, когда необходимо показать откат или наезд камеры. Анимация позволяет воссоздать движение камеры внутри здания, что часто применяется при визуализации архитектурных сооружений. Переключаясь между камерами, можно получить эффект мгновенной смены видов.
Рис. 16.2. Данные изображения созданы с использованием следующих технологий визуализации Maya: Mental Ray (вверху слева), Hardware Renderer (вверху справа), Software Renderer (внизу слева) и Vector Renderer (внизу справа)
Рис. 16.4. Созданная камера появляется в начале координат
Рис. 16.5. Камера всегда отслеживает перемещения цели
Рис. 16.3. Значок камеры представляет вид Perspective. Остальные окна проекций показаны квадратами с линией, исходящей из центра
Рис. 16.6. Вид из созданной камеры. Поскольку камера остается выделенной, на экране отображается ее цель – манипулятор
Создание и настройка камеры 1. Выберите в меню Create пункты Cameras Camera (Камеры Камера). В окне Perspective появится новая камера (рис. 16.4). 2. Не снимая выделения с камеры, нажмите клавишу t, чтобы вызвать инструмент Show Manipulator (Показать манипулятор). Один манипулятор перемещения появится на камере, а другой – перед ней. Манипулятор, находящийся перед камерой, называется целью. 3. Перемещая цель, вы заметите, что камера всегда направлена на нее. То же самое происходит и при перемещении камеры (рис. 16.5). 4. Выберите пункт Look Through Selected (Смотреть из выделенного) в меню Panels (Панели) окна Perspective. Теперь на экране отображается вид из созданной камеры. Обратите внимание, что название камеры в нижней части экрана сменилось с persp на camera1 (рис. 16.6).
Камеры 473
472 Камеры и визуализация Вид из камеры можно выбрать в меню Panels окна Perspective. Чтобы открыть список доступных камер, выполните команды меню Panels Perspective (рис. 16.7).
6. Выделите и переместите камеру в окне Perspective. Камера по-прежнему направлена на центр наведения (см. рис. 16.10).
Чтобы осуществить панорамирование (поворот камеры без перемещения), следует повернуть камеру.
Помимо камеры с наведением, вы можете создать камеру Camera Aim and Up (Камера с наведением и контролем поворота). Ее дополнительный узел управляет поворотоv камеры.
Масштабирование камеры не влияет на изображение, создаваемое ею, однако при этом выделять камеру будет проще.
Рис. 16.7. Команды меню Panels Perspective открывают доступ к камерам сцены Рис. 16.10. После перемещения камера по-прежнему сфокусирована на точке наведения
Существует небольшое, но важное отличие между созданием обычной камеры и камеры с наведением (camera and aim control). Камеры с наведением имеют дополнительный узел, который может быть задействован в ключевом кадре или наследован к объекту.
Анимация камеры
Создание и настройка камеры с наведением 1. Выберите в меню Create пункты Cameras Camera and Aim (Камеры Камера с наведением). В окне Perspective появится новая камера. Точка перед камерой – ее центр наведения (рис. 16.8). 2. Выберите в меню Window пункт Hypergraph (Гиперграф), чтобы отобразить узлы, связанные с камерой (см. рис. 16.9). 3. Выделите в окне Hypergraph узел группы камеры cameral_group. 4. Переместите камеру. Камера и центр наведения будут перемещаться одновременно. 5. Выделите и переместите точку наведения в окне Perspective. Камера будет по-прежнему направлена на центр наведения.
После создания камеры вы можете определить для нее центр наведения и контроль поворота, выбрав один из трех типов камер при помощи опции Controls (Управление) в разделе Camera Attributes (Атрибуты камеры) в окне Attribute Editor (рис. 16.11).
Рис. 16.8. Маленькая окружность с точкой в центре является центром наведения камеры
Рис. 16.11. В окне Attribute Editor можно изменить тип камеры после ее создания
Рис. 16.9. В окне Hypergraph отображаются узлы камеры и центра наведения
Анимация камеры выполняется так же, как анимация любого другого объекта: следует выделить камеру, поместить ее атрибуты в ключевой кадр, изменить текущее время, преобразовать камеру и снова создать для нее ключевой кадр. Однако при анимации камеры все же существует ряд отличий. В качестве примера рассмотрим задачи, которые возникают при анимации камеры. При переключении видов камера должна оставаться в одном положении, а затем мгновенно переместиться в другое положение. Не меньшую трудность для новичка представляет съемка движущегося объекта, при которой требуется, чтобы центр наведения камеры следовал за объектом по мере его перемещения по сцене. А для создания эффекта облета камеру необходимо анимировать вдоль пути.
Камеры 475
474 Камеры и визуализация Чтобы освоить работу с камерой, следует прежде всего понять, что выделенная камера – это необязательно та камера, из которой вы смотрите. В нижней части экрана отображено название камеры, из которой производится съемка (рис. 16.12), а название выделенной камеры представлено в окне Channel Box (рис. 16.13). Самая распространенная ошибка новичков заключается в том, что они перемещают камеру и создают ключевые кадры, не выделив камеру съемки. Простой способ анимировать камеру – это использовать такие функции, как откат, смещение и поворот, в разных частях сцены (и даже в различных окнах Maya).
Нацеливание камеры на объект Рис. 16.15. Кнопки управления воспроизведением. Слева находится кнопка Rewind. Кнопка с большой стрелкой, указывающей вправо, называется Play
Рис. 16.12. В нижней части рабочего окна вы видите название камеры, из которой производится съемка, в данном случае камеры persp. Обратите внимание, что при этом выделена другая камера
Анимация камеры с использованием отката, смещения и поворота 1. Создайте несколько объектов. 2. В окне Perspective выберите пункты меню View Select Camera (Вид Выделить камеру) – рис. 16.14. Название выделенной камеры (persp) появилось в верхней части окна Channel Box. 3. Нажмите клавишу s, чтобы добавить камеру в ключевой кадр. 4. На ползунке Time измените текущее время, щелкнув по номеру 30. 5. Выполните откат, смещение и поворот камеры, чтобы изменить точку просмотра (см. главу 2). 6. Нажмите клавишу s, чтобы повторно добавить камеру в ключевой кадр. 7. Перейдите к началу анимации и воспроизведите ее с помощью кнопок управления на шкале времени (рис. 16.15). Так как движение камеры анимировано, при воспроизведении анимации вид из окна просмотра будет изменяться (рис. 16.16).
Рис. 16.13 В окне Channel Box отображается название выбранной камеры. По умолчанию новой камере присваивается название camera 1
Рис. 16.16. Такое движение вы увидите после анимации камеры
1. Выберите в меню Create пункты NURBS Primitives Sphere. 2. Не снимая выделения с объекта, нажмите клавишу s, чтобы добавить сферу в ключевой кадр. 3. Измените текущее время на шкале времени на 30. 4. Переместите сферу. Затем нажмите клавишу s, чтобы снова включить ее в ключевой кадр. 5. Выберите в меню Create пункты Cameras Camera and Aim. 6. Выделите и переместите центр наведения камеры в центр сферы (рис. 16.17). 7. Не снимая выделения с точки наведения, выделите сферу, удерживая нажатой клавишу Shift. Нажмите клавишу р, чтобы наследовать центр наведения к сфере. 8. Перемотайте и воспроизведите анимацию. Камера будет направлена на сферу (рис. 16.18).
Рис. 16.17. Центр наведения камеры помещается в центр анимированной сферы, а затем связывается с ней отношениями наследования
Рис. 16.14 В окне Perspective выберите пункты меню View Select Camera
Рис. 16.18. Перемотайте и воспроизведите анимацию. Камера будет направлена на сферу
Камеры 477
476 Камеры и визуализация 9. Выделите камеру, затем выберите в меню Panels окна Perspective пункт Look Through Selected. На экране отобразится вид из камеры, которую вы только что создали. 10.Перемотайте и воспроизведите анимацию. Камера будет отслеживать все перемещения сферы. 3D-художники часто создают анимацию камеры с поворотом, чтобы продемонстрировать созданные модели. Чтобы добиться подобного эффекта, необходимо поместить модель в центр сцены и поворачивать камеру вокруг нее.
Рис. 16.19. Поместите центр трансформаций камеры в центр объекта, чтобы заставить камеру поворачиваться вокруг объекта
Рис. 16.21. Создана кривая NURBS, которая проходит между несколькими конусами
Чтобы переместить центр трансформаций точно в начало координат, удерживайте нажатой клавишу х. Центр трансформаций будет привязан к сетке.
Поворот камеры вокруг объекта 1. Поместите в сцену любой объект. 2. Выберите в меню Create пункты Cameras Camera. В окне Perspective появится новая камера. 3. Отодвиньте камеру от объекта. 4. Нажмите клавишу w. Затем нажмите клавиши Insert/Home, чтобы перейти в режим Pivot Move (Перемещение центра трансформаций). 5. Переместите центр трансформаций в начало координат (рис. 16.19). Опять нажмите клавиши Insert/Home, чтобы выйти из режима Pivot Move. 6. Выделите камеру и нажмите клавишу s, чтобы добавить ее в ключевой кадр. 7. На шкале времени измените текущее время на 30. 8. В окне Channel Box введите значение 360 в поле Rotate Y. Нажмите клавишу Enter.
9. Нажмите клавишу s, чтобы повторно добавить камеру в ключевой кадр. При воспроизведении анимации камера будет поворачиваться вокруг объекта (рис. 16.20). 10. Выделите камеру, затем выберите в меню Panels окна Perspective пункты Panels Look Through Selected. Теперь вы видите сцену из анимированной камеры. При воспроизведении анимации сцена поворачивается таким образом, что объект виден с разных сторон.
Анимация камеры вдоль пути
Рис. 16.20. Анимирован поворот камеры вокруг объекта
Рис. 16.22. Камера присоединена к пути движения, поэтому она переходит к началу кривой. Однако камера неверно направлена
1. Создайте несколько конусов и расположите их в ряд. 2. В окне вида сверху создайте кривую NURBS, которая проходит между конусами (рис. 16.21). 3. Выберите в меню Create пункты Cameras Camera. В окне Perspective появится новая камера. 4. Не снимая выделения с камеры, выделите кривую, удерживая при этом нажатой клавишу Shift. 5. Выберите в меню Animate (Анимировать) пункты Motion Paths Attach to Motion Paths (Пути движения Присоединить к пути движения). Камера перейдет к началу пути (рис. 16.22). Теперь необходимо направить камеру.
Камеры 479
478 Камеры и визуализация 6. Не снимая выделения с камеры, щелкните по пункту motionPath1 в окне Channel Box, чтобы отобразить атрибуты пути движения. 7. Чтобы направить камеру, щелкните по строке Up Twist (Поворот относительно вертикальной оси) в окне Channel Box. Удерживая нажатой среднюю кнопку мыши, перемещайте указатель в окне Perspective до тех пор, пока камера не будет правильно направлена вдоль пути. 8. Перемотайте и воспроизведите анимацию. Камера движется вдоль пути (см. рис. 16.23).
4. Используя функцию отката, приблизьте камеру к объекту. Объект будет искажен, как при съемке настоящей камерой, на которую установлен объектив «рыбий глаз» (рис. 16.26).
Плоскости изображения
Рис. 16.23. Камера следует по кривой при воспроизведении анимации
Рис. 16.26. Камера приблизилась к объекту. Фокусное расстояние по-прежнему равно 6. Перспектива искажена из-за эффекта «рыбий глаз»
Фокусное расстояние Атрибут Focal Length (Фокусное расстояние) аналогичен трансфокатору на настоящей камере. При увеличении данного расстояния изображение увеличивается. Кажется, что объект приблизился, но перспектива при этом искажается. При уменьшении фокусного расстояния изображение уменьшается, а перспектива становится похожей на ортогональные проекции. Установка короткого фокусного расстояния создает эффект «рыбьего глаза».
Создание плоскости изображения
Рис. 16.24. По умолчанию фокусное расстояние камеры равно 35 Рис. 16.27. При создании плоскости изображения в окне вида появляется большой квадрат с перекрестьем. Он определяет положение фоновой картинки
Изменение фокусного расстояния камеры 1. Поместите в сцену любой объект (см. рис. 16.24). 2. В окне Perspective выберите пункты меню View Select Camera, чтобы выделить камеру persp. 3. Присвойте атрибуту Focal Length в окне Channel Box значение 6. Будет казаться, что объект находится очень далеко (рис. 16.25).
Плоскость изображения представляет собой компонент камеры, который показывается на фоне вида сцены. Она остается неизменной независимо от того, куда перемещается камера. Так как плоскость изображения всегда ориентирована на камеру, на нее допускается поместить любое изображение, например, будущего персонажа, и использовать его в качестве шаблона для моделирования. Данный компонент камеры можно применять в качестве заднего плана для сцены, поскольку плоскость визуализируется вместе со сценой.
Рис. 16.25. При фокусном расстоянии, равном 6, будет казаться, что объект находится очень далеко, хотя камера не перемещалась
1. В окне Perspective выполните команды меню View Camera Attribute Editor (Вид Редактор атрибутов камеры). Откроется окно Attribute Editor для камеры. 2. В окне Attribute Editor щелкните по стрелке рядом с заголовком Environment (Окружающая среда), чтобы открыть список настроек, относящихся к окружающей среде камеры. 3. Щелкните по кнопке Create (Создать), расположенной рядом с пунктом Image Plane (Плоскость изображения). В окне Perspective появится плоскость изображения (рис. 16.27). В окне Attribute Editor откроются настройки для работы с плоскостью изображения.
Визуализация 481
480 Камеры и визуализация 4. Щелкните по значку с папкой рядом с пунктом Image Name. 5. Откройте файл с изображением. Затем закройте окно Attribute Editor. Выбранная вами картинка появится на плоскости изображения (рис. 16.28). Чтобы выделить плоскость изображения, необходимо задать маску выбора как Select by Component Type (Выбирать по типу и щелкнуть по кнопке Misкомпонента) . cellaneous (Разное) Чтобы переместить плоскость изображения, необходимо выделить ее и изменить параметры Center X, Y и Z в окне Channel Box. Плоскость легко удалить нажатием клавиши Delete.
Рис. 16.28. На фоне сцены появляется изображение восхода солнца. Картинка сохранит свое положение относительно камеры, даже если вы выполните откат, смещение или поворот
Рис. 16.29. Одна и та же сцена визуализирована с разным разрешением
Чтобы скрыть плоскость изображения, снимите флажок Cameras в меню Show рабочего окна. Так как плоскость изображения является компонентом камеры, а камеру вы скрыли, плоскость изображения также будет скрыта.
Визуализация Визуализация выполняет вывод изображений после того, как вы завершите моделирование, анимацию, освещение и текстурирование сцены. Настройки визуализации находятся в окне Render Globals. Перед тем как приступить к конечному этапу создания сцены, вы должны решить, какого размера будет изображение после визуализации. Разрешение изображения – это его размер в пикселях. Выбор разрешения определяется средой, в которой будет использоваться изображение.
Рис. 16.30. Сравните окончательное (production) качество (слева) и качество предварительного просмотра (preview) – справа. Изображение справа визуализируется намного быстрее, но выглядит хуже
Для изображений, размещаемых на Webсайте, рекомендуется использовать разрешение 320×240 (задается по умолчанию), поскольку высокое разрешение значительно увеличивает размер файла. Для видео в формате NTSC лучше выбрать разрешение 720×486 (рис. 16.29). Для печати необходимо использовать гораздо более высокое разрешение. Печать с разрешением 300 dpi обеспечивает полиграфическое качество изображения. Если требуется распечатать изображение размером 8 на 10 дюймов, следует выбрать разрешение 2400×3300. Визуализация изображения с таким разрешением займет очень много времени. Разрешение можно переопределить в окне Render Globals. Не менее значительную роль играет качество выходного изображения, определяющееся степенью сглаживания (antialiasing). Изображения с низким качеством будут визуализироваться быстрее, поэтому их удобно использовать для тестирования. Установка высокого качества позволяет получить четкое изображение с плавными линиями и формами. Однако время визуализации существенно увеличится, поэтому задавать высокое значение данного параметра рекомендуется только для получения конечного результата (рис. 16.30). Перед визуализацией необходимо сохранить сцену и задать проект. Это позволяет избежать потери изображения, поскольку все визуализированные изображения будут автоматически отправляться в нужную папку.
Визуализация 483
482 Камеры и визуализация Maya предоставляет четыре способа визуализации сцены. Переключение между ними осуществляется в окне Render Globals (рис. 16.31):
Maya Software (Программный визуализатор); Maya Hardware (Аппаратный визуализатор); Maya Vector (Векторный визуализатор); Mental Ray (Визуализатор Mental Ray).
Все настройки указанных методов осуществляются на вкладках окна Render Globals. Вкладка Common (Общие) используется для ввода названия файла, разрешения изображения и определения других параметров, общих для всех четырех способов визуализации. При переходе к другой технологии установки вкладки Common не меняются, что позволяет сэкономить время при настройке нескольких методов визуализации в одной сцене. Каждой из четырех технологий визуализации Mava 5 посвящен отдельный раздел данной главы.
Рис. 16.33. Укажите имя и формат финального изображения
Рис. 16.31. Эти изображения были созданы с использованием технологий визуализации Maya: Mental Ray (вверху слева), Hardware Renderer (вверху справа). Software Renderer (внизу слева) и Vector Renderer (внизу справа) Рис. 16.34. В списке Camera выберите камеру для визуализации
Установка атрибутов на вкладке Common для визуализации одного изображения 1. В окне Render View (Просмотр визуализации) щелкните по кнопке Render Globals или выберите в меню Options (Опции) пункт Render Globals. Откроется окно Render Globals (рис. 16.32). 2. Перейдите на вкладку Common, чтобы получить доступ к списку общих настроек.
Рис. 16.35. NTSC с разрешением 720×486 является стандартным видеоформатом в США
Рис. 16.32. Вкладка Common в окне Render Globals включает атрибуты, которые используются для всех технологий визуализации
3. Щелкните по стрелке рядом с заголовком Image File Output (Вывод файла изображения), чтобы раскрыть список параметров, и введите в поле File Name Prefix (Префикс имени файла) название файла для визуализации. 4. В поле Frame/Animation Ext (Расширение кадра/анимации) из выпадающего списка выберите значение name.ext (Single Frame) – рис. 16.33. В поле File Name Prefix укажите имя файла. 5. В поле Image Format выберите формат изображения. По умолчанию в Maya устанавливается ее собственный формат IFF, но файлы этого формата могут не открыться в других программах. Вы можете выбрать более распространенный формат, например TIFF или Targa. 6. Выберите вид, который будет визуализирован (рис. 16.34). Даже если вы создали новые камеры, по умолчанию в окне Render Globals устанавливается камера Perspective. Не забудьте определить нужную камеру, иначе результат рендеринга окажется не таким, как вы ожидали. 7. Щелкните по стрелке рядом с заголовком Resolution (Разрешение), чтобы получить доступ к настройкам разрешения. 8. Выберите в меню Presets (Предварительные установки) пункт CCIR 601/ Quantel NTSC (рис. 16.35). Данная настройка используется при сохранении изображения в видеоформате NTSC. 9. Укажите соответствующие параметры для выбранной технологии визуализации (см. разделы, посвященные методам визуализации).
Визуализация 485
484 Камеры и визуализация Установка общих атрибутов визуализации последовательности изображений 1. Задайте в окне Render Globals параметры камеры, укажите уровень сглаживания, разрешение и формат изображения, как было описано в предыдущем разделе. 2. Чтобы визуализированные изображения и файл сцены имели разные имена, измените названия файлов. Когда вы введете новое имя, название файла в верхней части окна соответствующим образом изменится (рис. 16.36). 3. Выберите пункт name.#.ext в выпадающем списке Frame/Animation Ext. Изменение названия сразу же отобразится на экране. Чтобы визуализировать анимацию (то есть последовательность сменяющих друг друга изображений), а не одно изображение, следует выбрать опцию, которая включает символ «#». Опция name.#.ext используется при работе в среде Windows, однако для Macintosh или Irix лучше выбрать опцию name.# или name.ext.#, поскольку в этих системах применяются разные обозначения для имен файлов. Несколько вариантов имен, предлагаемых Maya, позволяют добиться максимальной гибкости при визуализации. Например, при установке name.# файлы будут называться по образцу happy.1, happy.2, happy.3. а при назначении name.ext.# – happy.tif.1, happy.tif.2 и happy.tif.3. 4. Задайте начальный и конечный кадры анимации, чтобы визуализировать именно этот временной диапазон.
Рис. 16.37. В верхней части окна Render Globals отображаются имя файла и полный путь к нему
Рис. 16.36. В верхней части окна Render Globals появится новое название файла
5. Присвойте параметру Frame Padding (Заполнение кадров) значение 4 и закройте окно Render Globals. Это позволит дополнительно включить в название файла четыре цифры, чтобы впоследствии было удобно сортировать изображения по имени файла (рис. 16.37). 6. Укажите соответствующие параметры для выбранной технологии визуализации. Если в качестве формата изображения вы выбрали AVI, Maya будет визуализировать единый файл фильма, а не последовательность отдельных нумерованных изображений.
Рис. 16.38. Трассировка лучей позволяет сделать сцену более реалистичной
Визуализатор Software Renderer Maya включает две базовые категории программной визуализации: установку по умолчанию, известную как А-буфер, или испускание лучей (raycasting), и трассировку лучей (raytracing). А-буфер позволяет создавать высококачественные изображения с освещением, тенями, текстурами и движением. Однако для достижения настоящего реализма изображений необходимо использовать отражения и преломления света (см. раздел «Трассировка лучей»). Чтобы изображение объекта невозможно было отличить от его реального прототипа, потребуется применить трассировку лучей (рис. 16.38).
Визуализация 487
486 Камеры и визуализация
В комплекте с Maya поставляется программа FCheck, которая упрощает просмотр изображений и анимации.
Визуализация сцены с использованием Software Renderer 1. Откройте или создайте сцену. 2. Откройте окно Render Globals и присвойте параметру Render Using (Визуализировать с использованием) значение Maya Software (рис. 16.39). 3. Измените соответствующим образом параметры на вкладке Common, как описано в разделе «Установка атрибутов на вкладке Common для визуализации одного изображения» ранее в этой главе. 4. На вкладке Maya Software щелкните по стрелке рядом с заголовком Anti-Aliasing Quality (Качество сглаживания), чтобы развернуть список настроек. 5. Выберите в выпадающем списке Quality (Качество) пункт Production Quality (Окончательное качество) – рис. 16.40. При этом автоматически задаются параметры визуализации, позволяющие получить изображения высокого качества. 6. Выберите пункт Batch Render (Пакетная визуализация) в меню Render, чтобы начать визуализацию. 7. Щелкните по значку Script Editor (Редактор сценариев) в нижнем левом углу главного окна Maya. Откроется окно Script Editor, отображающее ход визуализации (рис. 16.41). На вкладке Maya Software окна Render Globals рекомендуется активировать опцию Motion Blur (Размытие при движении). Движущиеся объекты будут слегка смазываться. Это позволяет сделать движение реалистичным и максимально приближенным к движению объектов, снятому настоящей камерой.
Просмотр визуализации
Рис. 16.39. Выпадающий список Render Using позволяет изменять набор параметров на вкладках окна Render Globals, а также переключаться между технологиями визуализации
Рис. 16.42. В окне FCheck отображается процесс визуализации текущего кадра. В ходе визуализации этот кадр не будет обновляться
Рис. 16.40. Установки Quality позволяют автоматически задать стандартные значения для параметров окна Render Globals
Рис. 16.43. При открытии анимации в окне FCheck воспроизводятся все визуализированные кадры Рис. 16.41. Редактор Script Editor отображает ход визуализации
1. Выберите в меню Render пункт Show Batch Render (Показать пакетную визуализацию). Если рендеринг проекта все еще выполняется, процесс визуализации текущего кадра будет отображен в окне программы FCheck (рис. 16.42). Если визуализация завершена, программа FCheck откроет последний кадр. 2. В окне FCheck выберите пункты меню File Open Animation (Файл Открыть анимацию) при работе в Windows или пункт Open Sequence (Открыть последовательность) для Macintosh (см. рис. 16.43). 3. Найдите файлы визуализированных изображений. Они должны содержаться в папке Images рабочего проекта. 4. Откройте первое изображение в группе. Анимация будет загружаться медленно и воспроизводиться на полной скорости. Если анимация включает большое количество изображений или выбрано очень высокое разрешение, скорость просмотра будет низкой. Скорость воспроизведения анимации также зависит от аппаратных средств вашего компьютера. Чтобы просмотреть анимацию, перетащите указатель мыши слева направо. «Горячие» клавиши программы FCheck позволяют оперативно управлять воспроизведением анимации: клавиша Пробел начинает и останавливает показ ролика, клавиша со стрелкой «вправо» переводит анимацию на один кадр назад, клавиша со стрелкой «влево» – на один кадр вперед.
Визуализация 489
488 Камеры и визуализация
Использование буфера аппаратной визуализации
Буфер аппаратной визуализации Программная визуализация занимает много времени. Чтобы оценить результат, не выполняя программной визуализации, воспользуйтесь аппаратной визуализацией. Аппаратная визуализация – это нечто среднее между предварительным просмотром анимации (playblast) и программной визуализацией. В результате вы получите группу экранных снимков сцены. По сравнению с предварительным просмотром аппаратная визуализация имеет ряд преимуществ. Она позволяет сгладить грани поверхностей и визуализировать размытие движения. Кроме того, при ее выполнении создается альфа-канал для более удобного комбинирования с другими изображениями (рис. 16.44). Вы можете ускорить рендеринг следующим образом: произведите аппаратную визуализацию для некоторых элементов сцены, а затем скомбинируйте финальные изображения с фоном, полученным с использованием программной визуализации. Однако программная визуализация позволяет достичь гораздо лучших результатов, чем аппаратная. Аппаратная визуализация не создает тени, отражения или преломления лучей и не так хороша для работы с текстурами и освещением. Многие эффекты, например, свечение, не отображаются, и вы не видите карты рельефа. Аппаратную визуализацию рекомендуется использовать при работе со сценами с минимальным количеством текстур или частиц, чтобы затем включить полученное изображение в качестве слоя в файл анимации с высоким разрешением (рис. 16.45).
Рис. 16.46. В меню Cameras выберите нужный вид
Рис. 16.44. На рисунке представлен результат аппаратной визуализации объекта при активации опции Motion Blur и альфа-канал, созданный для данного изображения
Рис. 16.45. Это изображение получено при помощи программной визуализации. Обратите внимание на карты рельефа, эффекты свечения и отражения света
Рис. 16.47. На вкладке Hardware Render Globals можно задать название файла, разрешение, диапазон кадров и другие параметры буфера аппаратной визуализации
1. Откройте или создайте сцену с анимацией. 2. Выполните команды меню Window Rendering Editors Hardware Render Buffer, чтобы открыть окно Hardware Render Buffer. 3. Выберите в меню Cameras (Камеры) окна Hardware Render Buffer камеру, вид которой требуется визуализировать (рис. 16.46). Чтобы изменить вид просмотра, используйте откат, смещение и поворот камеры в окне Hardware Render Buffer. 4. В окне Hardware Render Buffer выберите пункты меню Render Attributes (Атрибуты). Откроется окно Attribute Editor для визуализатора Hardware Ren der Buffer (рис. 16.47). Вкладка HardwareRenderGlobals содержит набор настроек для вывода файлов изображения с использованием буфера аппаратной визуализации. Обратите внимание, что открывается другое окно, а не окно Render Globals, в котором устанавливаются атрибуты Hardware Renderer (Аппаратный визуализатор). 5. Укажите название файла, расширение, начальный и конечный кадры, формат изображения и разрешение. 6. В окне Hardware Render Buffer выберите пункты меню Render Render Sequence (Визуализация Визуализация последовательности), чтобы выполнить быструю визуализацию последовательности кадров. Файлы изображений будут помещены в папку Images рабочего проекта.
Визуализация 491
490 Камеры и визуализация Настройка качества визуализации
Трассировка лучей
1. Выберите в меню Window пункты Rendering Editors Hardware Render Buffer. Откроется окно Hardware Render Buffer. 2. Определите параметры аппаратной визуализации, как было описано в предыдущем разделе. 3. Воспользуйтесь полосой прокрутки, чтобы перейти к разделу Multi Pass Render Options (Опции для многопроходной визуализации). Установите флажки Multi Pass Rendering (Многопроходная визуализация) и Anti Alias Polygons (Сгладить полигоны) – см. рис. 16.48. 4. Щелкните по кнопке Test Render (Тестовая визуализация) в окне Hardware , чтобы оценить реRender Buffer зультат. Программа создаст и скомбинирует три прохода изображения, сгладив все грани поверхностей. 5. Присвойте параметру Render Passes (Проходы визуализации) значение 5, а параметру Motion Blur (Размытие при движении) – значение 1. 6. Щелкните по кнопке Test Render в окне Hardware Render Buffer, чтобы оценить результат. 7. Программа выполнит пять проходов изображения. При значении параметра Motion Blur, равном 1, повторы выполняются со сдвигом в один кадр (рис. 16.49).
Расчет и прослеживание траектории лучей (трассировка) позволяют обеспечивать эффект преломления лучей света и отбрасывания теней прозрачными объектами. Единственный недостаток трассировки – большие временные затраты и ресурсоемкость. Maya сначала направит лучи от камеры, чтобы определить, какие объекты видимы в текущем кадре, затем рассчитает лучи от источников света, чтобы найти элементы, которые окажутся освещенными. И наконец, рассчитает лучи от поверхностей элементов, для которых коэффициент отражения не равен нулю, чтобы установить, какие именно элементы будут отражаться. Чтобы создать эффект отражения, необходимо поместить в сцену несколько объектов и использовать алгоритм Raytracing (Трассировка лучей) – рис. 16.50. Преломление возникает при движении света сквозь оптически плотный, прозрачный материал, например, стекло или жидкость. Без данного эффекта стекло не выглядит реалистичным. Maya позволяет задать показатель преломления, определяющий степень искажения света при прохождении сквозь поверхность (рис. 16.51). Можно приводить самые разные примеры эффекта преломления. Наверное, на отдыхе возле реки или моря вы не раз пробовали поймать плывущую рыбу руками и всегда промахивались. Дело в том, что преломление искажает изображение рыбы, и при этом вам кажется, что она находится в другом месте, чем на самом деле. Чтобы схватить рыбу, вы должны сделать поправку на преломление света.
Рис. 16.48. Установите флажки Multi Pass Rendering и Anti Alias Polygons, чтобы сгладить грани поверхностей
Рис. 16.50. Эта сцена создана исключительно из сфер, которые отражаются друг от друга
Рис. 16.51. Каждая прозрачная сфера имеет различный коэффициент преломления: слева – 1,0, в центре – 1,333, справа – 2,0
Рис. 16.49. Функция Motion Blur позволяет получить размытие при движении объекта
Визуализация 493
492 Камеры и визуализация Создание отражений
Создание преломления
1. Создайте сцену с большой плоскостью, сферой, множеством кубов и несколькими источниками света (рис. 16.52). 2. Назначьте кубам материал Phong красного цвета, плоскости – материал Phong в клетку, а сфере – материал Phong с отражением. 3. Щелкните по кнопке Render Globals в окне Render View или выберите в меню Options пункт Render Globals. Откроется окно Render Globals. 4. Выберите в выпадающем списке Render Using пункт Maya Software и присвойте параметру Anti-Aliasing Quality Preset значение Production Quality. 5. Воспользуйтесь полосой прокрутки, чтобы перейти к разделу Raytracing Quality (Качество трассировки лучей), и откройте список параметров. 6. Установите флажок Raytracing, чтобы активировать алгоритм Raytracing (см. рис. 16.53). 7. Отобразите сферу полностью в окне Perspective, выделив ее и нажав клавишу f. Щелкните по кнопке Render , чтобы открыть окно Render View и визуализировать сцену вместе с отражениями (рис. 16.54).
1. Откройте сцену, созданную в предыдущем упражнении. Выделите сферу. 2. В окне Hypershade щелкните по кнопке Graph Materials on Selected Items (Показать материалы выделенных объектов) . Материал сферы появится в рабочей области окна Hypershade. 3. Дважды щелкните по материалу Phong, назначенному сфере, чтобы открыть для него окно Attribute Editor. 4. Переместите ползунок Transparency (Прозрачность) вправо до предела. Цветовое поле рядом с надписью Transparency окрасится в белый цвет (см. рис. 16.55). 5. Воспользуйтесь полосой прокрутки окна Attribute Editor, чтобы перейти к разделу Raytrace Options, и откройте список параметров. 6. Установите флажок Refractions (Преломления). 7. Присвойте параметру Refractive Index (Показатель преломления) значение 1,333, что соответствует степени преломления воды (рис. 16.56).
Рис. 16.52. Создайте сцену с плоскостью, сферой, окруженной множеством кубов, направленным и протяженным источниками света Рис. 16.55. При перемещении ползунка Transparency поле цвета становится белым. В Maya белый цвет соответствует полной прозрачности, а черный – непрозрачности
Рис. 16.53. В окне Render Globals установите флажок Raytracing, иначе не будет выполняться визуализация отражений и преломлений
Рис. 16.56. Параметру Refractive Index присвоено значение 1,333. При значении 1 визуализируются только отражения, поскольку направление луча при прохождении через поверхность не будет меняться
Maya позволяет управлять видимостью объектов в отражениях. Чтобы изменить статус объекта, выделите его и откройте окно Attribute Editor. Перейдите в раздел Render Stats (Параметры визуализации) и снимите флажок Visible in Reflections (Виден в отражениях).
Рис. 16.54. При выполнении визуализации сцены вы увидите отражения кубов в сфере
Визуализация 495
494 Камеры и визуализация
Однако IPR просчитывает большую часть изменений, вносимых в освещение и материалы, что уже позволяет сэкономить значительное время. Рекомендуется сочетать IPR-визуализацию при установке и настройке цвета объектов и источников освещения с последующей программной визуализацией карт рельефа и теней.
8. Щелкните по кнопке Render , чтобы визуализировать сцену. При прохождении через сферу лучи преломляются, а объекты, находящиеся за ней, кажутся искаженными (рис. 16.57). Maya позволяет управлять видимостью объектов при преломлении света. Чтобы изменить статус объекта, выделите его и откройте окно Attribute Editor. Перейдите в раздел Render Stats и снимите флажок Visible in Refractions (Виден в преломлениях).
Интерактивная фотореалистичная визуализация При изменении материала или освещения необходимо каждый раз снова выполнять визуализацию. Это увеличивает время работы с такими элементами, как источники света или карты рельефа, так как приходится ждать результатов визуализации. Задача легко решается при помощи модуля Interactive Photorealistic Rendering (Интерактивная фотореалистичная визуализация), или IPR. Он позволяет выделить область сцены, которую требуется визуализировать, и вносить изменения в интерактивном режиме (рис. 16.58) Однако в применении модуля IPR есть ряд ограничений. Он не обновляет положение объектов и теней, не изменяет вид и не рассчитывает трассировку лучей. Такие эффекты, как отражения и преломления, просто не отображаются. Кроме того, данный модуль всегда использует сглаживание низкого качества.
Использование модуля IPR
Рис. 16.57. Прозрачная сфера визуализирована и преломляет свет
Рис. 16.60. Дождитесь появления подсказки в окне Render View и выделите область, которая будет обновляться при внесении изменений. Допускается выбрать все изображение
Рис. 16.58. Карта рельефа визуализируется с использованием IPR. В выделенной области величина рельефа уменьшена с 1,0 до 0,1 Рис. 16.61. При изменении глубины рельефа выделенная область интерактивно обновляется в окне Render View
Рис. 16.59. Направленный источник света нацелен на плоскость с картой рельефа
1. Создайте плоскость, назначьте ей материал с картой рельефа, и поместите в сцену направленный источник света, который будет установлен по диагонали к плоскости (рис. 16.59). Создание карт рельефа описывалось в разделе «Назначение карты рельефа» главы 14. , чтобы 2. Щелкните по кнопке IPR открыть окно Render View и визуализировать сцену. В нижней части окна Render View появится сообщение, в котором вам будет предложено указать область для визуализации. 3. Выделите область в окне Render View (рис. 16.60). 4. Выделите плоскость. 5. Щелкните по кнопке Graрh Materials on Selected Objects в окне Hypershade. Узлы тонировщика появятся в рабочей области окна Hypershade. 6. В окне Hypershade дважды щелкните по утилите bump2d, чтобы открыть для нее окно Attribute Editor. 7. Присвойте атрибуту Bump Depth (Глубина рельефа) значение 2. Выделенная область в окне Render View отразит изменения (рис. 16.61). Попробуйте обновить другие параметры сцены, например, интенсивность и цвет освещения или цвет и тип материала.
Визуализация 497
496 Камеры и визуализация Если изображение, полученное с помощью IPR, не обновляется, выключите опцию Raytracing в окне Render Globals и вновь попробуйте выполнить визуализацию с использованием IPR.
Визуализатор Hardware Renderer Новый визуализатор Maya Hardware Renderer (Аппаратный визуализатор) использует высокую мощность и скорость видеокарт нового поколения. Он создает изображения более высокого качества, чем модуль Hardware Render Buffer (см. раздел «Использование буфера аппаратной визуализации» ранее в этой главе). Hardware Renderer позволяет получать изображения телевизионного качества в гораздо более короткие сроки, чем визуализатор Software Renderer. Как и модуль Hardware Render Buffer, визуализатор Hardware Renderer идеален для выполнения предварительной анимации показа и многочисленных проходов визуализации объекта. Полученные изображения рекомендуется интегрировать в слои с высоким разрешением для последующего комбинирования анимации, что позволит существенно сократить общее время визуализации. Одно из преимуществ визуализатора Hardware Renderer по сравнению с модулем Hardware Render Buffer состоит в использовании пакетной визуализации. Модуль Hardware Render Buffer выполняет снимки с экрана, поэтому открытие окна другой программы поверх окна визуализации препятствует работе процедуры. Избежать этой проблемы помогает пакетная визуализация Hardware Renderer.
Визуализация изображения с использованием Hardware Renderer
Рис. 16.62. Выберите пункт Render Using Maya Hardware Рис. 16.63. Установка Preview Quality обеспечивает быстрый просмотр визуализации, когда нет необходимости в высоком качестве изображения
Рис. 16.64. Редактор Script Editor показывает ход визуализации
1. Откройте или создайте сцену для программной визуализации. 2. Откройте окно Render Globals и в выпадающем списке Render Using выберите пункт Maya Hardware (рис. 16.62). 3. Определите настройки на вкладке Common, как описывалось в разделе «Установка атрибутов на вкладке Common для визуализации одного изображения» ранее в этой главе. 4. На вкладке Maya Hardware щелкните по стрелке рядом с заголовком Quality, чтобы раскрыть список параметров. 5. Выберите в выпадающем списке Quality пункт Production Quality (Окончательное качество), чтобы автоматически выполнить быструю настройку визуализации (рис. 16.63). Для получения изображений высокого качества в поле Presets установите значение Production Quality. 6. Выберите пункт Batch Render в меню Render, чтобы начать визуализацию. 7. Щелкните по значку Script Editor в нижнем левом углу главного окна. Откроется редактор Script Editor, в котором отобразится ход визуализации (рис. 16.64).
Визуализация 499
498 Камеры и визуализация
Визуализатор Vector Renderer
Векторная визуализация объекта
В пятой версии Maya появилась новая технология визуализации – Vector Renderer (Векторный визуализатор). Результатом визуализации с помощью Software Renderer, Hardware Renderer и Mental Ray является растровое изображение. При увеличении масштаба подобное изображение будет расплываться, а прямые линии – становиться ступенчатыми. Векторные изображения состоят из математических кривых, которые можно неограниченно увеличивать или уменьшать без потери качества изображения. Визуализация с помощью Vector Renderer позволяет получить файлы наиболее распространенных векторных форматов – SWF для Macromedia Flash, AI для Adobe Illustrator, Encapsulated Postscript (EPS) и Scalable Vector Graphics (SVG). Визуализированные векторные файлы можно импортировать в Adobe Illustrator для создания трехмерных логотипов, загружать в файлы Flash для создания трехмерной анимации и графики на Web-сайте или импортировать в коллажи Photoshop, чтобы добавить изображению необходимую глубину. Но это далеко не все возможности применения визуализатора Vector Renderer. Он позволяет визуализировать только цвет объекта или его каркас (рис. 16.65). Здесь вам предоставляется свобода выбора: заполнить каркас цветом или визуализировать линии каркаса. Векторная визуализация Maya значительно расширяет возможности управления рендерингом сцены и размерами полученного файла. В следующем разделе описывается рендеринг сцены в векторное изображение формата SWF. Если файл SWF с анимацией импортируется во Flash, каждый кадр будет визуализирован и добавлен на шкалу времени Flash. Затем кадры можно редактировать или импортировать.
1. Откройте или создайте сцену для векторной визуализации. 2. Откройте окно Render Globals и в выпадающем списке Render Using выберите пункт Maya Vector. 3. На вкладке Common в окне Render Globals задайте название файла, для определения нумерации выберите пункт name.ext, присвойте параметру Frame/ Animation Ext значение Vector Multi Frame, а в поле Image Format укажите формат Macromedia SWF (формат SWF). Не обязательно устанавливать высокое разрешение, достаточно 320×240, поскольку векторный файл может масштабироваться без ухудшения качества. 4. На вкладке Maya Vector в разделе Image Format Options (Настройки формата изображения) задайте частоту обновления кадров равной аналогичному параметру во Flash. Например, выберите 12 (помните, что установка высокой частоты обновления кадров увеличивает размер файла). Укажите версию Flash. В данном примере используется версия Flash 5, которая устанавливается по умолчанию (рис. 16.66). 5. Установите флажок Fill Objects (Заливка объектов) в разделе Fill Options (Опции заливки), затем в списке Fill Style (Стиль заливки) выберите пункт Single Color (Один цвет) и активируйте флажок Show Back Faces (Показывать грани на задней стороне) – рис. 16.67.
Рис. 16.66. Укажите параметры Frame Rate и Flash Version для файла SWF
Рис. 16.65. Здесь представлен один и тот же объект: вверху визуализирован объект с однотонной заливкой, внизу – только его каркас
Рис. 16.67. Настройки в разделе Fill Options контролируют объем и стили цвета, а также тени и блики
Визуализация 501
500 Камеры и визуализация 6. Щелкните по кнопке Render the Current Frame (Визуализировать текущий кадр) в строке состояния, чтобы начать рендеринг сцены в окне Render View. Каждый цвет, назначенный объекту, будет визуализирован отдельно, так как в разделе Fill Options поставлен флажок Single Color (рис. 16.68). 7. Выберите опцию Four Color (Четыре цвета) в разделе Fill Options. 8. Щелкните по кнопке Render the Current Frame в строке состояния, чтобы выполнить рендеринг сцены в окне Render View. Каждый цвет, привязанный к объекту, будет визуализирован в четырех градациях, так как в разделе Fill Options установлен флажок Four Color (рис. 16.69). 9. Под разделом Fill Options располагается раздел Edge Options (Опции ребер). Отметьте в нем флажок Include Edges (Включая ребра).
Рис. 16.68. При установке одного цвета весь материал, заданный для поверхности, будет окрашен в однородный цвет
Рис. 16.70. Отображаются внешние границы цветных областей
Рис. 16.69. Детальность поверхности и размер файла зависят от количества используемых цветов
Рис. 16.71. Добавление граней и заливок увеличивает размеры визуализированного файла
10. Щелкните по кнопке Render the Current Frame, чтобы визуализировать сцену в окне Render View. Теперь отображаются внешние границы объекта (на рисунке они особенно хорошо видны на колесах), так как в разделе Edge Options установлен флажок Include Edges (рис. 16.70). 11. В разделе Edge Options установите флажок Edge Detail (Детали ребра) и присвойте параметру Min Edge Angle (Минимальный угол ребра) значение 1. 12. Щелкните по кнопке Render the Current Frame, чтобы визуализировать сцену в окне Render View. Вы увидите внешние границы объекта и часть его каркаса, так как активирован флажок Edge Detail и уменьшено значение параметра Min Edge Angle (рис. 16.71). 13. Укажите в поле Edge Color (Цвет ребра) раздела Edge Options ярко-красный цвет и снимите флажок Fill Objects (рис. 16.72).
Рис. 16.72. Настройка Include Edges контролирует контуры границы и каркасы объектов
Визуализация 503
502 Камеры и визуализация 14. Щелкните по кнопке Render the Current Frame, чтобы визуализировать сцену вокне Render View. Теперь отображается только каркас (рис. 16.73). Для выполнения векторной визуализации не требуется освещение, однако источники точечного света, помещенные в сцену, позволяют упростить распределение цвета по поверхности.
Визуализатор Mental Ray Визуализатор Mental Ray является новшеством пятой версии Maya. Он похож на визуализатор Software Renderer, однако более совершенен, поскольку позволяет работать со светотенямии (caustics) и глобальным освещением (global illumination). Светотени и глобальное освещение служат основой для создания сложных эффектов освещения, которые помогают добиться фотореализма визуализации. Светотени представляют собой световые узоры. Подобный эффект наблюдается на дне бассейна в яркий солнечный день. Светотени создает преломление света, если его лучи попадают на диффузную (то есть отражающую не только по зеркальному закону) поверхность с несколькими бликами. Этот эффект невозможно имитировать при обычной трассировке лучей. Чтобы расширить стандартную процедуру, визуализатор Mental Ray использует карты фотонов, которые хранят информацию о глобальном освещении и вызываются при трассировке лучей.
Рис. 16.73. Визуализация только каркасов позволяет значительно уменьшить размер визуализированного файла
Рис. 16.74. Для создания эффекта светотеней используется тор, имитирующий кольцо
Если для визуализации сцены используется стандартная трассировка лучей, освещаются только те объекты, на которые падает прямой свет. Установка Global Illumination (Глобальное освещение) визуализатора Mental Ray позволяет свету отражаться, частично освещая объекты, находящиеся в тени. Алгоритм Final Gather (Последний сбор) создает очень реалистичные эффекты затенения, отражая цвет объекта на другие объекты. При активации алгоритма Final Gather лучи направляются из источника света, затем из точки падения на объект проецируются другие лучи, которые используются для расчета энергии, поступающей от окружающих объектов. Таким образом определяется влияние отраженных от других объектов света и цвета. По сути, Final Gather превращает любой объект в своеобразный источник света. Визуализация с помощью Mental Ray позволяет создавать фотореалистичные изображения, но требует больших временных затрат. При его использовании можно получить фантастические результаты, однако в большинстве случаев рекомендуется применять более быстрый визуализатор Software Renderer. Maya предлагает множество вариантов настройки визуализатора Mental Ray, и все они очень подробно описаны в справочном руководстве программы.
Создание светотеней 1. Создайте NURBS плоскость и тор. 2. Присвойте параметру тора Height Ratio (Коэффициент высоты) значение 0,2 и переместите тор таким образом, чтобы он располагался на плоскости (рис. 16.74).
Визуализация 505
504 Камеры и визуализация 3. Откройте окно Render Globals и в выпадающем списке Render Using выберите пункт Mental Ray. 4. Определите параметры на вкладке Common, как описывалось в разделе «Установка атрибутов на вкладке Common для визуализации одного изображения» ранее в этой главе. 5. На вкладке Mental Ray в выпадающем списке Quality выберите пункт Preview Caustics (Предварительный просмотр светотеней) – рис. 16.75. Теперь в разделе Caustics and Global Illumination (Светотени и глобальное освещение) активирована опция визуализации светотеней. 6. В разделе Caustics and Global Illumination установите значение 64 в поле Caustic Accuracy (Точность светотеней). Это позволит уменьшить количество пятен. 7. Создайте прожектор и направьте его на тор (рис. 16.76). 8. Откройте окно Attribute Editor для прожектора и установите его интенсивность равной 13, вид затухания – Quadratic, а угол конуса – 80. 9. Установите флажок Emit Photons (Излучать фотоны) в разделе Mental Ray Caustic and Global Illumination (см. рис. 16.77). При использовании большого количества фотонов визуализация выполняется очень медленно, однако при увеличении энергии фотонов время визуализации остается неизменным. В данном примере применяются установки по умолчанию. Источник света будет излучать фотоны, которые используются для отражения света по всей сцене. 10. Создайте в окне Hypershade материал Phong и назначьте его тору.
Рис. 16.77. Установка Emit Photons позволяет отражать свет по всей сцене Рис. 16.75. Чтобы задействовать предварительные установки для визуализации светотеней в окне Render Globals, выберите в выпадающем списке Quality пункт Preview Caustics
11. Откройте окно Attribute Editor для материала Phong, поменяйте цвет на ярко-желтый и присвойте параметру Diffuse (Рассеивание) значение 0,3 (рис. 16.78). Объект, отражающий светотени, должен иметь тонировщик с низким рассеиванием света. 12. Создайте материал Lambert и назначьте его плоскости. 13. Откройте окно Attribute Editor для материала Lambert, измените цвет на светло-серый и присвойте параметру Diffuse значение 0,8. Объекту, на который ложатся светотени, необходимо назначить тонировщик с высоким рассеиванием света. 14. Щелкните по кнопке Render the Current Frame, чтобы визуализировать сцену в окне Render View (рис. 16.79). Помните, что визуализация может занять больше времени, чем при использовании других методов. Снимите флажок Photon Map Rebuild (Перестройка карты фотонов) для сокращения времени финальной визуализации. Для работы со светотенями можно использовать источник света любого типа.
Рис. 16.78. Чтобы ослабить рассеивание, присвойте параметру Diffuse значение 0,3
Рис. 16.76. Лучи от прожектора будут создавать отраженные светотени на плоскости
Рис. 16.79. На поверхности плоскости появились отражения светотеней
Визуализация 507
506 Камеры и визуализация Чтобы указать, должен ли объект отражать светотени или освещаться ими, выделите его и откройте окно Attribute Editor. Перейдите в раздел Mental Ray и снимите флажок Derive from Maya (Получить из Maya). Присвойте параметру светотени значение Cast Only (Только отражать) или Receive Only (Только освещаться).
Применение стандартной трассировки лучей
Использование алгоритма Final Gather 1. Продолжайте работать со сценой, созданной в предыдущем разделе. Откройте окно Render Globals. 2. На вкладке Mental Ray в выпадающем списке Quality выберите пункт Preview Final Gather (Предварительный просмотр последнего сбора) – рис. 16.80. Теперь в разделе Final Gather отмечен одноименный флажок. 3. Задайте нужное значение для параметра Final Gather Rays (Лучи последнего сбора). Чем оно больше, тем больше времени тратится на визуализацию. В данном примере используется установка по умолчанию. 4. Щелкните по кнопке Render the Current Frame. Сцена будет визуализирована в окне Render View (рис. 16.81).
Рис. 16.81. При визуализации с использованием алгоритма Final Gather желтый цвет кольца отражается на плоскости Рис. 16.84. Установите вид затухания как Quadratic и увеличьте интенсивность
Рис. 16.82. Создайте модель комнаты с полом, потолком и двумя боковыми стенами Рис. 16.85. Сцена создана с использованием стандартной трассировки лучей. Освещены только те области, на которые попадает прямой свет
Рис. 16.80. Выберите в выпадающем списке Quality пункт Preview Final Gather
Рис. 16.83. Убедитесь в том, что источник света находится вне комнаты, а его свет направлен внутрь
1. Создайте новую сцену, подобную изображенной на рис. 16.82. В левой стене обязательно оставьте отверстие в форме двери, через которое будет проникать свет. 2. Откройте окно Render Globals и в выпадающем списке Render Using выберите пункт Maya Software. Присвойте параметру Quality значение Production Quality, затем поставьте флажок Raytracing в разделе Raytracing Quality. Сначала мы создадим визуализацию со стандартной трассировкой лучей для сравнения со сценой, которая была визуализирована с помощью Mental Ray. 3. Определите параметры на вкладке Common, как описывалось в разделе «Установка атрибутов на вкладке Common для визуализации одного изображения» ранее в этой главе. 4. Создайте прожектор и направьте его на комнату (рис. 16.83). 5. Откройте окно Attribute Editor для прожектора и в поле интенсивности света введите значение 1000, вид затухания – Quadratic, a угол конуса – 80 (рис. 16.84). 6. Щелкните по заголовку Shadows (Тени) в окне Attribute Editor прожектора, чтобы раскрыть список параметров для работы с тенями, и установите флажок Use Ray Trace Shadows (Использовать трассированные тени). Источник света будет создавать тени, смоделированные по принципу трассировки лучей. 7. Нажмите кнопку Render the Current Frame, чтобы визуализировать сцену в окне Render View (рис. 16.85).
Визуализация 509
508 Камеры и визуализация
Maya позволяет управлять видимостью объектов при преломлении света. Чтобы изменить статус объекта, выделите его и откройте окно Attribute Editor. Перейдите в раздел Render Stats и снимите флажок Visible in Refractions (Виден в преломлениях).
Добавление глобального освещения 1. Выполните действия, описанные в разделе «Применение стандартной трассировки лучей» ранее в этой главе. 2. На вкладке Mental Ray окна Render выберите в выпадающем списке Quality Globals пункт Preview Global Ilium (Предварительный просмотр глобального освещения). В разделе Caustics and Global Illumination автоматически установится флажок Global Illumination. 3. В разделе Caustics and Global Illumination задайте для параметра Global Ilium Accuracy (Точность глобального освещения) значение 6000, для параметра Global Ilium Radius (Радиус глобального освещения) – значение 35, а для параметра Photon Volume Accuracy (Объемная точность фотонов) – 5000. 4. Выделите прожектор и откройте окно Attribute Editor. 5. В разделе Mental Ray Caustic and Global Illumination отметьте флажок Emit Photons и задайте для параметра Energy (Энергия) значения 1000, 1000 и 1000. 6. Задайте для параметра Global Ilium Photons (Фотоны глобального освещения) значение 30000 (рис. 16.86). 7. Создайте в окне Hypershade материал Phong и назначьте его сфере и кубам (но не стенам). 8. Откройте окно Attribute Editor для материала Phong, измените цвет на светло-желтый, а значение атрибута Diffuse – на 0,3. 9. Щелкните по кнопке Render the Current Frame, чтобы визуализировать сцену в окне Render View (рис. 16.87). Визуализация может занять довольно продолжительное время.
Освещение, основанное на анализе изображений (IBL), – функция, дополняющая алгоритмы Global Illumination (Глобальное освещение) и Final Gather (Последний сбор). IBL использует изображение для создания общего освещения сцены. Эта функция особенно полезна, если вы пытаетесь совместить освещение трехмерных и движущихся объектов. IBL также очень хорошо моделирует наружное освещение, поскольку обычно использует круглый «купол» для охвата освещаемых объектов.
Рис. 16.86. Источники освещения должны излучать фотоны, чтобы свет отражался по всей сцене
Рис. 16.89. Нажмите кнопку Create в разделе Image Based Lighting окна Render Globals
Добавление освещения, основанного на анализе изображений 1. Создайте новую сцену наподобие той, что изображена на рис. 16.88. 2. Откройте окно Render Globals и щелкните мышью по панели Mental Ray. Затем выберите пункт PreviewFinalGather в выпадающем меню Quality Presets, чтобы включить алгоритм Final Gather. 3. В разделе Image Based Lighting щелкните по кнопке Create (рис. 16.89). На сцене появится сфера (рис. 16.90). 4. Если сфера не вмещает все объекты на сцене, щелкните по кнопке r, чтобы активизировать инструмент Scale, и уменьшайте масштаб до тех пор, пока сфера не поместится на сцене.
Рис. 16.87. Визуализатор Mental Ray позволяет осветить поверхности сцены, на которые не попадают прямые лучи света
Рис. 16.88. Создайте сцену, похожую на ту, что изображена на рисунке Рис. 16.90. На сцене появится сфера, окружающая объект
Визуализация 511
510 Камеры и визуализация 5. В редакторе атрибутов сцены, который вызывается автоматически при создании сферы IBL, выберите из выпадающего меню Type пункт Texture (рис. 16.91). Станет доступной одноименная опция. 6. Щелкните по пиктограмме Map (рис. 16.91) рядом с опцией Texture. Появится окно Create Render Node (Создать узел визуализации). 7. В разделе 2D Textures выберите пункт Normal (рис. 16.92). 8. Щелкните по кнопке Ramp (рис. 16.93). В редакторе атрибутов появится текстура Ramp. 9. На сцене расположите камеру таким образом, чтобы она оказалась внутри сферы (рис. 16.94).
10. Выберите пункты меню Render Render the Current Frame (Визуализировать текущий кадр). Сцена будет визуализирована в окне Render View. Объекты освещаются цветами текстуры Ramp, назначенными сфере IBL (рис. 16.95). Рис. 16.92. Щелкните по кнопке Normal в окне Create Render Node
Рис. 16.94. Расположите камеру так, чтобы она оказалась внутри сферы IBL
Рис. 16.95. Визуализируйте сцену и понаблюдайте за эффектом освещения IBL
Наложение изображений
Рис. 16.93. В редакторе атрибутов появляется текстура Ramp
Рис. 16.91. В редакторе атрибутов сферы можно назначить текстуру или файл изображения для использования в качестве источника IBL
Сложные сцены зачастую необходимо визуализировать в несколько проходов или по частям. Это не только позволяет использовать меньший объем оперативной памяти, но и дает дизайнеру возможность управлять изменениями в случае, когда они необходимы. Допустим, у вас есть сцена со сложным фоном и неподвижной камерой. Можно существенно ускорить процесс, визуализировав один кадр фона, а затем наложив на него персонаж или другой объект. Для облегчения этих действий в Maya включен инструмент Render Layers (Слои визуализации), который подсказывает художнику, какие объекты необходимо визуализировать, и сохраняет их в отдельный файл изображений. Также в Maya используется инструмент Render Passes (Проходы визуализации), который сохраняет значения параметров Beauty, Color, Shadow, Diffuse, Specular в отдельные файлы. Таким образом, можно вносить быстрые изменения в программу композиции вместо того, чтобы заново визуализировать всю трехмерную сцену. Если, например, тени в вашей сцене слишком темные, повторная визуализация всей сцены в трехмерном изображении может занять несколько дней; зато в случае наложения осветлить тени можно всего лишь за несколько минут. Если хотите узнать больше о наложении, можете попробовать установить такие популярные программы, как Adobe After Effects, Apple Shake, Discreet Combustion и Eyeon Digital Fusion.
Визуализация 513
512 Камеры и визуализация
9. В поле defaultRender введите значение off (рис. 16.101). По умолчанию Maya создает слой визуализации для любых объектов, которым не был назначен таковой. Поскольку мы назначили слои каждому объекту на сцене, эту опцию можно отключить. 10.В меню Render выберите пункт Batch Render (Пакетная визуализация), чтобы визуализировать сцену. После того как визуализация закончится, папка изображений в директории вашего проекта будет содержать отдельное изображение для каждого слоя визуализации (рис. 16.102).
Использование слоев визуализации 1. Создайте сцену, похожую на ту, что изображена на рис. 16.96. 2. В выпадающем меню Layer Editor (Редактор слоев) выберите пункт Render, чтобы получить доступ к функции Render Layers (рис. 16.97). 3. Выделите один из объектов и щелкните по кнопке Create a New Layer (Создать новый слой) . В редакторе слоев появится новый слой визуализации. 4. Щелкните правой кнопкой мыши по новому слою визуализации и в появившемся выпадающем меню выберите пункт Add Selected Objects (Добавить выделенные объекты) – рис. 16.98. Выделенный объект будет помещен в слой layer1. 5. Повторите шаги 3 и 4 применительно к другому объекту. 6. Откройте окно Render Globals и выберите программный визуализатор Maya Software. 7. На панели Maya Software щелчком мыши раскройте пункт меню Render Layer/Pass Control (Управление слоем визуализации/проходом), чтобы просмотреть настройки (рис. 16.99). 8. Установите флажок Enable Render Layers (Включить слои визуализации), чтобы отобразить список доступных слоев визуализации (рис. 16.100).
Рис. 16.96. Создайте сцену, похожую на эту
Рис. 16.99. На панели Maya Software щелчком мыши раскройте пункт меню Render Layer/Pass Control Рис. 16.102. Запустите Batch Render сцены, чтобы создать два изображения в директории проектов; после наложения будет создано цельное изображение
Рис. 16.97. Выберите пункт Render, чтобы получить доступ к функции Render Layers
Рис. 16.100. Появляется список созданных слоев
Рис. 16.98. Щелкните правой кнопкой мыши по новому слою и выберите Add Selected Objects
Рис. 16.101. Отключите параметр defaultRender
Запуск визуализаторов с помощью сценариев 515
514 Камеры и визуализация Использование проходов визуализации 1. Создайте полигональную сферу и назначьте ей тонировщик blinn (за дополнительной информацией обратитесь к главе «Создание примитивов и текста»). 2. Откройте окно Render Globals и выберите визуализатор Maya Software. 3. На панели Maya Software щелчком мыши раскройте пункт меню Render Layer/Pass Control, чтобы просмотреть настройки. 4. Поставьте флажок Enable Global Passes (Включить проходы визуализации), чтобы отобразить проходы Beauty, Color, Shadow, Diffuse и Specular (рис. 16.103). 5. Введите в поле Beauty значение off, а в полях Diffuse и Specular – значение on (рис. 16.104). 6. Визуализируйте сцену в окне Render View (рис. 16.105). Будут созданы комбинированные проходы визуализации. 7. Визуализируйте сцену, выполнив команды меню Render Batch Render. По окончании визуализации папка изображений в директории вашего проекта будет содержать отдельное изображение для каждого прохода (рис. 16.106). Результат соединения этих изображений в программе композиции будет выглядеть примерно так, как показано на рис. 16.105.
Рис. 16.106. После запуска Batch Render проходы Diffuse и Specular будут визуализированы и сохранены в директории текущего проекта
Запуск визуализаторов с помощью сценариев
Рис. 16.103. Поставьте флажок Enable Global Passes Рис. 16.107. В среде Windows щелкните правой кнопкой мыши по сцене и выберите пункт render, чтобы запустить визуализацию вне Maya GUI
Рис. 16.104. Отключите параметры Diffuse и Specular
Для запуска визуализатора Maya используйте командную строку операционной системы. В среде Windows запуск командной строки можно произвести из меню Пуск Все программы Стандартные (Start All Programs Accessories). На компьютерах с установленной операционной системой Mac откройте окно Terminal, расположенное в меню Applications Utilities. Обе команды запустят визуализатор Maya с параметрами, сохраненными в окне Render Globals.
Визуализация сцены с Рабочего стола
Для больших сцен вам понадобится как можно больше оперативной памяти. Чтобы сократить загрузку оперативной памяти, закройте все запущенные программы, включая Maya.
В среде Windows щелкните правой кнопкой мыши по сцене и в появившемся выпадающем меню выберите пункт render (рис. 16.107).
Рис. 16.105. Визуализируйте сцену в окне Render View, чтобы оценить, как выглядят изображения
Запуск визуализаторов с помощью сценариев 517
516 Камеры и визуализация
Флаг визуализации dontReplaceRendering (rep) сообщает визуализатору о том, что не
Визуализация из командной строки 1. В меню Пуск (Start) в Windows выберите пункты Программы Стандартные Командная строка (All Programs Accessories Command Prompt). Откроется окно Командная строка (Command Prompt) – рис. 16.108. 2. Наберите в командной строке render – h и нажмите клавишу Enter. Появится длинный список параметров команды render (рис. 16.109). 3. Наберите в командной строке render myscene.mb, чтобы визуализировать сцену. Подразумевается, что нет необходимости изменять параметры в окне Render Globals. Файл сцены должен находиться либо в текущей директории, либо в директории, которая открылась при запуске командной строки. 4. В среде Windows укажите полный путь к файлу сцены с помощью следующего сценария (рис. 16.110): render C:\myproject\scenes\myscene.mb
надо переписывать кадр, если он уже существует в директории проекта.
Render –rep -s 1 –e 100 myscene.mb
Рис. 16.108. Командная строка Windows
Рис. 16.112. Создайте текстовый файл, который можно будет использовать в качестве пакетного (bat-файла) Рис. 16.109. Наберите render –h, чтобы отобразить все параметры команды render
Запускать несколько процессов визуализации один за другим намного легче благодаря выполнению сценария. В среде Windows вам необходимо создать пакетный файл (с расширением .bat), использующий язык NTscript. Это текстовый файл, где одна за другой прописаны команды визуализации. В среде Mac OS X понадобится создать сценарий командного процессора, который лишь слегка отличается от bat-файла.
Создание пакетного сценария в Windows
или в среде Mac укажите путь с помощью следующего сценария (см. рис. 16.111): render /Users/username/myproject/scenes/ myscene.mb Избегайте пробелов при вводе пути к файлу, иначе у вас возникнут проблемы. 5. Добавьте флаги начала и окончания кадра в команду render в командной строке: Render –s 1 –e 100 myscene.mb
Эта команда позволяет нескольким компьютерам визуализировать одну и ту же сцену, сохраняя ее в одну директорию, и быстро создавать простую распределенную сеть визуализации. Для получения дополнительной информации см. ниже врезку «Визуализация по сети».
Рис. 16.113. Назовите файл myscript.bat
Рис. 16.110. В Windows используется обратная косая черта (\) для разделения папок в пути к файлу
Данная команда визуализирует кадры от 1 до 100.
Рис. 16.114. Правой кнопкой мыши щелкните по файлу и выберите пункт Edit Рис. 16.111. В среде Mac используется косая черта (/) для разделения папок в пути к файлу
1. В директории Windows щелкните правой кнопкой мыши и выберите в появившемся выпадающем меню пункты New Text Document (рис. 16.112). Будет создан текстовый файл, имя которого выделено – это значит, что его можно переименовать. 2. Введите имя myscript.bat и нажмите клавишу Enter (рис. 16.113). Назвать файл можно как угодно – главное, чтобы ему было присвоено расширение .bat. 3. Правой кнопкой мыши щелкните по файлу и выберите в появившемся выпадающем меню пункт Edit (Редактировать) – рис. 16.114. Сценарий откроется в программе Notepad (Блокнот).
Запуск визуализаторов с помощью сценариев 519
518 Камеры и визуализация 4. Используя синтаксис, приведенный в п. 4 предыдущего задания («Визуализация из командной строки»), введите команду визуализации для каждой сцены, которую необходимо визуализировать. 5. Добавьте команду pause в конец сценария, чтобы можно было просмотреть результаты выполнения команд (рис. 16.115). 6. Сохраните файл и двойным щелчком мыши запустите его. Начнет выполняться команда визуализации, и ход ее выполнения будет отображаться в командной строке.
Рис. 16.115. Добавьте команду pause в конец сценария, чтобы его окно не закрылось после выполнения Рис. 16.119. Открывается окно Terminal оболочки Mac OS X с текстовой подсказкой, куда можно вводить команды
Создание сценария командного процессора в среде Mac OS X 1. В меню Applications выберите пункт Utilities и дважды щелкните по пункту TextEdit, чтобы создать новый документ. 2. В меню Format выберите пункт Make Plain Text, чтобы выбрать вместо формата файла Rich Text Format вариант Plain Text Format (рис. 16.116). Файлы в формате RTF хранят много дополнительной информации (например, о шрифте, его размере и типе), которая нам не нужна. 3. Используя синтаксис, приведенный в п. 4 задания «Визуализация из командной строки» (см. выше), введите команду визуализации для каждой сцены, которую необходимо визуализировать (рис. 16.117). 4. В меню File выберите пункт Save As и в появившемся диалоговом окне введите имя файла myrenderscript.command. 5. Нажмите кнопку Save, чтобы сохранить сценарий на жесткий диск, и в появившемся диалоговом окне Warning щелкните по кнопке Don’t Append.
9. Снова введите команду ls –l. Вы увидите x в конце раздела разрешений работы с файлами (рис. 16.122). Разрешение на работу с вашим сценарием изменилось таким образом, что он начнет выполняться, когда название файла будет набрано в окне Terminal или после двойного щелчка мыши по нему в директории.
Рис. 16.116. В меню Format выберите пункт Make Plain Text, чтобы удалить ненужные стили форматирования, которые могут помешать корректной работе сценария
Рис. 16.117. Введите команду визуализации для каждой сцены, которую необходимо визуализировать
6. В меню Applications выберите пункт Utilities и двойным щелчком мыши выберите пункт Terminal (рис. 16.118). Откроется окно Terminal оболочки Mac OS X с текстовой подсказкой, куда можно вводить команды (рис. 16.199). 7. Введите команду ls –l и нажмите клавишу Enter. На экране появится список сценариев, показывая вам разрешения при работе с файлами из данной директории (рис. 16.120). 8. В окне Terminal в среде Mac OS X запустите команду chmod для вашего сценария, чтобы он мог выполняться (рис. 16.121). Chmod +x myrenderscript.command;
Рис. 16.120. Набрав команду ls –l в окне Terminal, можно просмотреть содержимое текущей директории
Рис. 16.122. Повторный набор команды ls –l покажет, что сценарий стал исполняемым Рис. 16.118. Откройте окно Terminal для запуска визуализации, не открывая программу Maya
Рис. 16.121. Запуск команды chmod +x для сценария сделает его исполняемым
520 Камеры и визуализация Визуализация по сети При работе с крупными проектами требуется больше времени на визуализацию. Использование специальных компьютеров для визуализации отдельных файлов анимации значительно ускорит процесс. Версии Maya для Windows и Mac OS не поставляются с программным обеспечением для визуализации по сети. Однако на рынке имеется несколько коммерческих и бесплатных приложений, которые облегчают визуализацию с использованием нескольких компьютеров. Чтобы использовать несколько компьютеров по сети для визуализации, вам понадобится сеть 100 baseT (или более быстрая) с сетевым коммутатором, в отличие от концентратора (так называемого хаба). Если вы используете только две версии программного обеспечения, то можете взять кабель с перекрестными проводниками. Также придется установить Maya на каждый компьютер или же корректно инсталлировать ее на сервер. Вам не понадобятся дополнительные лицензии для использования визуализаторов Maya Software, Vector или Hardware на нескольких машинах. Однако при работе с визуализатором Hardware на каждом компьютере должны быть установлены идентичные видеоконтроллеры, иначе при визуализации могут наблюдаться различия в кадрах, сделанных на разных компьютерах. Для Mental Ray требуются отдельные лицензии на каждый компьютер, и любые дополнительные модули программы не будут устанавливаться и корректно регистрироваться в системе. Путь к директории проекта на разных компьютерах также должен быть одинаковым. В среде Windows этого можно добиться, назначив сетевому диску общую букву для всех систем. В среде Mac создайте одинаковые ссылки на каждом компьютере, указывающие путь к одному и тому же диску в системе. Затем с помощью программного обеспечения сетевой визуализации отдельные пакеты кадров можно визуализировать на каждом компьютере и сохранять в общей директории проекта. И наконец, приводим список продуктов и ссылок, которые помогут вам выбрать то, что необходимо. Программы визуализации для систем Windows и Mac OS, распространяемые коммерческим путем: Rush (http://seriss.com/rush/) Muster (http://www.vvertex.com) Lemon Pro (http://martin.ice.org/lemon_pro.html) Программы визуализации для системы Windows, распространяемые коммерческим путем: Smedge2 (http://www.uberware.net) Rendermax (http://www.rendercorp.com) Бесплатно распространяемые программы визуализации для системы Mac OS: Farm Manager, написанный Дейвом Шмитцем (Dave Schmitz), – http://www.schmitzware.org/indexFarmManager.html Бесплатно распространяемые программы визуализации для системы Windows: Spider (http://groups.yahoo.com/group/SXSpider)
Руководство по языку и выражениям MEL
17
В Maya многие повторяющиеся задания легче выполнить с помощью языка MEL (Maya Embedded Language – Встроенный язык Maya). MEL – язык сценариев, поэтому, если у вас есть опыт программирования на языках Perl или Javascript, MEL покажется вам знакомым. Интерфейс Maya построен с использованием множества сценариев MEL, позволяя проводить всестороннюю настройку. Выражения – это тоже сценарии, и они даже используют язык MEL, но работают немного иначе. Вы можете ввести выражения в параметры любого узла вместо создания ключевых кадров; также вы можете назначать параметрам объекта выражения, не используя переменную. Таким образом, выражения позволяют соединять узлы напрямую и более эффективно. Выражения обычно выполняются в каждом кадре последовательно, причем позволяют ускорить процесс работы, поэтому они крайне полезны для создания анимации, одежды персонажей и систем частиц.
Редактор сценариев 523
522 Руководство по языку и выражениям MEL
Редактор сценариев Сценарии MEL редактируются и выполняются в Script Editor (Редактор сценариев), и каждый раз при выполнении команды в Maya соответствующие сценарии появляются в редакторе сценариев. Во многих случаях вы можете копировать и вставлять команды, появляющиеся в окне Script Editor, и сохранять их на полке для дальнейшего использования. В MEL имеется обширный список команд, которые перечислены в файлах справки Maya. Нажмите клавишу F1, чтобы запустить справку, и перейдите к командам MEL в разделе Developer Resources (Ресурсы разработчика). Эти команды перечислены в алфавитном порядке и разнесены по категориям. Сценарии MEL представляют собой текстовые файлы и могут храниться несколькими способами. Вы можете написать сценарий, который будет запущен лишь однажды, либо сохранить его на полке или в папке сценариев на жестком диске. Можно загрузить сценарий в редактор для последующей отладки и доработки или даже редактировать его во внешнем текстовом редакторе. Окно Script Editor разделено на две области. В верхней области окна отображаются результаты выполнения команд; в нижней можно набирать и запускать сценарии (рис. 17.1).
Верхняя область окна
2. Создайте куб, выбрав в меню Create пункты Polygon Primitives Cube. Команда языка MEL, которая используется для создания куба, будет выведена в верхней области окна редактора сценариев (рис. 17.2). PolyCube –w –h 1 –d 1 –sx 1 –sy 1 –sz 1 – ax 0 1 0 –tx 1 –ch 1; // Result: pCube1 polyCube1 //
Нижняя область окна
Рис. 17.1. Окно Script Editor разделено на две основные области
Рис. 17.3. В редакторе сценариев выделите строку, содержащую команду MEL polyCube
Рис. 17.4. Выделите весь текст сценария в нижней области окна редактора и нажмите клавишу Enter на цифровом блоке клавиатуры, чтобы выполнить сценарий
3. Выделите строку, содержащую команду MEL polyCube (рис. 17.3) и перетащите ее в нижнюю область окна. 4. Отредактируйте параметры команды, изменив –w 1 –h 1 –d 1 на –w 2 –h 2 – d 2. 5. Выделите всю строку сценария MEL и нажмите клавишу Enter на цифровом блоке клавиатуры, чтобы выполнить сценарий (рис. 17.4). В начале координат появится новый куб, по размеру в два раза больше первого (рис. 17.5). 6. Выделите сценарий и перетащите его на полку для дальнейшего использования (рис. 17.6). На полке появится пиктограмма сценария MEL (рис. 17.7).
Рис. 17.2. Команда MEL, использовавшаяся для создания куба, появится в верхней области окна редактора сценариев
Рис. 17.6. Выделите весь сценарий в Script Editor и перетащите его на полку для дальнейшего использования
Использование окна Script Editor 1. Щелкните по пиктограмме Script Editor в правом нижнем углу интерфейса программы Maya. Откроется одноименное окно. Рис. 17.5. В начале координат появится новый куб, по размеру вдвое больше первого
Рис. 17.7 На полке появится пиктограмма по умолчанию для сценария MEL
Редактор сценариев 525
524 Руководство по языку и выражениям MEL 7. Выделите два куба, которые были созданы в окне, и нажмите клавишу Del. 8. Щелкните по пиктограмме созданного сценария MEL. В окне появится новый куб в два раза превышающий размеры первого. В предыдущем примере мы редактировали параметры команды polyCube вручную, чтобы создать большой куб. Вместо ввода значений параметров при работе с MEL можно использовать переменные для присвоения данных значений. Это позволяет сценарию модифицировать данные значения с течением времени или в интерактивном режиме в зависимости от любого числа событий или условий, которые задаст пользователь. Существует несколько типов переменных. Чаще всего вы будете использовать переменные с плавающей точкой, целочисленные переменные и строки. Переменная с плавающей точкой хранит значение с разделителем, например 1,001. Целочисленная переменная хранит целые числа, такие как 1, 5 или 1007. Строковая переменная хранит текстовые строки (например, «hello world»). Если целочисленной переменной присвоить значение с дробным разделителем, значение после запятой будет утеряно. Каждая из этих переменных также может быть массивом. Массив – это переменная, которая может содержать несколько отдельных и не связанных значений. Можно использовать все значения, хранимые в массиве, или указать порядковый номер значения, которое вы хотите использовать. В следующем примере случайное значение будет храниться в переменной с плавающей точкой, используемой для создания куба. Затем мы применим строковый массив для перемещения куба случайным образом.
Использование случайных переменных
Рис. 17.8. Выделите все строки сценария в нижней области окна Script Editor и нажмите клавишу Enter на цифровом блоке клавиатуры, чтобы запустить сценарий
Рис. 17.9. Вот как должен выглядеть сценарий
1. Создайте переменную с плавающей точкой и назовите ее $R, набрав на клавиатуре float $R; в нижней области окна Script Editor. Перед переменными всегда ставится знак $. 2. Присвойте случайное число переменной $R при помощи команды rand(), набрав на клавиатуре $R=rand(10); после предыдущей строки сценария. 3. Отредактируйте параметры команды polyCube, используя значение переменной $R вместо значений –w, –h и –d. PolyCube –w $R –h $R –d $R –sx 1 –sy 1 –sz 1 – ax 0 1 0 –tx 1 –ch 1; 4. Выделите все строки сценария и нажмите клавишу Enter на цифровом блоке клавиатуры (рис. 17.8). float $R=rand(10); PolyCube –w $R –h $R –d $R –sx 1 –sy 1 –sz 1 – ax 0 1 0 –tx 1 –ch 1; В окне появится куб, размер которого выбран случайным образом. Чтобы сценарий был еще более интересным, можно обеспечить случайный выбор не только масштаба кубов, но и их положения. 5. Создайте переменную строкового массива $Name, набрав в редакторе Script Editor string $Name[]; до команды polyCube. 6. Измените строку, содержащую команду polyCube, вставив перед ней $Name=. Это позволит сохранить название куба, созданного командой polyCube. 7. Поставьте знак одиночных кавычек ` перед строкой команды polyCube. Сценарий должен выглядеть так, как показано на рис. 17.9.
Редактор сценариев 527
526 Руководство по языку и выражениям MEL 8. Создайте новый набор переменных, который будет использоваться для размещений куба на сцене в случайном положении, набрав следующие строки в конце сценария: $Gx=gauss(10); $Gy=gauss(10); $Gz=gauss(10); Команда gauss напоминает команду rand тем, что создает случайные положительные и отрицательные значения, и использует более естественный способ вычисления значений. 9. Для перемещения куба на новое место, выбранное случайным образом, добавьте в сценарий следующую строку: move $Gx $Gy $Gz $Name; Команда move перемещает указанный объект в трех плоскостях. Значения осей x, y и z хранятся в переменных $Gx, $Gy и $Gz. Имя объекта, созданного с помощью команды polyCube, хранится в строковой переменной $Name. 10.Выделите весь сценарий в редакторе Script Editor и несколько раз нажмите клавишу Enter на цифровом блоке клавиатуры (рис. 17.10). float $R; $R=rand(10); string $Name[]; $Name=`PolyCube –w $R –h $R –d $R –sx 1 –sy 1 –sz 1 – ax 0 1 0 –tx 1 –ch 1’; $Gx=gauss(10); $Gy=gauss(10); $Gz=gauss(10); move $Gx $Gy $Gz $Name; Появляется замысловатое сочетание кубов (рис. 17.11).
Рис. 17.10. Выделите все строки сценария в нижней области окна Script Editor и несколько раз нажмите клавишу Enter на цифровом блоке клавиатуры Рис. 17.11. На сцене появляется замысловатое сочетание кубов
Вы можете использовать любое название для переменных при условии, что оно начинается со знака доллара ($). Однако непосредственно после этого знака нельзя ставить цифры. Имя $4 не будет работать корректно, а $var4 – будет. В предыдущем примере мы создали любопытную комбинацию из кубов с помощью простого сценария. Но выполнять сценарий много раз подряд весьма утомительно. Для автоматизации этого процесса нам понадобится оператор условного управления, такой как while. Есть и другие условные операторы – if и for. Циклы while ожидают выполнения условия, а затем останавливают выполнение строк сценария, которые содержатся в фигурных скобках {}.
Использование цикла while 1. Добавьте в начало сценария из предыдущего примера («Использование случайных переменных») новую целочисленную переменную: int $x=1; Данная переменная используется для подсчета того, сколько раз выполнялся сценарий. 2. Добавьте оператор while для управления сценарием: while($x<10){ Пока значение $x будет меньше 10, сценарий будет продолжать выполнение. Вы можете подставить переменную вместо «эвристического» значения 10 или просто изменить его на большее в случае необходимости. Также понадобится добавить закрывающую фигурную скобку }, чтобы сценарий смог функционировать.
Редактор сценариев 529
528 Руководство по языку и выражениям MEL 3. Наберите на клавиатуре $x++; в конце сценария, чтобы увеличить значение переменной $x. Сценарий досчитает до 10 циклов запуска и остановит свою работу. Однако, если значение счетчика никогда не сравняется со значением, указанным в операторе while, остановить программу будет непросто. 4. Наберите закрывающую фигурную скобку } в самом конце сценария, чтобы остановить цикл выполнения оператора while. Сценарий должен выглядеть, как показано на рис. 17.12. int $x=1;
Теперь самое время перейти к оператору for. Создайте массив для хранения имен объектов, которые хотите переместить. Оператор for перебирает каждый объект и перемещает его. Используйте команду ls, чтобы вывести имена объектов, которые хотите передвинуть. Данная команда перечисляет объекты и узлы на сцене Maya на основании заданных вами параметров. Команда ls sl перечислит лишь те объекты, которые выделены в настоящий момент.
Использование цикла for-in Рис. 17.13. Так должен выглядеть сценарий после шага 6
while($x<10) { float $R; $R=rand(10); string $Name[]; $Name=`PolyCube –w $R –h $R –d $R –sx 1 –sy 1 –sz 1 – ax 0 1 0 –tx 1 –ch 1’; $Gx=gauss(10); $Gy=gauss(10); $Gz=gauss(10); move $Gx $Gy $Gz $Name; $x++; } 5. Выделите сценарий, перетащите его на полку, а затем запустите двойным щелчком мыши, чтобы просмотреть результаты в окне Perspective. Иногда ваши объекты выглядят слишком уж «организованно». Разместив их в случайном порядке, вы добьетесь более естественного вида композиции.
Рис. 17.12. Теперь сценарий должен выглядеть вот так
1. В редакторе сценариев Script Editor выберите пункты Edit Clear Input. 2. Выделите кубы, созданные в предыдущем примере («Использование цикла while»). 3. Наберите строку for($cube in `ls –sl`){ в редакторе сценариев Script Editor. 4. Наберите строку $x=gauss(1); $y=gauss(1); $z=gauss(1); в Script Editor. Данная переменная будет использована для случайного перемещения кубов. 5. Наберите move –r $x $y $z $cube; в редакторе Script Editor, чтобы добавить новый параметр к команде move. Флаг – r означает относительный (relative), то есть указанные значения передаются в текущее местоположение объекта. По умолчанию объект перемещается в абсолютное местоположение того значения, которое было ему передано. 6. Закройте оператор for, добавив закрывающую фигурную скобку }; Сценарий должен выглядеть, как показано на рис. 17.13. for($cube in `ls –sl`){ $x=gauss(1); $y=gauss(1);
Редактор сценариев 531
530 Руководство по языку и выражениям MEL
При написании сценариев на языке MEL очень полезна команда setAttr, поскольку она позволяет присваивать значения атрибутам узлов без необходимости использования редактора атрибутов. Добавление команды setAttr к циклическим сценариям наподобие того, что мы рассмотрели в предыдущем примере, может упростить выполнение повторяющихся задач. В следующем задании мы отключим возможность отбрасывания кубами теней.
$z=gauss(1); move –r $x $y $z $cube; } 7. Выделите весь сценарий в редакторе Script Editor и нажмите клавишу Enter на цифровом блоке клавиатуры. Кубы сместятся со своей первоначальной позиции. Команда ls –sl производит примерно такой же эффект, что и семь пачек соды, разведенных в нескольких бутылках воды. Оператор for берет одну из этих бутылок и наливает ее содержимое в чашку с названием $cube. Каждый раз, когда выполняется оператор for, он берет одно значение из списка значений, созданных командой ls –sl, и сохраняет его в переменной $cube. Список значений в данном случае – названия выбранных объектов.
Рис. 17.14. Выделите весь сценарий в нижней части окна редактора Script Editor и нажмите клавишу Enter на цифровом блоке клавиатуры
Использование команды setAttr Рис. 17.16. Щелкните по вкладке pCubeShape в Attribute Editor
Использование команды if 1. Используя сценарий из предыдущего задания («Использование цикла forin») начиная с шага 6, добавьте после оператора move следующее: if ($y > 1 ) { scale –r 2 2 2 $cube; } Если значение переменной $y будет больше единицы, размер куба увеличится в два раза по сравнению с первоначальным. 2. Выделите код всего сценария и нажмите клавишу Enter на цифровом блоке клавиатуры. Сценарий должен выглядеть, как показано на рис. 17.14, причем размер некоторых кубов будет увеличен в случайном порядке по сравнению с остальными (рис. 17.15).
Рис. 17.15. Сценарий увеличивает размеры кубов, если значение переменной $y больше единицы
Рис. 17.17. Снимите флажок Casts Shadows в разделе Render Stats редактора атрибутов куба
Рис. 17.18. Script Editor отображает сценарий MEL для отключения возможности куба отбрасывать тень
1. Выделите один из кубов и нажмите клавиши Ctrl/Control+a, чтобы открыть окно Attribute Editor. 2. Щелкните по вкладке pCubeShape (рис. 17.16) и в разделе Render Stats снимите флажок Casts Shadows (Отбрасывать тени) – рис. 17.17. В Script Editor появится следующая строка (рис. 17.18): setAttr «pCubeShape57.castsShadows» 0; 3. Используя сценарий из предыдущего задания («Использование команды if»), замените строки сценария в скобках {} следующей строкой: setAttr ($cube+;».castsShadows» 0; 4. Чтобы добавить атрибут к объекту, который хранится в переменной $cube, вставьте между ними знак плюс (+). Поскольку вы объединяете эти значения и передаете их команде setAttr, заключите их в кавычки. 5. Сценарий должен выглядеть следующим образом: for($cube in ‘ls –sl’){ setAttr ($cube+;».castsShadows» 0; }
Редактор полки 533
532 Руководство по языку и выражениям MEL 6. В меню Windows выберите пункты General Editors Attribute Spread Sheet, чтобы открыть Attribute Spread Sheet (Таблица атрибутов). 7. Щелкните по вкладке Render (рис. 17.19). Отметьте, что в колонке Casts Shadows у всех выделенных объектов тени включены. Держите это окно открытым, чтобы позднее мы смогли понаблюдать за действием сценария. 8. Выделите кубы, затем сценарий и нажмите клавишу Enter на цифровом блоке клавиатуры. Колонка Casts Shadows таблицы атрибутов обновится, показывая, что кубы более не могут отбрасывать тени (рис. 17.20). 9. Выделите сценарий и перетащите его на полку для дальнейшего использования. 10.В редакторе Script Editor измените значение 0 на 1 в конце сценария, чтобы снова включить отбрасывание теней: setAttr ($cube+;».castsShadows» 1; 11.Выделите сценарий и перетащите его на полку. Теперь вы можете включать и отключать функцию отбрасывания теней для всех выделенных объектов одним щелчком мыши. После того как вы начнете добавлять сценарии на полку, станет сложно их различать. В некоторых случаях можно навести курсор на пиктограмму языка MEL на полке, чтобы просмотреть кусочек кода сценария. Вставьте комментарий в начало каждого сценария, чтобы использовать их стало еще удобней.
Добавление комментария 1. Добавьте в начало сценария из предыдущего задания («Использование команды setAttr») следующую строку: //отключение отбрасывания теней. Рис. 17.22. Щелкните по стрелке рядом с Shelf и выберите в меню пункт Shelf Editor
Рис. 17.19. Щелкните по вкладке Render и найдите колонку Casts Shadows
MEL будет игнорировать любую строку сценария, следующую за двумя косыми чертами. 2. Выделите сценарий и перетащите его обратно на полку. 3. Наведите курсор на пиктограмму языка MEL на полке, чтобы просмотреть комментарий во всплывающей подсказке (рис. 17.21).
Редактор полки Shelf Editor (Редактор полки) позволяет вам добавлять на полку имена пиктограмм, а также сами пиктограммы для более легкой организации сценариев.
Рис. 17.23. Открывается диалоговое окно Shelves, а текущая полка автоматически выделяется для редактирования Рис. 17.20. Значения в колонке Casts Shadows обновятся, показывая, что функция отбрасывания теней выключена
Рис. 17.21 Наведите курсор на пиктограмму на полке, чтобы просмотреть всплывающую подсказку
Рис. 17.24. Выделите сценарий, который хотите отредактировать, в верхней части редактора полки
Добавление пиктограммы и ее имени на полку 1. Щелкните по стрелке, указывающей вниз, рядом с Shelf и в открывшемся выпадающем меню выберите пункт Shelf Editor (рис. 17.22). Откроется диалоговое окно Shelves (Полки), а текущая полка будет автоматически выделена (рис. 17.23). 2. Щелкните по сценарию, к которому хотите добавить текстовое пояснение (рис. 17.24).
Редактор полки 535
534 Руководство по языку и выражениям MEL 3. В поле Icon Name (Имя пиктограммы) введите CS1, чтобы включить функцию отбрасывания тени, и нажмите клавишу Enter. Имя пиктограммы на полке обновится (рис. 17.25). Желательно задавать имена покороче, чтобы они помещались на полке. 4. Щелкните по пункту Change Image (Сменить изображение), чтобы изменить пиктограмму MEL, заданную по умолчанию, на другую. Откроется диалоговое окно Open (Открыть) – рис. 17.26. 5. Выберите пиктограмму и нажмите кнопку Open. Пиктограмма появится рядом с кнопкой Change Image и обновится на полке (рис. 17.27). 6. В поле Label & Tooltips (Ярлык и подсказки) добавьте комментарий и нажмите клавишу Enter. Теперь, когда вы проводите указателем мыши над пиктограммой сценария, находящегося на полке, данный комментарий появляется в виде всплывающей подсказки. 7. Щелкните по кнопке Save All Shelves (Сохранить все полки). Полки будут сохранены в папке Shelves в вашей директории /user/prefs/maya/. В среде Windows путь к папке выглядит следующим образом: C:\Documents and Settings\adrian\My Documents\maya\6.0\prefs\shelves В среде Mac путь к папке будет несколько иным: OSX\Users\gregb\Library\Preferences\ Alias\maya\scripts Вы также можете создать свою собственную пиктограмму в виде пиксельного файла формата BMP 32×32 (Windows) или XMP (Mac), которую сможете использовать для своего сценария.
Рис. 17.25. После нажатия клавиши Enter имя пиктограммы на полке обновится
Рис. 17.26. По умолчанию в диалоговом окне Open отображается папка, где хранятся пиктограммы Maya
Рис. 17.27. Выделите пиктограмму и нажмите кнопку Open. Пиктограмма на полке и рядом с кнопкой Change Image обновится
Теперь, когда вы немного освоились со сценариями на языке MEL, необходимо понять, как пользоваться разработками, созданными другими людьми. Немало бесплатных сценариев MEL для Maya, которые могут вам пригодиться, вы найдете на таких Web-сайтах, как www.highend3d. com. В головной метке (или начале) многих сценариев находится сопровождающая информация об их установке и использовании. Также к ним могут прилагаться файлы в формате txt или html. Некоторые сценарии представляют собой одиночные файлы, написанные на языке MEL, тогда как другие могут содержать несколько файлов, которые необходимо разместить в разных папках, так же как и пиктограммы или полки. Сценарии, состоящие из нескольких частей, зачастую пакуются в архивы распространенного формата zip. Многие сценарии работают независимо от используемой платформы (Windows, Mac, Linux или Irix). В большинстве сценариев, размещенных на сайте www.highend3d. com, указывается, на каких платформах они тестировались и в какой версии Maya были созданы, хотя многие будут работать с любой версией программы. Для выполнения нижеописанного задания загрузите базовый сценарий под названием MEX, расположенный по адресу www.gmaskfx.com/mel.
Использование выражений 537
536 Руководство по языку и выражениям MEL Установка сценария MEL 1. Откройте сценарий и прочтите инструкции по его использованию. // MEX (MultiEXtrude), написан Адрианом Даймондом, www.gmask.com, 2001 г. // Выберите кривую, которую надо выдавить в нескольких направлениях. // Затем добавьте кривые, которые хотите использовать в качестве направляющих. // Затем в командной строке наберите mex
3. Рис. 17.29. Наберите mex; и нажмите Enter
4.
Рис. 17.28. Создайте примитив окружности NURBS и несколько кривых с управляющими вершинами
global proc mex() {
5.
string $select[] = `ls –sl`; string $profile; string $path; $profile = $select[0]; $path = $select[1]; for ( $node in $select ) // обработайте каждый выделенный объект. { extrude –ch true –rn false –po 0 –et 2 –ucp 1 –fpt 1 –upn 1 - rotation 0 – scale 1 –rsp 1 $profile $node; } } 2. Загрузите сценарий mex в директорию сценариев по адресу: C:\Documents and Settings\gmask\My Documents\maya\6.0\scripts\ (Windows) или OSX\Users\username\Library\Preferences\Alias\maya\scripts (Mac)
6.
Рис. 17.30. Сценарий выдавливает окружность по двум кривым
Каждый раз при запуске Maya программа будет сканировать директорию на наличие сценариев. Если окно Maya уже открыто, когда вы добавляете сценарий, придется открыть его в Script Editor, чтобы вы сразу же смогли им воспользоваться. Запустите Maya и создайте примитив окружности NURBS, а также несколько кривых с управляющими вершинами (рис. 17.28). Выделите окружность и, удерживая нажатой клавишу Shift, выделите кривые. Наберите mex; в командной строке и нажмите клавишу Enter (рис. 17.29). Сценарий выдавит окружность по двум кривым (рис. 17.30). Наберите mex; в Script Editor, а затем выделите сценарий и перетащите его на полку для дальнейшего использования.
Использование выражений Выражения – это сценарии MEL, которые выполняются покадрово. Это означает, что любой параметр с присвоенным ему выражением будет выполнять данное выражение для каждого кадра в последовательности. Использование выражений позволит вам с легкостью и реалистично анимировать объекты, используя несколько простых команд.
Использование выражений 539
538 Руководство по языку и выражениям MEL
Редактор выражений Expression Editor (Редактор выражений) используется для создания и редактирования выражений (рис. 17.31). Окно редактора разделено на несколько областей. В нижней области отображаются и редактируются сценарии; выше отображаются объекты, выражения или узлы сценариев. При выделении выражения или сценария в области выделенных объектов в нижнем окне появляются используемые операторы. Если вы выделяете объект, необходимо также выделить атрибут, которому присвоено выражение, чтобы он появился в нижнем окне. Следующее задание включает простое выражение, использующее функцию sin для перемещения сферы вверх-вниз. Сокращение sin – от sine (синус), как в слове «синусоида». Эта функция задает переменное значение, причем берет за основание для вычислений входное значение. Последнее должно увеличиваться с каждым кадром, чтобы получилась анимация. Если функция sin будет содержать одно и то же значение на всех кадрах, то анимации не получится, поэтому вам необходимо использовать узел времени (time node). Узел времени легко добавляется в выражения, но не в сценарии MEL, выполняемые из Script Editor или из другого места. Еще одна уникальная характеристика выражений – то, что вы используете атрибут объекта или узла так же, как и при работе с переменной. Это не только удобно, но и обеспечивает гораздо более быстрое выполнение. Добавляя таким образом выражения, можно создавать имитацию движений бабочек, моргающих глаз или вздымающейся груди.
Область выделенных объектов
Область атрибутов
Создание выражения
Рис. 17.33. Щелкните мышью в центре поля Translate и введите =sin(time)
1. Создайте сферу и нажмите клавиши Ctrl/Control+A, чтобы открыть Attribute Editor (Редактор атрибутов) – рис. 17.32. 2. В разделе Transform Attributes введите =sin(time) в центре поля Translate и нажмите клавишу Enter (рис. 17.33). Поле окрасится в фиолетовый цвет, показывая, что оно управляется выражением (рис. 17.34). 3. Нажмите кнопку Play . Сфера начнет быстро двигаться вверх-вниз (рис. 17.35).
Область выражений сценария
Рис. 17.31. Вы можете создавать и редактировать сценарии и выражения с помощью Expression Editor
Рис. 17.34. Поле окрашивается в фиолетовый цвет – это означает, что оно управляется выражением
Рис. 17.35. Сфера быстро двигается вверх-вниз Рис. 17.32. Нажмите Ctrl/Control+A, чтобы открыть редактор атрибутов сферы
Использование выражений 541
540 Руководство по языку и выражениям MEL 4. Щелкните правой кнопкой мыши по полю, окрашенному в фиолетовый цвет, и во всплывающем меню выберите пункт Edit Expression (Редактировать выражение) – рис. 17.36. Откроется Expression Editor (Редактор выражений), в котором объект и назначенный ему атрибут уже будут выделены (рис. 17.37). 5. Чтобы ускорить движение сферы, отредактируйте строку сценария следующим образом: pSphere1.translateY=sin(time*10); 6. Щелкните по кнопке Edit, а затем на шкале времени нажмите Play . Умножив значение узла времени на 10, мы добьемся гораздо более быстрого движения объекта.
Добавление атрибута
Рис. 17.39. Введите слово Height в поле Attribute Name
Рис. 17.40. Для параметра Data Type установите значение Float Рис. 17.37. В открывшемся редакторе Expression Editor объект и его атрибут уже выделены
Чтобы получить более полный контроль над выражением, вы можете сделать входные значения ключевыми в кадрах. Для этого необходимо добавить атрибут для объекта. После этого можно будет использовать значение атрибута в выражении, вместо того чтобы тратить время на вычисление значения в выражении.
1. Выделите сферу, как показано в предыдущем примере («Создание выражения»). 2. В меню Modify выберите пункт Add Attribute (Добавить атрибут), чтобы открыть диалоговое окно Add Attribute (рис. 17.38). 3. В поле Attribute Name (Имя атрибута) введите Height (рис. 17.39). 4. Параметру Data Type (Тип данных) присвойте значение Float (рис. 17.40). 5. Нажмите кнопку OK, чтобы добавить атрибут к сфере. В окне Channel Box (Редакторе каналов) появится атрибут Height (рис. 17.41). 6. В редакторе каналов щелкните правой кнопкой мыши по пункту Translate Y и в выпадающем меню выберите пункт Expressions (рис. 17.42). Откроется окно Expression Editor.
Рис. 17.41 В редакторе каналов появился новый атрибут Height Рис. 17.36. Щелкните правой кнопкой мыши по полю, окрашенному в фиолетовый цвет, и во всплывающем меню выберите пункт Edit Expression
Рис. 17.38. В меню Modify выберите пункт Add Attribute, чтобы открыть одноименное диалоговое окно
Рис. 17.42 В редакторе каналов выберите пункт Translate Y; затем щелкните правой кнопкой мыши и выберите в выпадающем меню пункт Expressions
Использование выражений 543
542 Руководство по языку и выражениям MEL 7. Отредактируйте выражение следующим образом (рис. 17.43): : p S p h e r e 1 . t r a n s l a t e Y = p S p h e r e 1. Height*sin(time*10); Теперь выражение зависит от входного значения из атрибута Height, который определяет, насколько высоко или низко будет двигаться сфера. 8. На шкале времени перейдите к кадру 1, щелкнув по нему мышью. 9. В окне Channel Box правой кнопкой мыши щелкните по атрибуту Height и в выпадающем меню выберите пункт Key Selected (рис. 17.44). 10. Перейдите к кадру 100 на шкале времени и введите значение 10 в качестве значения атрибута Height в окне Channel Box. 11. Правой кнопкой мыши щелкните по атрибуту Height и в выпадающем меню выберите пункт Key Selected. 12. В меню Windows выберите пункт Animation Editors (Редакторы анимации), чтобы открыть Graph Editor (Редактор диаграмм). Откроется окно Graph Editor, в котором будут изображены анимированные атрибуты сферы (рис. 17.45). 13. В меню View выберите пункт Show Results (Показать результаты) – рис. 17.46, чтобы посмотреть кривую, созданную функцией sin, и кривую height. Кривая передвигается вверх-вниз и по высоте точно следует за кривой Height. Вы можете отредактировать кривую Height и посмотреть результат изменений в окне редактора диаграмм (рис. 17.47). 14. На шкале времени нажмите кнопку Play . Сфера начнет потихоньку двигаться вверх-вниз, и по мере увеличения значений Height амплитуда движений увеличивается.
Узлы сценария
Рис. 17.43. Отредактируйте выражение для использования атрибута
Рис. 17.46. В меню View выберите пункт Show Results, чтобы просмотреть кривые, созданные функцией sin
Выражения хранятся в файле сцены Maya, однако создаваемые вами сценарии MEL не хранятся в файлах отдельных сцен. Чтобы сохранить сценарии MEL в файле сцены, необходимо создать узел сценария. Узлы сценария отличаются тем, что выполняются в ответ на какие-либо события, например открытие файла сцены или визуализацию кадра. Вы получите наглядный пример, если будете держать открытым специальный интерфейс или диалоговое окно всегда, когда открываете файл сцены.
Создание узла сценария Рис. 17.44 Правой кнопкой мыши щелкните по атрибуту Height и в выпадающем меню выберите пункт Key Selected
Рис. 17.47. Отредактируйте кривую Height в окне Graph Editor и посмотрите, какой эффект она оказывает на функцию sin
Рис. 17.48. В меню Select Filter выберите пункт By Script Node Name
Рис. 17.45. В окне Graph Editor показаны анимированные атрибуты и выбранный объект
1. В меню Windows выберите пункт Animation Editors, чтобы открыть окно Expression Editor. 2. В меню Select Filter (Выбор фильтра) выберите пункт By Script Node Name (По имени узла сценария) – рис. 17.48. Верхняя часть редактора Expression Editor переключится в режим Script Node.
544 Руководство по языку и выражениям MEL 3. В поле Script Node Name введите HelloWorld (рис. 17.49). 4. В поле Script наберите следующий код сценария: confirmDialog –message «Hello World» – button «OK»; 5. Нажмите кнопку Create. Сценарий HelloWorld появится в разделе Script Nodes редактора выражений. 6. В меню Execute On (Выполнять по...) выберите пункт Time Changed (Изменение времени) – рис. 17.50. Нажимать кнопку Edit не нужно, поскольку данная установка будет автоматически сохранена для узла Script Node. 7. Перейдите к новому кадру на шкале времени. Когда текущий кадр изменится, он запустит сценарий HelloWorld, и появится диалоговое окно подтверждения (рис. 17.51). 8. Нажмите кнопку OK.
Рис. 17.49. Наберите HelloWorld в поле Script Node Name
Удаление узла сценария 1. Откройте редактор Expression Editor. 2. В меню Select Filter выберите пункт By Script Node Name. 3. В разделе Script Nodes щелкните мышью по имени узла сценария, который хотите удалить. 4. Нажмите кнопку Delete. Имя узла сценария исчезнет из раздела Script Nodes.
Рис. 17.50. В меню Execute On выберите пункт Time Changed
Рис. 17.51. Перейдите к новому кадру на шкале времени, чтобы запустить узел сценария HelloWorl
Динамика
Рис. 18.1. След движения ракеты был создан с использованием частиц
18 При создании сцены Maya, вам, вероятно, уже встречались эффекты, которые трудно имитировать или анимировать с использованием обычных ключевых кадров. Например, можно потратить часы, пытаясь анимировать вручную листья, уносимые ветром, или стакан, разбивающийся при ударе о землю. И даже после этого имитация не будет выглядеть реалистично. Для решения подобных задач рекомендуется использовать меню Dynamics (Динамика). Команды меню позволяют имитировать движение объекта, на который воздействуют различные физические силы (см. рис. 18.1). Например, с помощью всего лишь нескольких щелчков мыши, не создав ни одного ключевого кадра, вы можете анимировать лист, который летит по ветру, одновременно крутясь и двигаясь вдоль земли. В меню Dynamics содержится множество подобных команд, а для большинства имитаций доступны сотни опций. К счастью, в пятой версии динамический процессор был значительно улучшен. Это значит, что вы можете выполнять предварительный просмотр эффектов на скорости, которая превышает скорость предыдущих версий на 20–90%. В данной главе рассматриваются базовые принципы динамики, понимание которых значительно упростит вашу работу.
Частицы 547
546 Динамика
Частицы Динамика частиц используется для создания множества разнообразных эффектов, включая огонь, туман, пыль, взрывы, грязь и даже имитацию роения пчел. Частица представляет собой точку в трехмерном пространстве, на которую могут воздействовать сымитированные Maya физические силы. Объектом частиц называется группа таких точек, которая при визуализации имитирует сферы, облака, изображения и другие поверхности, включая даже объекты, геометрия которых скопирована с реальных прототипов, например, листья или космические корабли. Для создания частиц используется инструмент Particle (Частица) или эмиттер, который распыляет частицы различными способами (выбор способа определяется предполагаемым эффектом). Давайте создадим простой объект частиц и изменим его размеры с помощью окна Attribute Editor.
Создание объекта частиц 1. Перейдите в меню Dynamics, выбрав в выпадающем меню в верхнем левом углу главного окна Maya пункт Dynamics. 2. В меню Particles (Частицы) выберите пункт Particle Tool (Частица) – рис. 18.2. 3. Щелкните по окну вида сверху, чтобы поместить частицы в сцену. При каждом щелчке мыши создается одна частица (рис. 18.3). На самом деле можно использовать любое окно проекций. Частицы будут помещаться на сетку и отображаться на экране в виде перекрестий.
Рис. 18.4. Чтобы изменить внешний вид частицы, перейдите в раздел Render Attributes Рис. 18.2. В меню Particles выберите пункт Particle Tool
Рис. 18.5. Эмиттер Omni
4. Поместите в сцену столько частиц, сколько считаете нужным. Затем нажмите клавишу Enter, чтобы завершить создание объекта частиц. Объект частиц представляет собой группу отдельных частиц. Каждая частица в группе является компонентом объекта частиц. 5. Не снимая выделения с объекта частиц, нажмите клавиши Ctrl+a, чтобы открыть окно Attribute Editor. 6. Перейдите в раздел Render Attributes. 7. Щелкните по кнопке Add Attributes for Current Render Type (Добавить атрибуты для текущего типа визуализации), чтобы получить доступ к редактированию дополнительных атрибутов (рис. 18.4). 8. Чтобы увеличить или уменьшить частицы, переопределите значение параметра Point Size (Размер точки). Размер частицы будет изменен как на экране, так и при визуализации. По умолчанию частицы создаются при щелчке мышью в окне проекции. Чтобы рисовать частицы на сетке, следует активировать флажок Sketch (Эскиз) в настройках инструмента Particle.
Рис. 18.3. Создайте частицы с помощью щелчков мышью на виде сверху
Частицы можно также создавать при помощи эмиттера, который распыляет частицы с заданной скоростью и в определенном направлении. Существуют три типа эмиттеров:
Рис. 18.6. Эмиттер Directional
Omni (Всенаправленный) испускает частицы во всех направлениях (рис. 18.5); Directional (Направленный) распыляет частицы в одном направлении, которое определяет пользователь (рис. 18.6);
Типы визуализации 549
548 Динамика
7. Еще раз щелкните по кнопке Play, чтобы оценить результат. Теперь эмиттер распыляет частицы из центра сетки, причем частицы видны в течение одной секунды.
Volume (Объемный) испускает частицы из объемной простой формы, например, куба, конуса или цилиндра (рис. 18.7).
Тип эмиттера задается при его создании в окне Options или переопределяется после помещения в сцену в окне Attribute Editor.
Типы визуализации
Создание эмиттера 1. Выберите в меню Particles пункт Create Emitter (Создать эмиттер). По умолчанию будет создан эмиттер типа Omni, и его значок появится в центре сетки. Отсюда будут распыляться частицы (рис. 18.8). 2. Щелкните по кнопке Play (Воспроизведение) на панели управления воспроизведением. Вы увидите частицы, которые распыляются из центра сетки (рис. 18.9). 3. Не снимая выделения с частиц, нажмите клавиши Ctrl+a, чтобы открыть окно Attribute Editor. 4. Выберите вкладку particleShape1 в окне Attribute Editor. 5. Воспользуйтесь полосой прокрутки, чтобы перейти к разделу Lifespan Attributes (Атрибуты продолжительности жизни). 6. Выберите в выпадающем меню пункт Constant (Постоянное), чтобы изменить продолжительность жизни частиц после их распыления эмиттером (продолжительность жизни – это время, в течение которого частицы будут отображаться на экране). Если значение параметра Constant равно 1, частицы будут видны всего одну секунду, а затем исчезнут.
Рис. 18.7. Эмиттер Volume в форме цилиндра
Рис. 18.10. Выделенный объект частиц
Внешний вид частицы определяет заданный для нее тип визуализации: Points (Точки), MultiPoint (Мультиточки), Streak (Штрих), MultiStreak (Мультиштрих), Sprites (Спрайты), Spheres (Сферы), Tube [s/w] (Труба), Blobby Surface [s/w] (Капельная поверхность), Cloud [s/w] (Облако) или Numeric (Числовой). В большинстве случаев визуализация выполняется с помощью модуля Hardware Render Buffer. Типы визуализации, в названия которых входят буквы s/w, просчитываются программным способом (см. главу 15).
Изменение типа визуализации частицы
Рис. 18.8. Эмиттер создается в центре сетки Рис. 18.11. В окне Perspective частицы с визуализацией Cloud отображаются в виде окружностей
Рис. 18.9. Частицы распыляются из эмиттера Omni во всех направлениях
Рис. 18.12. Каждый тип визуализации имеет специфические атрибуты, которые допускается изменять
1. Выделите объект частиц (рис. 18.10). 2. Откройте окно Attribute Editor, нажав клавиши Ctrl+a. 3. На вкладке particleShape1 откройте раздел Render Attributes и разверните выпадающий список Particle Render Type (Тип визуализации частицы). 4. Выберите в списке пункт Cloud [s/w]. Частицы в окне Perspective отобразятся в виде окружностей (рис. 18.11). 5. Щелкните по кнопке Add Attributes for Current Render Type (рис. 18.12). 6. С помощью ползунка измените значение атрибута Radius (Радиус) с 1 на 3. Данная настройка позволяет интерактивно переопределять размер частицы-облака при отображении и визуализации.
Типы визуализации 551
550 Динамика
7. Щелкните по кнопке Render Current Frame (Визуализировать текущий кадр) , чтобы визуализировать частицы; или Выберите в меню Window пункты Rendering Editors Render View. На экране появятся облака, созданные из частиц (рис. 18.13).
Типы аппаратной визуализации В Maya существуют следующие типы аппаратной визуализации для частиц:
Points (Точки). Частицы визуализируются в виде точек (рис. 18.14). Радиус распыления можно регулировать, однако при увеличении частицы приобретут квадратную форму; MultiPoint (Мультиточки). Частицы визуализируются в виде кластеров точек (рис. 18.15). Допускается переопределять атрибут Multi Radius (Радиус мультиточек), который контролирует размер каждого кластера, и Multi Count (Количество мультиточек), задающий количество точек в каждом кластере;
Рис. 18.16. При выборе Streak частицы визуализируются в виде линий
Рис. 18.14. При выборе Points частицы визуализируются в виде точек
Streak (Штрих). Частицы визуализируются в виде линий (рис. 18.16). Можно изменять атрибуты Size (Размер), Line Width (Ширину линии), Tail Size (Размер следа) и Tail Fade (Затухание следа); MultiStreak (Мультиштрих). Частицы визуализируются в виде линий (рис. 18.17). Помимо свойств Streak этот тип визуализации имеет атрибуты Multi Count и Multi Radius; Sprites (Спрайты). Вид частиц определяет пользователь, назначая этим элементам какой-либо файл изображения (рис. 18.18). Чтобы выбрать файл, выполните команды меню Particles Select Wizard (Мастер выбора); Spheres (Сферы). Частицы визуализируются в виде непрозрачных сфер (рис. 18.19). Подобной частице можно назначить любой тонировщик. Атрибут Transparency не поддерживается;
Рис. 18.17. При выборе MultiStreak частицы визуализируются в виде кластеров из линий
Рис. 18.15. При выборе MultiPoint частицы визуализируются как кластеры из точек
Рис. 18.19. При выборе Spheres частицы визуализируются как полигональные сферы, которые затем можно текстурировать
Рис. 18.13. Облака из частиц Cloud
Рис. 18.18. При выборе Sprites частицы приобретают вид назначаемых им изображений и поддерживают такие функции, как непрозрачность и альфа-каналы
Поля 553
552 Динамика
Numeric (Числовой). Частицы имеют связанные числовые значения (см. рис. 18.20), которые могут представлять статические, динамические атрибуты или атрибуты, привязанные к частицам. Для статических частиц задается одно значение, а для динамических – несколько.
Поля
Типы программной визуализации Программная визуализация для частиц делится на следующие типы:
Blobby Surface (Капельная поверхность). Частицы приобретают сферическую форму и сливаются друг с другом (рис. 18.21). Имеют следующие атрибуты: – Radius (Радиус) задает начальные размеры частицы; – Threshold (Порог) определяет степень взаимопроникновения частиц. При увеличении значения данного атрибута радиус частицы «расплывается», и она начинает сливаться с другими частицами; Cloud (Облако). Частицы приобретают сферическую форму и становятся более прозрачными при удалении от центра (рис. 18.22). Их свойства аналогичны атрибутам Blobby Surface, но при визуализации выбран другой тонировщик – Particle Cloud. Допускается изменять узлы тонировщика, цвет и другие атрибуты в окне Hypershade (см. главу 13);
Tube (Труба). Частицы имеют цилиндрическую форму и увеличиваются при воспроизведении анимации (рис. 18.23). Атрибуты Radius0 и Radius1 задают начальное и конечное значения увеличения, а атрибут Tail Size определяет длину трубы.
Рис. 18.20. Рядом с числовыми частицами отображается относящаяся к ним информация. Частицы визуализируются в виде точек
Рис. 18.23. При выборе Tube частицы имеют цилиндрическую форму, что делает их похожими на частицы Streak. Различие заключается в том, что они созданы при помощи программной визуализации
Воздушное поле
Частицы
Поля задают определенное поведение частиц. В Maya имеется девять типов полей: Air (Воздушное), Drag (Тормозное), Gravity (Гравитационное), Newton (Ньютоновское), Radial (Радиальное), Turbulence (Турбулентное), Uniform (Однородное), Vortex (Вихревое) и Volume Axis (Объемная ось). Объекту частиц можно назначать несколько полей одновременно, чтобы добиться нужного движения частицы. Ниже приводится список эффектов, которые поля оказывают на объекты частиц:
Рис. 18.21. При выборе Blobby Surface частицы визуализируются в виде сливающихся сфер
Рис. 18.24. Поле Air создает эффект движения воздуха
Рис. 18.22. При выборе Cloud частицы визуализируются в виде частично прозрачных туманных поверхностей
Air (Воздушное) создает эффект движения воздуха (рис. 18.24). Существует три типа поля Air: – Wind (Ветер) перемещает частицы в одном направлении до тех пор, пока они не набирают определенную скорость движения; – Wake (Струя) при прохождении через объект частиц нарушает структуру группы и тащит частицы с собой, создавая эффект струи; – Fan (Вентилятор) расталкивает частицы под углом в 45°, создавая эффект движения воздуха от вентилятора; Drag (Тормозное) позволяет замедлить движущуюся частицу или создать эффект трения;
Поля 555
554 Динамика
Gravity (Гравитационное) имитирует силы гравитации. Допускается применять это поле в любом заданном направлении; Newton (Ньютоновское) притягивает частицы, то есть имитирует силу притяжения; Radial (Радиальное) притягивает частицы по направлению к центру или отталкивает их от центра; Turbulence (Турбулентное) нарушает положение частиц. Поле данного типа позволяет сделать движение частиц более случайным; Uniform (Однородное) создает такой же эффект, что и поле Air: выталкивает частицы в определенном направлении; Vortex (Вихревое) воздействует на частицы, закручивая их в спираль. Данное поле используется для создания эффекта торнадо; Volume Axis (Объемная ось) действует внутри некоторой объемной формы, сферы или куба, которая задается пользователем.
Общие атрибуты полей Ниже перечислены атрибуты, общие для полей всех типов:
Magnitude (Амплитуда) задает величину силы, с которой поле действует на частицы; Attenuation (Затухание) определяет коэффициент ослабления силы по мере того, как объект частиц удаляется от центра поля; Direction (Направление) устанавливает направление силы, обычно вдоль оси X, Y или Z;
Воздушное поле
Задействованные частицы
Рис. 18.25 Выберите в меню Fields пункт Air
Use Max Distance (Использовать максимальное расстояние) позволяет задавать максимальное расстояние и обозначить область воздействия поля; Max Distance (Максимальное расстояние) определяет расстояние, на котором будет действовать сила поля.
Добавление поля к объекту-частице
Рис. 18.26. Поле Air распыляет частицы в направлении X
Рис. 18.27. Увеличьте значение атрибута Magnitude, чтобы ускорить распыление частиц
1. Создайте эмиттер. 2. Щелкните по кнопке Play один раз, чтобы начать распыление частиц, и второй раз, чтобы остановить воспроизведение. 3. Выделите частицы. 4. Выберите в меню Fields (Поля) пункт Air (рис. 18.25), чтобы назначить поле выделенному объекту. 5. Воспроизведите анимацию, чтобы увидеть эффект воздействия поля Air на частицы (рис. 18.26). 6. Выделите поле Air. Если это трудно сделать, выберите пункты меню Window Hypergraph, затем щелкните по полю Air. 7. Откройте окно Attribute Editor, нажав клавиши Ctrl+a. 8. На вкладке Air Field Attributes (Атрибуты воздушного поля) присвойте атрибуту Magnitude значение 20 (рис. 18.27). 9. Еще раз воспроизведите анимацию, чтобы оценить эффект изменения амплитуды. При увеличении амплитуды возрастет сила поля, воздействующая на частицы. Атрибуты поля Air можно анимировать. Попробуйте создать ключевые кадры для атрибута Magnitude, чтобы его значение изменялось время от времени.
Столкновения 557
556 Динамика
Столкновения При добавлении поля Gravity объект частиц просто пропадает из поля зрения, так как в сцене нет ничего, что могло бы его остановить. Команда Make Collide (Заставить столкнуться) сообщает Maya, что частицы должны сталкиваться с определенной геометрией. Например, чтобы имитировать туман, можно создать объект частиц, применить к нему поля Air и Gravity, а затем заставить частицы сталкиваться с землей. Частицы будут падать на землю и перемещаться невысоко над ней благодаря воздействию поля Air.
Выделенные контрольные точки
Рис. 18.28. Создайте небольшой холм, с которым будут сталкиваться частицы
Имитация столкновения частиц 1. Создайте объект частиц и добавьте к нему поле Air так, как было описано в предыдущем разделе. 2. Выделите частицы, а затем выберите в меню Fields пункт Gravity. 3. В меню Create щелкните по значку рядом с пунктом NURBS Primitive Plane. В диалоговом окне Options задайте для плоскости значение 10 в полях Patches U и Patches V. 4. Нажмите кнопку Create. 5. Масштабируйте плоскость, чтобы ее размеры позволяли имитировать поверхность земли. Выберите несколько контрольных вершин рядом с центром плоскости и переместите их в положительном направлении по оси Y, чтобы создать холм (рис. 18.28). 6. В режиме выделения объектов переместите плоскость в отрицательном направлении по оси н так, чтобы она располагалась ниже частиц. 7. Выделите объект частиц и плоскость земли (рис. 18.29).
Плоскость земли
Объект частиц
Рис. 18.29. Выберите плоскость земли и объект частиц, чтобы заставить их столкнуться
8. Выберите в меню Particles пункт Make Collide. 9. Щелкните по кнопке Rewind , чтобы перейти в начало анимации. Затем нажмите кнопку Play , чтобы оценить полученный эффект. Частицы будут падать на землю и перемещаться вдоль поверхности благодаря воздействию поля Air (рис. 18.30).
Рис. 18.30. Частицы сталкиваются с геометрией земли и летят над холмом
Чтобы частицы было удобнее выделять, выберите частицу, откройте окно Attribute Editor (нажав клавиши Ctrl+a) и измените тип визуализации на Cloud.
Динамика твердых тел 559
558 Динамика
Динамика твердых тел
Создание имитации твердого тела
Maya позволяет задавать динамические свойства для поверхностей твердых и мягких тел. Чтобы объект при столкновении с другим объектом не деформировался, определите его как твердое тело. Объект, который должен быть гибким или эластичным, следует определить как мягкое тело. Используя динамику твердых тел Maya, можно имитировать процесс, который возникает при столкновении одного или нескольких объектов. В качестве примера рассмотрим анимацию движения шара для боулинга, который сбивает кегли в конце дорожки. Чтобы созданный сюжет был достаточно реалистичным, потребуется много времени и умения. Однако можно воспользоваться более быстрым и легким способом. Maya позволяет задать свойства для объектов, которые должны взаимодействовать друг с другом (в данном случае сталкиваться). Затем программа имитирует события, которые происходят после их контакта (см. рис. 18.31). Активные твердые тела реагируют на столкновения и воздействие полей (Gravity, Air и т.д.), а на пассивные твердые тела не влияют ни поля, ни столкновения (хотя они могут участвовать в последних). Пассивные твердые тела используются для изображения пола и стен, то есть неподвижных объектов.
1. Создайте сферу NURBS. 2. Переместите сферу в положительном направлении по оси Y. 3. Создайте плоскость NURBS и масштабируйте ее, чтобы ее размеры позволяли сымитировать пол комнаты (рис. 18.32). 4. Выделите сферу. 5. Выберите в меню Soft/Rigid Bodies (Мягкие/твердые тела) пункт Create Active Rigid Body (Создать активное твердое тело) – рис. 18.33. 6. Выделите плоскость. 7. Выберите в меню Soft/Rigid Bodies пункт Create Passive Rigid Body (Создать пассивное твердое тело). 8. Выделите сферу. 9. Выберите в меню Fields пункт Gravity, чтобы применить к сфере одноименное поле. Под воздействием сил поля сфера будет падать на землю. 10. Воспроизведите анимацию, чтобы оценить результат (рис. 18.34).
Рис. 18.31. Имитация твердых тел. Шар сбивает кегли, которые, в свою очередь, сталкиваются с задней стеной, полом и друг с другом
Рис. 18.32. Плоскость имитирует твердую поверхность, от которой будет отскакивать мяч
Рис. 18.33. Выберите в меню Soft/Rigid Bodies пункт Create Active Rigid Body
Рис. 18.34. Твердая сфера отскакивает от плоскости
Динамика мягких тел 561
560 Динамика
Динамика мягких тел В отличие от твердых тел, мягкие тела обладают эластичностью. Каждая контрольная вершина или вершина полигона имеет связанную с ней частицу, на которую воздействует динамика (например, поля) или столкновение частиц. При воздействии объект деформируется (рис. 18.35). Частицы, влияющие на поверхность, позволяют имитировать самые различные объекты: флаги, развевающиеся по ветру, желе, меняющее форму при падении на землю, или даже полного человека, живот которого колышется при ходьбе. Мягкие тела могут использовать твердые объекты в качестве целевых форм. Так называется форма, в которую должно влиться мягкое тело. Частицы, воздействующие на мягкое тело, притягиваются к контрольным вершинам целевой формы. Это позволяет анимировать начальную геометрию, при этом мягкое тело будет следовать за ней, отклоняясь и колеблясь относительно начальной геометрии перед тем, как влиться в нее. Одним из примеров использования этой функции может быть анимация полного человека с двойным подбородком, колышущимся при движении кости подбородка.
Создание мягкого тела 1. Создайте сферу NURBS. На шкале времени в кадре 1 создайте ключевой кадр для сферы при помощи клавиши s. 2. Перейдите в кадр 40 на шкале времени. 3. Переместите сферу на 10 единиц в отрицательном направлении по оси Y (рис. 18.36). Создайте еще один ключевой кадр с помощью клавиши s. 4. Перейдите обратно в кадр 1 и выделите сферу.
Рис. 18.37. Окно настроек для создания мягкого тела
Рис. 18.35. Поле Air выталкивает часть поверхности мягкого тела вниз в отрицательном направлении по оси Y
Рис. 18.38. Инструмент Artisan позволяет рисовать точки веса на поверхности мягкого тела
Рис. 18.36. Создание ключевого кадра в кадре 40 на шкале времени
5. В меню Soft/Rigid Bodies щелкните по значку рядом с пунктом Create Soft Body (Создать мягкое тело), чтобы открыть окно настроек. 6. Выберите в выпадающем меню пункт Duplicate, Make Copy Soft (Скопировать, сделать копию мягким телом). 7. Поставьте флажки в полях Hide NonSoft Object (Скрыть немягкий объект) и Make Non-Soft a Goal (Сделать немягкий объект целевым) – рис. 18.37. При этом начальный объект будет скопирован и скрыт, а копия определена в качестве мягкого тела. Целевой формой станет начальный анимированный объект. 8. Щелкните по кнопке Create. При воспроизведении анимации мягкое тело будет просто повторять движения начальной сферы. Дело в том, что все значения веса для мягкого тела заданы равными 1. Поскольку Maya позволяет изменять и даже рисовать вес на мягком теле, можно имитировать абсолютно любое движение объекта. В следующем упражнении верхняя часть сферы будет заваливаться назад, колебаться при остановке и принимать прежнюю форму.
Изменение значений веса целевой формы для мягкого тела 1. Выделите мягкое тело, в данном примере сферу. 2. В меню Soft/Rigid Bodies щелкните по значку рядом с пунктом Paint Soft Body Weights (Рисование веса мягкого тела), чтобы вызвать инструмент Artisan. Мягкое тело окрасится в белый цвет (рис. 18.38).
Эффекты 563
562 Динамика 3. В окне Artisan (оно похоже на окно Attribute Editor) щелкните по кнопке Reset Tool (Сбросить установки). 4. В разделе Paint Attributes (Атрибуты рисования) присвойте параметру Value значение 0,5. 5. С помощью мыши разрисуйте верхнюю часть сферы. Цвет верхней части сферы станет серым (рис. 18.39). 6. Воспроизведите анимацию. Когда сфера останавливается в кадре 40, ее верхняя часть колышется (рис. 18.40).
Рассмотрим более подробно эффекты, доступные в меню Effects:
Рис. 18.39. Инструмент Attribute Paint позволяет в интерактивном режиме присваивать объектам значения веса Рис. 18.41. Эффект Fire
Эффекты Maya предлагает множество эффектов с применением частиц. С их помощью можно зажечь объект, заставить его дымиться, вызвать молнию, создать бурный поток, устремляющийся в долину. Обычно они используются как отправная точка для создания более сложных эффектов, а это значит, что вам понадобится изменить их, чтобы добиться нужного результата. В меню Effects (Эффекты) содержатся готовые системы частиц с дополнительными атрибутами, способными напрямую влиять на взаимодействие частиц или визуализацию. Эти атрибуты состоят из выражений (expressions) и соединений между узлами. Например, когда вы создаете эффект огня с помощью команды Create Fire (Создать огонь), Maya автоматически соединяет с частицами такие поля, как Turbulence, Gravity и Drag, а также добавляет тонировщик и специальные выражения, предоставляя вам дополнительные возможности для управления эффектом.
Рис. 18.40. Когда сфера останавливается, верхняя часть мягкого тела колышется до тех пор, пока не примет начальную форму Рис. 18.42. Эффект Smoke
Рис. 18.43. Эффект Fireworks
Create Fire (Создать огонь) создает эмиттер, к которому привязаны поля Gravity, Drag и Turbulence, соединенные с объектом частиц типа Cloud. В окне Attribute Editor допускается переопределять атрибуты Density (Плотность), Radius (Радиус), Direction (Направление) и Intensity (Интенсивность). Огонь может распыляться от поверхности, кривой или направляющей точки. Направляющая точка распыляет частицы огня в заданном направлении из любой точки пространства (рис. 18.41); Create Smoke (Создать дым) создает эмиттер, который использует частицы с изображениями Sprites вместо частиц Cloud или Points (рис. 18.42). Чтобы задать определенный набор изображений, выберите в меню Particles пункт Sprite Wizard. В программу включен набор изображений и направлений. В окне Attribute Editor устанавливаются атрибуты Lifespan (Продолжительность жизни), Opacity (Непрозрачность), Direction (Направление), Spread (Разброс) и Speed (Скорость); Create Fireworks (Создать фейерверк) моделирует кластер из ракет и взрывов в соответствии с заданными вами параметрами (рис. 18.43);
Эффекты 565
564 Динамика
Create Lightning (Создать молнию) имитирует анимированную молнию между двумя или более объектами (рис. 18.44). В окне Attribute Editor вы можете изменять такие атрибуты и группы атрибутов, как Thickness (Толщина), Spread (Разброс), Jagged Sections (Зазубренные секции), а также Glow and Light Intensity (Интенсивность свечения и света); Create Shatter (Создать обломки) позволяет разбить объект на заданное количество осколков (рис. 18.45). Существует три типа данного эффекта: Surface (Поверхность), Solid (Сплошное) и Crack (Трещина); Surface Flow (Поток вдоль поверхности) помещает в сцену манипуляторы, которые будут направлять частицы в виде потока вдоль поверхности NURBS (см. рис. 18.46); Create Curve Flow (Создать поток вдоль кривой) создает манипуляторы, которые будут направлять частицы в виде потока вдоль пути кривой (рис. 18.47).
Создание эффекта горящего объекта
Рис. 18.45. Эффект Shatter
Рис. 18.48. Цилиндр принимает форму бревна
Рис. 18.46. Эффект Surface Flow
Рис. 18.49. Эффект огня при воспроизведении анимации
Рис. 18.44. Эффект Lightning
Рис. 18.47. Эффект Curve Flow
Рис. 18.50. Дополнительные атрибуты, которые влияют на частицы огня
1. Создайте полигональный цилиндр. Поверните его и масштабируйте таким образом, чтобы он принял форму бревна (рис. 18.48). 2. Выделите цилиндр. Выберите в меню Effects пункт Create Fire. 3. Щелкните по кнопке Play ,чтобы создать имитацию огня (рис. 18.49). 4. Щелкните по кнопке Stop в любой момент на шкале времени и выполните визуализацию вида Perspective, чтобы оценить результаты. 5. Выделите частицы и откройте окно Attribute Editor. 6. В разделе Extra Attributes (Дополнительные атрибуты) присвойте атрибуту Fire Density (Плотность огня) значение 20, Fire Lifespan (Продолжительность жизни огня) – значение 0,2, а Fire Speed (Скорость огня) – значение 10. Затем воспроизведите анимацию, чтобы оценить эффект (рис. 18.50). Попробуйте переопределить атрибуты, чтобы изменить имитацию огня. 7. Внесите изменения. Перейдите на начало анимации, воспроизведите ее, остановите и выполните визуализацию, чтобы оценить результаты.
Редактор Dynamic Relationships Editor 567
566 Динамика Манипулятор выделения
Создание молнии 1. Создайте две сферы и переместите их таким образом, чтобы они не накладывались друг на друга (рис. 18.51). 2. Выделите обе сферы. 3. Выберите в меню Effects пункт Create Lightning. Между двумя сферами появится зигзаг. Программа также создаст два локатора, источник света и манипулятор выделения. 4. Выделите один из локаторов и переместите его на некоторое расстояние от объектов. Теперь молния будет образовывать кривую (рис. 18.52). 5. Щелкните по манипулятору выделения в центре объекта молнии (рис. 18.53). 6. В окне Channel Box измените значения атрибутов Thickness Start (Начальная толщина), Thickness End (Конечная толщина) и Color (Цвет), чтобы получить нужный эффект. Также эти атрибуты можно переопределить в окне Attribute Editor на вкладке Lightning1 раздела Extra Attributes.
Редактор Dynamic Relationships Editor Иногда объект частиц или твердое/мягкое тело требуется связать с существующим полем или объектом столкновения. Редактор Dynamic Relationships Editor (Редактор динамических связей) позволяет связывать узлы сцены, а также существующие поля, столкновения и эмиттеры.
Рис. 18.51. Две сферы, которые используются для создания эффекта молнии
Создание связи между полем и частицей с помощью редактора Dynamic Relationships Editor Рис. 18.53. Манипулятор выделения для эффекта молнии
Рис. 18.54. Редактор Dynamic Relationships Editor Рис. 18.52. Выделите локатор и переместите его таким образом, чтобы создать дугу
Рис. 18.55. Создание связи между объектом частиц и узлом гравитации в редакторе Dynamic Relationships Editor
1. Выберите в меню Particles пункт Create Emitter. 2. Выполните команды меню Fields Gravity. При воспроизведении анимации вы увидите, что частицы не подвержены действию гравитации. Дело в том, что при создании поля Gravity вы не выделили объект частиц, значит, поле с ним просто не связано. 3. Выберите в меню Window пункты Relationships Editors Dynamic Relationships (Редакторы связей Динамические связи). В левой части окна располагается список узлов сцены. В этом столбце находятся пункты emitter1, particle1 и gravityField1 (см. рис. 18.54). 4. Выберите в левом столбце пункт particle1. Теперь в списке в правой части редактора появится пункт gravityField1. Этот пункт не выделен, поскольку два узла не связаны. 5. Щелкните по пункту gravityField1 в правой части редактора (рис. 18.55). Программа свяжет узел particle1 с узлом gravityField1. 6. Воспроизведите анимацию. Поле Gravity будет воздействовать на частицы.
Эффекты жидкости 569
568 Динамика
Для отображения эффекта жидкости контейнер использует воксели (от английского сокращения voxels – объемные пиксели), выстроенные в сетке. Каждый воксель имеет несколько присвоенных ему атрибутов и значений, которые определяют поведение и внешний вид эффекта жидкости (рис. 18.58). Сетка применяется для отображения различных атрибутов эффектов жидкости, и каждый атрибут может использовать специфический тип сетки:
Эффекты жидкости Эффекты жидкости позволяют очень реалистично имитировать движение частиц, которое зависит от окружающей среды (в данном контексте слово «жидкость» относится к характеру движения частиц, а не к моделированию настоящей жидкости). Например, в определенной области, где температура воздуха выше, частица будет подниматься быстрее. Эффекты жидкости используются для воссоздания взрывов, дыма, огня, волн, облаков и плотных жидкостей. Когда писалась эта книга, эффекты жидкости были доступны только в версии Maya Unlimited, которая к сожалению, работала только в среде Windows.
Рис. 18.58. Значения атрибута Density для трехмерного контейнера
Контейнеры В основе эффектов жидкости лежит понятие контейнера. Все эффекты жидкости возникают только внутри контейнера. Контейнеры представляют собой двумерные и трехмерные прямоугольные объекты. Двумерные контейнеры используются для создания многих эффектов, при которых камера не вращается вокруг объекта. Допускается перемещать, вращать и анимировать контейнер, однако сам контейнер не имеет толщины или глубины (рис. 18.56). Трехмерные контейнеры обладают определенной глубиной, которую можно задать в окне Options при создании контейнера. Они применяются для имитации облаков, взрывов и любых других эффектов, которые требуют глубины (рис. 18.57).
Рис. 18.56. Двумерный контейнер жидкости
Рис. 18.57. Трехмерный контейнер жидкости
Density (Плотность). Сетка плотности определяет точки, в которых жидкость будет видна, а также ее непрозрачность; Velocity (Скорость). Сетка скорости задает направление, в котором движется поток жидкости; Temperature (Температура). Сетка температуры устанавливает количество тепла, которое излучается определенным вокселем (со временем тепло поднимается и рассеивается. Эти параметры вы тоже можете контролировать); Fuel (Топливо). Сетка топлива определяет, в какой точке будет происходить реакция. При высокой температуре топливо воспламенится, и начнется реакция. Таким образом, при сжигании топлива оказывается влияние на атрибут Density; Color Method (Метод цвета). Данная сетка определяет, будет цвет тонирован или представлен динамической/статической сеткой.
Эффекты жидкости 571
570 Динамика Для каждого из вышеперечисленных атрибутов используются три типа сетки: Static Grid (Статическая сетка) позволяет задавать значения для всех вокселей сетки. При воспроизведении анимации эти значения остаются статичными; Dynamic Grid (Динамичная сетка) также позволяет определять значение для всех вокселей сетки. При воспроизведении анимации значение каждого элемента объема динамически изменяется в зависимости от того, какие силы на него действуют; Gradient (Градиент) устанавливает линейное приращение от 0 до 1 через сетку в любом направлении или от центра. Эти значения не изменяются.
После распыления жидкости вы можете изменить значения всех атрибутов с помощью инструмента Artisan Paint.
Редактирование содержимого контейнера с помощью инструмента Paint Fluids
Рис. 18.59 В меню Fluid Effects щелкните по значку рядом с пунктом Create 2D Container with Emitter
Существует множество способов поместить жидкость в контейнер: создать эмиттер, нарисовать точки жидкости или использовать градиенты. В следующем примере мы создадим двумерный контейнер с назначенным ему эмиттером.
Рис. 18.61. В меню Fluid Effects щелкните по значку рядом с пунктом Add/Edit Contents Paint Fluids Tool
Рис. 18.62. Установка сеток Density и Fuel как динамических
Создание двумерного контейнера 1. В меню Fluid Effects (Эффекты жидкости) щелкните по значку рядом с пунктом Create 2D Container with Emitter (Создать двумерный контейнер с эмиттером) – рис. 16.59. 2. Перемотайте ролик и щелкните по кнопке Play . При воспроизведении анимации вы увидите белый поток частиц, который распыляется из центра контейнера (рис. 18.60).
Рис. 18.60. Жидкость распыляется вверх из центра контейнера
1. Выделите контейнер с жидкостью. 2. Перемотайте анимацию. 3. В меню Fluid Effects щелкните по значку рядом с пунктом Add/Edit Contents Paint Fluids Tool Options (Добавить/редактировать содержимое Инструмент рисования жидкостей Опции) – рис. 18.61. Откроется окно инструмента Artisan Paint. 4. Выберите в выпадающем списке Paintable Attributes (Атрибуты для рисования) пункты Density и Fuel. Откроется диалоговое окно с сообщением о том, что вы должны задать значения атрибута как динамическую сетку. Щелкните по кнопке Set to Dynamic (Задать динамическую сетку) – рис. 18.62. 5. Нарисуйте внутри контейнера несколько штрихов (рис. 18.63). 6. Щелкните по кнопке Play, чтобы увидеть результат влияния сеток Density и Fuel. Создание трехмерных контейнеров определяется теми же принципами. Дополнительный манипулятор для управления рисованием по оси Z изменяет атрибут Depth (Глубина). Чтобы создать трехмерный контейнер, выполните действия, которые описаны в предыдущем разделе.
Рис. 18.63. Несколько штрихов сеток Density и Fuel изменят поведение жидкости
Эффекты жидкости 573
572 Динамика
Атрибуты контейнеров с жидкостью Контейнеры с жидкостью обладают множеством уникальных свойств, которые можно изменять в окне Attribute Editor. Далее рассказывается обо всех разделах окна Attribute Editor для жидкостей и их содержимом:
Container Properties (Свойства контейнера) определяет разрешение (количество вокселей) и геометрический размер сетки; Contents Method (Метод содержимого) задает тип сетки для каждого свойства жидкости; Display (Отображение) устанавливает внешний вид жидкости в рабочем окне вида; Dynamic Simulation (Динамическая имитация) определяет гравитацию, вязкость и трение жидкости; Contents Details (Детали содержимого) задает различные параметры для каждого свойства жидкости: Density, Velocity, Turbulence, Temperature, Fuel и Color; Grids Cache (Кэширование сеток) устанавливает настройки для сохранения имитации в файл; Surface (Поверхность) определяет процесс визуализации поверхности. Для различных жидкостей можно выбирать между Volume Render (Объемная визуализация) и Surface Render (Поверхностная визуализация). Для визуализации объемных объектов, например дыма или потока, следует задействовать Volume Render. Для визуализации рельефных поверхностей, например грязи, используйте Surface Render;
Shading (Тонировка) задает цвет жидкости, самосветимость и непрозрачность; Shading Quality (Качество тонировки) предоставляет доступ к настройкам для управления отображением жидкости; Textures (Текстуры) определяет настройки для наложения текстур цвета, самосветимости и непрозрачности; Lighting (Освещение) позволяет использовать опцию Self Shadowing (Отбрасывать тень на себя), которая заставляет объект отбрасывать тень на собственную поверхность. Чтобы поместить в сцену источники света, следует поставить флажок Real Lights (Реальное освещение) или самостоятельно задать направление освещения.
Импортирование примера эффекта жидкости
Рис. 18.64. Импортирование примера эффекта жидкости из окна Visor
Примеры эффектов жидкости Лучшим способом изучения новой процедуры является работа с уже созданными эффектами, например с библиотекой эффектов жидкости Maya. Импортируйте один из этих эффектов в сцену и просмотрите установки, которые применялись при его создании, в окне Attribute Editor. В нижней части окна Attribute Editor находится новый раздел – Notes (Заметки). Он включает описание процедуры, которая использовалась для создания некоторых эффектов. В этот раздел допускается добавлять собственные комментарии об эффекте, которые затем будут сохранены вместе с узлом.
Рис. 18.65. Атрибуты эффекта жидкости
1. Выполните команды Fluid Effects Get Fluid Example (Открыть пример эффекта жидкости). Откроется окно Visor, которое содержит примеры эффектов жидкости (рис. 18.64). 2. Выберите в левой части окна Visor папку, в которой находится эффект. 3. В правом столбце щелкните правой кнопкой мыши по нужному эффекту и выберите пункт Import Maya File (Импортировать файл Maya) или просто перетащите эффект, удерживая нажатой среднюю кнопку мыши, в окно вида. Эффект появится в начале координат сцены. 4. Поэкспериментируйте с установками в окне Attribute Editor с помощью клавиш Ctrl+a, изменяя внешний вид и поведение жидкости (рис. 18.65).
Эффекты жидкости 575
574 Динамика
Maya не будет тонировать плоскость океана в окнах видов, так как это замедлит просмотр. Чтобы создать плоскость для предварительного просмотра, в диалоговом окне Options поставьте флажок Create Preview Plane (Создать плоскость для предварительного просмотра) . Чтобы добавить плоскость предварительного просмотра к существующему эффекту, выберите в меню Fluid Effects пункты Ocean Create Preview Plane (рис. 18.68). Плоскость предварительного просмотра представляет собой небольшую поверхность, которой назначен тонировщик Ocean. На ней вы и будете видеть результаты вносимых изменений.
Имитация океана и тонировщик Ocean Maya использует сложную сеть тонировщиков, а также динамику жидкости для создания объекта Ocean (Океан). При помощи одного щелчка мыши сцена заполняется фотореалистичными водами океана, в котором можно устраивать штормы и штили (рис. 18.66). Создав локатор и связав его с имитацией жидкости, вы даже можете создавать плавающие на поверхности океана объекты. Как и для других эффектов жидкости, Maya предлагает различные примеры эффекта Ocean, которые допускается импортировать в сцены.
Рис. 18.66. Визуализация эффекта Maya Ocean
Рис. 18.68. При добавлении плоскости предварительного просмотра к существующему эффекту вы будете видеть результаты вносимых изменений в интерактивном режиме
Создание эффекта Ocean, заданного по умолчанию 1. Выберите в меню Fluid Effects пункты Ocean Create Ocean (Океан Создать океан) – рис. 18.67. На сетке сцены будет создана плоскость NURBS. 2. Откройте окно Attribute Editor и перейдите на вкладку OceanShader. 3. Разверните раздел Ocean Attributes (Атрибуты океана) и измените атрибуты в разделах Wave Height (Высота волн), Turbulence (Турбулентность), Peaking (Пиковая высота), Speed (Скорость), Frequency (Частота), Direction (Направление) и т.д. Большинство регулировок для эффекта Ocean доступны в тонировщике Ocean, который использует яркость алгоритмической текстуры для смещения поверхности NURBS.
Если прикрепить созданный эффект к виду Perspective в опциях Create Ocean, изображение будет перемещаться и масштабироваться вместе с камерой. Это позволит получить оптимальное разрешение независимо от положения камеры.
Итак, на вашей сцене бушует океан. Теперь осталось добавить плавающий объект. Команда Make Boats (Создать лодку) позволяет создать плавающий объект или группу объектов и контролировать их плавучесть и другие атрибуты.
Создание лодки
Рис. 18.67. Выберите в меню Fluid Effects пункты Ocean Create Ocean
1. Создайте океан, выполнив действия, которые были описаны в предыдущем разделе. 2. Выберите в меню Create пункты Polygons Cube (Полигоны Куб). 3. Масштабируйте куб таким образом, чтобы его размеры позволяли имитировать лодку.
Эффекты жидкости 577
576 Динамика 4. Не снимая выделения с куба, выберите пункты меню Fluid Effects Ocean Make Boats (рис. 18.69). Куб наследован локатору. Локатор контролируется океаном и, в свою очередь, управляет движением куба (рис. 18.70). 5. Выделите локатор и откройте окно Attribute Editor, нажав клавиши Ctrl+a. 6. В окне Attribute Editor перейдите на вкладку Extra Attributes. 7. Щелкните по кнопке Play на панели управления воспроизведением. 8. В интерактивном режиме измените такие атрибуты, как Buoyancy (Плавучесть), Water Damping (Испарение воды), Air Damping (Испарение воздуха), Roll (Поперечная качка) и Pitch (Продольная качка), чтобы определить движение лодки. Временной диапазон должен составлять не менее 500 кадров, чтобы было достаточно времени для воспроизведения эффекта. Итак, вы создали лодку и освоили использование атрибутов. Теперь перейдите к следующему упражнению – попробуйте создать катер. Выполните действия, описанные в предыдущем разделе, но на шаге 2 выберите пункты меню Fluid Effects Ocean Make Motor Boat (Эффекты жидкости Океан Создать катер). Атрибуты Throttle (Движение) и Rudder (Руль) позволяют в интерактивном режиме управлять катером.
Пруды В пятой версии Maya появилась новая команда – Create Pond (Создать пруд). Этот эффект имеет те же функции управления, что и Ocean. На пруд, созданный таким образом, можно помещать различные плавающие объекты. Create Pond позволяет имитировать небольшие водоемы.
Создание пруда
Рис. 18.69. Выберите в меню Fluid Effects пункты Ocean Make Boats
Рис. 18.71. Выберите в меню Fluid Effects пункты Pond Create Pond
Рис. 18.70. Локатор контролирует влияние океана на лодку
Рис. 18.72. Измените цвет в атрибутах Pond
1. Выберите в меню Fluid Effects пункты Pond Create Pond (Пруд Создать пруд) – рис. 18.71. На сцене появится двумерная жидкость. 2. Не снимая выделения с эффекта, откройте окно Attribute Editor, нажав клавиши Ctrl+a. Перейдите на вкладку pondShape1 (рис. 18.72). В разделе Shading измените цвет, непрозрачность и самосвечение, а также другие свойства пруда. В данном примере используются установки по умолчанию.
Эффекты жидкости 579
578 Динамика Давайте придадим движение водяной глади. Для этого требуется создать след, который будет изменять поверхность пруда.
Следы можно создавать и на поверхности океана. Выполните действия, описанные в предыдущем разделе, но на шаге 2 выберите пункты меню Ocean Create Wake.
Создание следа 1. Выделите пруд, который вы создали в предыдущем разделе. 2. Выберите в меню Fluid Effects пункты Pond Create Wake (Пруд Создать след) – рис. 18.73. В центре пруда будет создан эмиттер жидкости сферической формы. 3. Не снимая выделения с эмиттера, откройте окно Attribute Editor, нажав клавиши Ctrl+a. Перейдите на вкладку PondWakeEmitter1. 4. Откройте раздел Fluid Attributes и присвойте атрибуту Density/Voxel/Sec (Плотность/Воксель/Секунд) значение 1 (рис. 18.74). Значение атрибута Density/Voxel/Sec определяет силу (следовательно, размер) следа. По умолчанию его значение равно 5. Оно создает слишком глубокий след. 5. Щелкните по кнопке Play на панели управления анимацией, чтобы оценить результат. 6. Изменяйте знаение атрибута Density/ Voxel/Sec, пока не добьетесь нужного эффекта.
Чтобы связать следы с объектами или лодками, выделите объект, затем в меню Fluid Effects выберите пункты Pond Create Wake. Теперь эмиттер будет наследован объекту. Если вы анимируете объект, эмиттер создаст позади него динамический след в форме расходящейся буквы V (рис. 18.75).
Рис. 18.73. Выберите в меню Fluid Effects пункты Pond Create Wake
Рис. 18.75. Анимированный объект движется через пруд, оставляя след на фарватере Рис. 18.74. Измените атрибуты следа в окне Attribute Editor
Предметный указатель А Анимация 315 вдоль пути 344 воспроизведение 317 камеры 473 канал 340 настройки 317 ограничение 337 отрезок 345 предварительный просмотр скорость 323 управление 316 циклическая 335 Атрибут 17 NURBS 92 задание 90 изменение 22, 26, 91, 98 ключевой 74 полигоны 101 радиус 90
В Вес 297 Вид 20 выбор камеры 79 в перспективе 60 ортогональный 60 откат 57 перемещение 56 поворот 57
354
режимы просмотра 76 точка наблюдения 78 Визуализатор 470, 482 Hardware Renderer 496 Hardware Render Buffer 488 настройка 490 IPR 494 Mental Ray 502 Software Renderer 485 Vector Renderer 498 Визуализация 386, 480 аппаратная 469, 488, 496 векторная 498 граница 501 заливка 499 вид 483 глобальное освещение 503, 508 качество 481 отражение 492 пакетная 486, 497 последний сбор 503, 506 последовательности 484 преломление 493 показатель 493 программная 469 просмотр 487 размытие при движении 486 разрешение 480 светотени 502, 504 сглаживание 481 трассировка лучей 491 качество 492
Предметный указатель 581 установки 482 энергия 508 Вкладка Hypershade 418 Воксель 569 Выделение 118 Hypergraph 120 Ouliner 120 в иерархии 122 верхнего объекта 121 добавление 119 инвертирование 119 отмена 120 удаление 119 Выравнивание 162, 170, 176 нескольких объектов 177, 179 нескольких точек 180 равномерное распределение 178 точки 180 Выражения 521
Г Геометрия 42 «Горячая клавиша» 50 создание 51 Группа преобразование 166 отдельного объекта 168 создание 165 Группирование 162, 164, 165 разгруппирование 166
Д Деформатор 356 Bend 358 Sculpt 371 Sine 360 Squash 363 Twist 365 Wave 362 Wire 368 без опоры 369 с опорой 370
нелинейный 357 отображение 380 параметры 357 скрытие 380 Динамика 545
И Иерархия 29, 33, 169, 280 объекты по умолчанию 33 развернуть 32 Инструмент 3D Paint 445 заливка 446 Align Objects 177 Align Tool 179 Attribute Paint 302, 562 редактирование веса точек 303 Birail 205 Chamfer Vertex 240 Cut Face 235 Duplicate 146 Duplicate with Transform 156 Edit 307 EP Curve 189 Extrude Face 225 Vertex 231 IK_Spline Handle Tool 293 IK Handle Tool 290, 292 Insert Joint Tool 286 Joint Tool 281 Lasso Selection 145 Move 138 Paint Fluids Tool 571 Particle Tool 546 Pencil Curve 190 Point-to-Point Snap Align 180 Poke Faces 237 Reduce 251 Rotate 141 Scale 139 Show Manipulator 143 источник света 143
582 Maya 6 для Windows и Macintosh Smooth 249 Smooth Proxy 246 Snap Align 171 Snap Together 171 Split Polygon 232 Subdivide 248 Trim Tool 211 Wedge Face 238 Wire Tool 369 Интерфейс 55 изменение 60 скрытие/отображение элементов схема окон 62, 64 История создания объекта 34 включение и выключение 35 удаление 36 узлы 35 Источник света 388 атрибуты 389 затухание 390 интенсивность 389 карта 402 направленный 395 объемный 400 подсветка 391 Ambient Shade 393 привязывание 404 прожектор 398 особые атрибуты 399 просмотр сцены 403 протяженный 394 точечный 396 цвет 389
К Камера анимация 473 вдоль пути 477 окружающая среда 479 плоскость изображения 479 поворот 476 преобразование 474 следование 475
65
создание 471 с наведением 472 фокусное расстояние 478 Каркас 94 Касательная фиксированная 328 Кинематика обратная 288 IK-манипулятор 290 использование кластеров 295 сплайн 293 прямая 280 Кластер 297 изменение веса 301, 303 создание 299 Ключевой кадр 315 касательная 327 изменение 329 копирование 331, 332 масштабирование 333 метка 318 видимость 324 редактирование 320 создание 318 автоматически 317 Команда Assign Textures 446 Attach to Motion Path 344 Center Pivot 115 Convert Selection to Faces 218 Create 86 Create Character Set 346 Create Cluster 295 Curve Fillet 192 Detach Curves 194 Disconnect Joint 287 Duplicate, Make Copy Soft 561 Extrude 203 Full Crease.Edge/Vertex 272 Full Crease Edge/Vertex 271 Get Fluid Example 573 Ghost Selected 342 Graph Materials on Selected Objects Group 165 Grow Selection Region 218
432
Предметный указатель 583 Loft 202 Look Through Selected 403, 471 Make Boats 575 Make Collide 557 Move 138 Move and Sew UVs 451 Open/Close Curves 193 Parent 169 Planar 204 Redo Previous Render 394 Refine 264 Remove Joint 286 Render 487 Render the Current Frame 500 Reverse Curve Direction 190 Rotate 141 Scale 139 Select Camera 474 Show Batch Render 487 Shrink Selection Region 218 Template 130 Text 109 Ungroup 166 Unparent 170 Компонент 125 Контейнер 568 двумерный 568 создание 570 редактирование 571 трехмерный 568 Кость 282 Кривая Безье 182 компоненты 183 направление 185 обращение 190 начальная точка 185 проецирование 210 профильная 188 разбиение 194 размыкание/замыкание 193 рисование на поверхности 208 создание 184 степень 187
Л Лофтинг
108
М Маска выбора 117 выделения 118, 121 режим Component 125 режим Hierarchy 121 режим Object 123 Массив 524 Материал 415, 424 атрибуты 425 блик 415 накаливание 416 прозрачность 425, 438 рельеф 426, 439 Меню Animate 342 Character 346 Create 87 Deform 300, 353, 358 Display 65, 129, 216, 281 Dynamics 545 Edit 147 Edit Curves 190 Edit NURBS 210 Edit Polygons 218 Effects 565 Fields 555 File 391 Fluid Effects 571 Hotbox 21, 27 отображение и скрытие 70 отображение наборов 71 Lighting/Shading 404 Modify 167, 269 Paint 303 Panels 60, 471 Particles 548 Render 392 Shading 76 Show 67
584 Maya 6 для Windows и Macintosh Skeleton 281 Skin 306, 310 Soft/Rigid Bodies 559 Subdiv Surfaces 270 Surfaces 201 Texturing 442 View 78, 478 Window 74, 329 главное 20 дополнительные 69 контекстное 21, 72 наборы 69
Н Набор быстрого выделения 128 Наследование 162, 164, 168, 296 к суставам 298 разрыв 170 создание 169 Настройка 46 манипулятора 47 отмена действия 46 сброс 49 цветовая схема 49
О Оболочка 304 мягкая 310 отделение 313 Объект NURBS 183 активный 376 волна 362 вращение 141 выделение 118 добавление примечания 80, 134 зеркальное отражение 152 изгиб 358 изменение цвета 426 копирование 147 с историей 155 с простым перемещением 157 масштабирование 139
название изменение 112 присвоение 112 отображение 68, 130 перемещение 138 преобразование 135 примитив 81 скручивание 365 скрытие 68, 129 всех 130 создание экземпляра 153 сплющивание 363 текстовый 108 частиц 546 создание 546 шаблон 130 снятие 131 Океан 574 лодка 575 плоскость предварительного просмотра 575 создание 574 Окно Align Objects Options 177 Animation Preferences 324 Artisan 562 Assign File Textures 446 Colors 49 Color Chooser 425 Create Reference 45 Create Render Node 430 Custom Polygon Display Options 216 Detach Curve Options 194 Duplicate Options 147 Export 44 Extrude Face Options 229 Extrude Options 204 Extrude Vertex Options 231 Import 45 Mirror Joint Options 284 Options 89 Playblast Options 355 Polygon Cut Face Tool Options 235 Polygon Smooth Options 249
Предметный указатель 585 Polygon Wedge Faces Options 239 Preferences 47 Render Globals 470, 482 Render View 386, 495 Revolve Options 201 Save Scene 39 Settings/Preferences 46 Text Curves Options 207 главное 20 Освещение 381 глобальное 508 основанное на анализе изображений 509 Отрезок 345 создание 347
П Панель 58 Create 402 инструментов 137 Патчи, модель 103 Переменная с плавающей точкой 524 целочисленная 524 Персонаж 279, 345 создание 346 Поверхность активирование 208 вращения 201 выдавливания 203 Вырезание дыры отверстия 211 компоненты 183 на двух направляющих 205 плоская 204 разделения 103, 213, 259 выдавливание 266 выделение 260 детализирование 263 излом полный 271 излом частичный 270, 272 использование полигонов 268 компоненты 259 преобразование 269
режим 258 режим полигональный 265 уровень 258 уровень отображения 262 уровень сглаживания 260 Поле 553 настройка 554 привязывание 555 Полигон 94, 212 выдавливание 225 вдоль пути 228 выделение 215 выталкивание 237 компоненты 94, 214 манипулятор 226, 237 методы создания 94 область выделения 218 обратная сторона 216 основные операции 95 показ 216 примитивы 95 разбиение 232 разделение 95, 248 разрезание 235 разрешение 247 расклинивание 239 сглаживание 249 с управлением 247 скос 241 текстурирование 448 уменьшение 250 Полка 22 Surfaces 88 добавление элемента 23, 89 скрытие 23 Преобразование 25, 135 вращение 141 «горячие клавиши» 137 зеркальное отражение 146, 152 копирование 147 манипулятор 136 изменение размеров 138 масштабирование 139 ось 136
586 Maya 6 для Windows и Macintosh перемещение 138 сложное 149 точное 142 точное значение 24 Привязка 170, 296, 304 жесткая изменение весов 308 рисование весов 313 создание 306 к кривой 174 к плоскости вида 174 к сетке 173 к точке 175 мягкая 310 поза 314 Примитив 81 NURBS 83 компоненты 84 полигональный 95, 96 создание 86 Hotbox 88 главное меню 87 полка 89 центр 86 Проект 36 определение 38 создание 37 Пруд 577 Путь 344
Р Рабочее окно 58 замена 60 разворачивание 68 Разделения 103 Редактор Attribute Editor 26 скрытие и отображение 75 Bookmark Editor 78 Channel Box 25, 142 наборы атрибутов 74 отображение и скрытие 73 Component Editor 300
Dope Sheet 334 Dynamic Relationships Editor 567 создание связи 567 Hotkey Editor 50 Hypergraph 29 Hypershade 384, 417 назначение материала 427 показ соединений 432 Layer Editor 73, 132 Outliner 33 Script Editor 486 Trax Editor 345 UV Texture Editor 448 Режим компонентов 300 редактирования центра трансформаций 149 Решетка 356, 366 Рисование 445 на поверхности 446
С Сглаживание 76 Сетка 73 Система координат 19 Скелет 279 ответвление 282 Скругление 191 Слой 132 видимость 79, 134 режим 133 создать 132 удаление 134 Снимок 341 Соединение 18 Сокращенные наборы Pick Mask 127 тонирование и сглаживание Столкновение 557 Строка главного меню 20 подсказки 24 состояния 20
77
Предметный указатель 587 Сустав 279, 306 зеркальное отображение наследование 282 основной 280 отсоединение 287 перемещение 285 создание 281 Сфера рельефа 368 Сцена создание 38 сохранение 39
Т Текст 108 вырезка 110 на осноые кривых 109 скошенный 207 Текстура 417 Bulge 440 Ramp 433 качество 444 конвертирование 454 плавающая 454 показ 431 улучшение 444 проекционная 441 настройка 443 проецирование 428 процедурная 433 рельеф 440 фрактал 438 шов 451 Текстурирование NURBS 428 направление 428 размещение 432 полигонов 448 автоматическое 449 оболочка 451 Тело мягкое 558 изменение весов 561 целевая форма 560
284
твердое активное 558 задание имитации 559 пассивное 558 Тень 406 глубинная 408 атрибуты 411 зернистость 414 смещение 411 трассированная 411 атрибуты 414 цвет 409 Тонировщик 415 Ramp 436 интерполяция 437 многослойный 438 рельеф 439 рисованный эффект 436 Точка решетки 366
У Узел 17 bump2d 440 Input 146, 154 make… 85 motionPath 478 place2dTexture 432 place3dTexture 442 времени 538 зависимости 31 преобразования 26
Ф Файл звуковой 325 импорт 45 рабочий 37 ссылка 45 сцены 36 экспорт объектов 44 Флексор 309 Форма перехода 354
588 Maya 6 для Windows и Macintosh Ц
C
Центр трансформаций 114 изменение 114 центрирование 115
Caustics 502 Channel Box 25, 73, 142 Character 345 Constraint 337
Ч Частица 546 визуализация 549 аппаратная 550 изменение 549 программная 552 продолжительность жизни размер 547 создание 546
D
548
Decay 390 Deform 300 DMap 407 Dolly 56 Dope Sheet 334 Dynamics 545 Dynamic Relationships Editor
Э Эмиттер 547, 548 Эффект 562 дым 563 жидкости 568 атрибуты 569, 572 контейнер 568 пример 573 молния 566 обломки 564 огонь 563 создание 565 следование кривой 564
A Align 170 Aligning 162 Artisan 445 Attribute Editor 26, 75 Attribute Paint 302 Auto Keyframe 319
B Backface Culling 217 Bend 358 Binding 296 Blend Shape 352
E Edge 214 Emitter 548 Extrude 226
F Face 214 Fillet 191 Final Gather 503 Flare 359 Flood 447 Fluid Effects 568 Focal Length 478
G Ghosting 341 Global Illumination Graph Editor 326 Grid 73 Grouping 162
502
H Hypergraph 29, 162, 289 Hypershade 384, 417
567
Предметный указатель 589
I
Q
IBL. Cм. Освещение, основанное на анализе изображений IK handle 288 Image plane 479 Instance 147
Quick Select Set
J Joint
280
L Layer Editor Light 388
73, 132
N NURBS
85, 182
O Ocean 574 Outliner 33
P Paint Effects 447 Paint Operation 302 Parenting 162, 296 Particles 546 Path 344 Pick mask 117, 165 Pivot 114 Playblast 355 Polygon 212 Pond 577
R Range 316 Raytrace 407 Raytracing 491 Rendering 469 Render Globals 470 Revolve 201 Rigid Body 559 Rotate 141
S
M Material 415 Move 138 Mute Animation Channel
128
340
Scale 139 Sculpt 371 Shader 415 Shading 76 Shadow 406 Shelf 22 Show 55 Show Manipulator 142 Sine 360 Skeleton 279 Skin 304 Smooth 246 Snap 170, 321 Squash 363 Subdivision Surface 258
T Template 130 Text 108 Time 316 Track 56 Trax Editor 345 Tumble 56 Twist 365
U UV 214, 448 UV Texture Editor
448
590 Maya 6 для Windows и Macintosh V Vertex 214 View 78 Visor 447
W Wave
362
Книги издательства «ДМК Пресс» можно заказать в торгово-издательском холдинге «АЛЬЯНС-КНИГА» наложенным платежом, выслав открытку или письмо по почтовому адресу: 123242, Москва, а/я 20 или по электронному адресу:
[email protected]. При оформлении заказа следует указать адрес (полностью), по которому должны быть высланы книги; фамилию, имя и отчество получателя. Желательно также указать свой телефон и электронный адрес. Эти книги вы можете заказать и в Internet-магазине: www.dmk.ru, www. abook.ru. Оптовые закупки: тел. (095) 258-91-94, 258-91-95; электронный адрес
[email protected].
Денни Ридделл, Эдриан Даймонд
Maya 6 для Windows и Macintosh Главный редактор
Мовчан Д. А.
[email protected]
Перевод Научный редактор Выпускающий редактор Верстка Обложка
Хаванов А. В., Талачева М. И., Осипов А. И. Чумаченко И. Н. Кикава Л. В. Татаринов А. Ю. Мовчан А. Г.
Подписано в печать 8.02.2005. Формат 70×100 1/16 . Гарнитура «Миниатюра». Печать офсетная. Усл. печ. л. 48,1. Тираж 1000 экз. Зак. № Издательство «ДМК Пресс», 105023, Москва, пл. Журавлева, д. 2/8. Web-сайт издательства: www.dmk.ru Internet-магазин: www.dmk.ru, www.abook.ru
Assassin (автор Loïc «e338» Zimmermann, www.e338.com). Основное изображение создано в программе Maya, а затем в Adobe Photoshop совмещено с фотографией, снятой художником
Kaya Pose #2 (автор Alceu Baptisão, www.vetorzero.com.br). Основное изображение создано в программе Maya, а затем наложено на фотографию, снятую художником и послужившую фоном
Mother Nature (Природа-Матушка), автор Meats Meier (www.3dArtSpace.com). Основное изображение создано в программе Maya, а затем в Adobe Photoshop совмещено с фотографией, снятой художником LEGO Hub (автор Eric Hanson, www.visuraimaging.com). Изображение, визуализация которого была осуществлена в программе Maya 5.0, позаимствовано из стереоскопического фильма «Racers 4D», образы из которого представлены в парках отдыха «Legoland»
Gas Mask (Противогаз), автор Meats Meier (www.3dArtSpace.com). Основное изображение создано и визуализировано в программе Maya
Cathedral Entrance (Вход в собор), автор Martin Meier (www.waterworthvfx.com). Основное изображение создано в программе Maya, а затем произведены его сборка и цветокоррекция в Discreet Combustion
Generated city VIII (Фантастический город VIII), автор Matt Daly (www.luxwork.com). Город создан с помощью авторского сценария на языке MEL и визуализирован при помощи Mental Ray
The Horde (Стадо), автор Balazs Kiss (www.3dluvr.com/ward). Слоны и техника смоделированы и текстурированы в Maya, визуализированы при помощи Mental Ray, а затем совмещены с рисованным фоном в Photoshop
Los Focos (Лампочки), автор Jorge Adorni (www.dreamsofnimrod.com.ar). Основное изображение смоделировано и визуализировано в Maya; незначительная коррекция цвета и контраста произведена в Adobe Photoshop. Автор фотографии, использованной в качестве фона, – Paul Devebec
Tamara (автор Sebastien Legrain, http://sebleg.free.fr). Основное изображение создано и визуализировано в Maya, а затем раскрашено в Photoshop
Spaceman In Trouble (Космонавт в затруднении), автор Niels Jansson (www.kay-kay.com). Основные 3D-изображения анимированы и визуализированы в Maya при помощи Mental Ray. Фон создан художником в Adobe Photoshop