Анимация частиц
Анимация частиц
Создадим струйку пара, вырывающуюся из носика созданного в главе 6 чайника.
Анимация с помощью модуля динамики
Анимация с помощью модуля динамики
В упражнении этого раздела вам предстоит создать бильярдный стол и анимиро-вать движение шаров при столкновении друг с другом.
Анимация твердых тел
Анимация твердых тел
При желании вы можете включить аппаратный показ текстур в активном окне проекции. Для этого достаточно нажать клавишу 6. Теперь нужно привести в движение белый шар, заставив его удариться о шар с желтой полоской. Последний, в свою очередь, должен столкнуться с черным шаром и вызвать его движение по направлению к лузе. Проще всего это сделать, создав ключи анимации для белого шара. Но так как возможность создавать ключи анимации для активных тел в Maya отсутствует, нужно превратить этот шар в пассивное тело:
1. Выделите белый шар. Обратите внимание на то, что атрибут Active (Активное) в окне диалога Channel Box (Окно каналов) имеет значение On (Вкл).
2. Убедитесь в том, что ползунок таймера анимации стоит на отметке первого кадра, и выберите в меню Soft/Rigid Bodies (Мягкие/Твердые тела) команду Set Passive Key (Создать пассивный ключ). Обратите внимание на то, что атрибут Active (Активное) в окне диалога Channel Box (Окно каналов) теперь выделен оранжевым цветом и имеет значение Off (Выкл). То есть вы создали ключ анимации для активного состояния белого шара и перевели его в пассивное состояние. Таким образом, вы имеете возможность переводить тела из активного состояния в пассивное и обратно.
3. Установите ползунок таймера анимации на отметку кадра № 10 и переместите белый шар по направлению к шару с желтой полоской. При этом поверхности шаров должны немного проникнуть друг в друга. Снова выберите в меню Soft/Rigid Bodies (МягкиеДвердые тела) команду Set Passive Key (Создать пассивный ключ).
4. Установите ползунок таймера анимации на отметку кадра № 11 и выберите в меню Soft/Rigid Bodies (Мягкие/Твердые тела) команду Set Active Key (Создать активный ключ). В результате после столкновения с полосатым шаром белый шар опять станет активным телом.
Анимировав шар как пассивное тело созданием ключей анимации для двух различных его положений, а затем вернув его в активное состояние, вы получили динамическую имитацию движения. В момент столкновения белого шара с полосатым Maya начинает вычислять перемещение последнего. А так как в кадре № 11 белый шар опять перешел в активное состояние, модуль имитации динамики рассчитает и его движение после столкновения. Это избавит вас от необходимости дальнейшей анимации белого шара.
Верните ползунок таймера анимации в начало диапазона и запустите воспроизведение. Первым начнет двигаться белый шар. После удара о шар с желтой полоской он срикошетирует в сторону. При этом шар с желтой полоской должен удариться о черный шар и заставить последний упасть в лузу. Если этого не происходит, вернитесь к редактированию ключей анимации белого шара и подберите для него правильную траекторию движения.
Впрочем, при текущих настройках падение в лузу невозможно. Вам нужно определить упругость столкновений:
1. Верните ползунок таймера анимации на отметку первого кадра. Выделите все шары и введите в поле Bounciness (Упругость) окна диалога Channel Box (Окно каналов) значение 0,2.
ПРИМЕЧАНИЕ
Одновременно поменять значение атрибута набора выделенных объектов можно только в окне диалога Channel Box (Окно каналов). Если вы решите воспользоваться окном диалога Attribute Editor (Редактор атрибутов), потребуется по очереди выделять сферы и вводить значение 0,2 в поле Bounciness (Упругость).
2. Запустите воспроизведение анимации и обратите внимание на то, что теперь шары отскакивают друг от друга и от бортов гораздо медленнее. Чтобы увидеть, как черный шар проваливается в лузу, увеличьте диапазон анимации до 200 кадров.
Вы можете загрузить уже готовый файл Table_v2.mb с прилагаемого к книге компакт-диска.
Атрибуты частиц
Атрибуты частиц
Созданные частицы оснащены набором атрибутов, находятся под действием существующих в сцене полей и принимают участие в столкновениях. В этом они полностью аналогичны твердым телам.
На Рисунок 12.11 показано окно диалога Attribute Editor (Редактор атрибутов) для выделенной системы частиц. Вкладка partidel, как и вкладка любого узла объекта, содержит уже знакомые вам атрибуты преобразований перемещения, поворота и масштабирования. Параметры узла формы находятся на вкладке particleShapel. Третья вкладка, emiterl, содержит параметры генератора частиц.
Атрибуты генератора
Атрибуты генератора
Отредактировать поведение частиц можно, поменяв тип генератора и значения его атрибутов.
Генератор типа Omni (Всенаправленный) испускает частицы во всех направлениях, в то время как генератор типа Directional (Направленный) испускает частицы в направлении, указанном пользователем. Пример работы такого генератора показан на Рисунок 12.8.
Атрибуты эффектов рисования
Атрибуты эффектов рисования
Начать знакомство с атрибутами эффектов рисования лучше всего с создания одного мазка в пустом окне проекции и последующего редактирования его параметров. Выделите мазок и откройте окно диалога Attribute Editor (Редактор атрибутов). Атрибуты мазка находятся на вкладке с его названием. Например, для мазка, созданного с помощью кисти africanLily.mel, это будет вкладка africanLilyl.
Визуализация мазков в виде трехмерных объектов осуществляется благодаря функции, называемой трубкой (tube). В процессе роста трубок могут образовываться ветви, листья, цветы и бутоны. Каждый отдел трубки имеет собственные элементы управления. Это позволяет вам моделировать самые разные эффекты. По мере накопления опыта работы с модулем Paint Effects (Эффекты рисования) вы начнете понимать, как изменение того или иного параметра влияет на вид получаемого эффекта.
Вот перечень наиболее важных атрибутов:
Атрибуты раздела Brush Profile (Контуры кисти) управляют ростом трубок в процессе нанесения мазков. Наиболее важным тут является атрибут Brush Width (Ширина кисти), управляющий шириной мазка. Чем больше его значение, тем более обширное пространство сцены будет занято выбранным эффектом.
Параметры разделов Shading (Затенение) и Tube Shading (Затенение трубок) предназначены для изменения цвета трубок. Атрибуты Colorl (Цвет № 1) и Color2 (Цвет № 2) управляют цветовым переходом вдоль стебля. Первый атрибут задает цвет нижней части, а второй — цвет верхней. Листья и ветки имеют свои собственные цветовые атрибуты, расположенные в разделе Growth (Рост), вложенном в раздел Creation (Создание), который, в свою очередь, вложен в раздел Tubes (Трубки).
Параметры Incandescence! (Свечение № 1) и Incandescence2 (Свечение № 2) добавляют трубкам градиентное свечение. Соответственно, параметры Transpa-rencyl (Прозрачность № 1) и Transparency2 (Прозрачность № 2) задают градиентную прозрачность трубки. Параметры Hue Rand (Случайный цветовой тон), Sat Rand (Случайная насыщенность) и Val Rand (Случайная интенсивность) делают цвет трубок менее однородным.
В разделе Tubes (Трубки) вы найдете атрибуты, управляющие ростом трубок. Например, раздел Creation (Создание) предоставляет доступ к следующим параметрам:
Атрибут Tubes per Step (Трубок на один шаг) управляет числом трубок в мазке. Именно с его помощью можно увеличить или уменьшить число цветов, «вырастающих» при одном движении указателя мыши.
Атрибуты Length Min (Минимальная длина) и Length Max (Максимальная длина) контролируют высоту трубок.
Атрибуты Tube Widthl (Ширина трубки № 1) и Tube Width2 (Ширина трубки №2) контролируют ширину трубок, то есть в рассматриваемом случае — стеблей цветов.
В разделе Growth (Рост) находятся флажки, отвечающие за появление веток, листьев, цветов и почек. Ниже располагаются соответствующие разделы с атрибутами, контролирующими число, размер и форму указанных элементов. Например, не все мазки приводят к появлению цветов, но тем не менее любой мазок будет иметь подобную верхушку. Другое дело, что она может быть неактивной. Каждый мазок имеет свои собственные настройки.
Атрибуты раздела Behavior (Поведение) управляют поведением мазков под действием динамических сил. Именно здесь можно заставить цветы, например, качаться под порывами ветра.
Эффекты рисования визуализируются при последующей обработке кадра. Это означает, что таким способом невозможно создать эффекты отражения или преломления. Зато вы можете просматривать результат изменения динамических параметров эффектов рисования прямо в окнах проекции.
Кроме того, существует возможность преобразовывать эффекты рисования в полигональные поверхности, которые будут визуализироваться уже вместе с остальными элементами сцены. В этом случае вы сможете добавить к ним эффекты отражения и преломления. Для преобразования нужно выделить мазок и выбрать в меню Modify (Изменить) команду Convert > Paint Effects to Polygons (Преобразовать > Эффекты рисования в полигоны). При этом редактировать преобразованные трубки можно с помощью большинства упомянутых ранее параметров. Впрочем, информация, например, о цвете трубок больше не будет влиять на их вид в окне проекции, потому что в процессе превращения эффектов рисования в полигоны цветовая информация преобразуется в назначенный этим полигонам материал.
Поэтому лучше всего сначала завершить работу с рассматриваемым эффектом, а потом уже преобразовывать его в сетку полигонов.
Модуль Paint Effects (Эффекты рисования) позволяет легко создавать такие сложные эффекты, как, например, поле колышущихся цветов. Эта сложность порождает большое число элементов управления. К счастью для начинающих пользователей, в Maya существует набор уже готовых кистей. Самостоятельно поэкспериментируйте с ними, меняя различные атрибуты, чтобы узнать, какие эффекты вы можете создать.
Атрибуты твердого тела
Атрибуты твердого тела
Объект превращается в твердое тело в результате добавления ему набора атрибутов, отвечающих за его поведение в процессе имитации динамики. В этом разделе мы перечислим наиболее важные параметры как активных, так и пассивных тел, участвующих в столкновениях.
Атрибут Mass (Масса) задает относительную массу твердого тела. Масса является фактором, определяющим, какое количество энергии будет передано при столкновении от одного объекта другому. Чем больше масса объекта, тем меньшее усилие ему потребуется, чтобы при столкновении сдвинуть другой объект, сохранив при этом часть собственной энергии для дальнейшего движения. Масса является относительной величиной, то есть если все взаимодействующие объекты имеют одинаковое соотношение масс, имитация динамики будет выглядеть одинаково вне зависимости от абсолютной массы.
Атрибуты Static Friction (Трение покоя) и Dynamic Friction (Динамическое трение) определяют коэффициент трения твердого тела в состоянии покоя и в движении. Этот коэффициент задает силу, с которой тело сопротивляется движению или попыткам вывести его из состояния покоя. При равном нулю коэффициенте трения тело будете перемещаться свободно, как на льду.
Параметр Soundness (Упругость) определяет количество энергии, остающееся у тела после столкновения. Чем больше его значение, тем быстрее будет двигаться рикошетировавшее после столкновения тело.
Параметр Damping (Торможение) отвечает за уменьшение кинетической энергии в процессе движения тела. Чем больше значение этого параметра, тем быстрее будет уменьшаться скорость объекта.
Атрибуты визуализации
Атрибуты визуализации
Параметры раздела Render Attributes (Атрибуты визуализации) определяют вид частиц и способ их визуализации. В Maya существует два способа визуализации частиц — программный и аппаратный. Аппаратно визуализируемые частицы обычно визуализируются отдельно от основной сцены, соединяясь с ней уже на стадии монтажа. Это довольно сложная техника, поэтому мы не будем рассматривать ее на страницах данной книги, ограничившись рассказом о программно визуализируемых частицах типа Cloud (Облако).
Итак, откройте окно диалога Outliner (Структура), выделите строчку partidel и откройте для частиц окно диалога Attribute Editor (Редактор атрибутов). Обратите внимание на раскрывающийся список Particle Render Type (Тип визуализации частиц) в разделе Render Attributes (Атрибуты визуализации). Три варианта в этом списке даны с суффиксом «s/w», что указывает на программную визуализацию частиц. Частицы остальных типов визуализируются исключительно аппаратно.
Выберите в раскрывающемся списке Particle Render Type (Тип визуализации частиц) вариант Cloud (Облако) и щелкните на кнопке Add Attributes For Current Render Type (Добавить атрибуты визуализации частиц данного типа). В результате снизу появится набор новых атрибутов, а частицы в окне проекции превратятся из точек в большие окружности.
Частицы типа Cloud (Облако) имеют атрибуты Radius (Радиус), Surface Shading (Тонирование поверхности) и Threshold (Пороговое значение).
В разделе Per Particle (Array) Attributes (Атрибуты одной частицы (массива)) содержатся атрибуты, имеющие отношение к индивидуальным частицам.
Например, атрибут Radius (Радиус) частиц типа Cloud (Облако) задает радиус каждой частицы в наборе. Присвоив этому параметру значение 1,5, вы получите набор частиц радиусом 1,5 каждая.
Контроль состояния индивидуальных частиц дает возможность получать интересные эффекты. Например, для частиц типа Cloud (Облако) можно создать атрибут radiusPP (Радиус одной частицы), позволяющий присвоить каждой из частиц свой радиус. При этом вам не придется вводить радиус каждой частицы вручную, так как программа обрабатывает эти данные как массив. Обратите внимание на наличие атрибута life-spanPP (Время жизни одной частицы), позволяющего контролировать время жизни каждой частицы индивидуально.
Бильярдный стол с шарами
Рисунок 12.4. Бильярдный стол с шарами
4. Создайте три полигональные сферы, уменьшите их масштаб и поместите на стол, как показано на Рисунок 12.4. Желательно воспроизвести именно такое положение шаров друг относительно друга.
5. Создайте для каждого шара материал своего цвета, чтобы они отличались друг от друга. Например, один шар сделайте белым, второй — белым с желтой полосой, а третий — черным (Рисунок 12.5).
Более реалистичный пар из носика
Рисунок 12.18. Более реалистичный пар из носика
5. Для устранения зазора между струей пара и носиком можно переместить генератор частиц внутрь носика.
Чтобы сравнить результат своей работы с образцом, загрузите файл Kettle_Steam_ vS.ma с прилагаемого к книге компакт-диска.
Поэкспериментируйте со значением параметра Rate (Частота), стараясь получить наиболее достоверный результат. Кроме того, попытайтесь анимировать атрибут Speed (Скорость) и посмотрите, как будет выглядеть анимация при различных значениях параметра radiusPP (Радиус одной частицы). Имитация, полученная в данном упражнении, довольно корректна, но нельзя сказать, чтобы она воспроизводила реальный пар. По мере дальнейшего знакомства с Maya вы откроете для себя другие техники создания подобных эффектов, но их рассмотрение выходит за рамки данной книги.
Воспользуйтесь частицами типа Cloud (Облако) для имитации, например, пара от чашки с кофе. Этот пар двигается намного медленней и имеет меньшую плотность. Также попытайтесь самостоятельно воссоздать след от самолета и сигаретный дым.
Частицы типа Cloud (Облако) превосходно подходят для получения начальных навыков работы с данным типом объектов. Постепенно можно переходить к исследованию частиц других типов. Чем больше вы экспериментируете, тем проще вам будет в дальнейшем. Вы быстро обнаружите, что частицы позволяют реалистично сымитировать множество эффектов для анимации.
Частицы, испускаемые в определенном направлении
Рисунок 12.8. Частицы, испускаемые в определенном направлении
Существует также генератор типа Volume (Объемный), в процессе работы которого частицы возникают в некоторой точке фиксированного объема (Рисунок 12.9). Этот объем может иметь форму куба, сферы, цилиндра, конуса или тора. По умолчанию частицы могут покидать границы этого объема.
Частицы вылетают из носика чайника по прямой
Рисунок 12.12. Частицы вылетают из носика чайника по прямой
На этом этапе вы можете загрузить файл Kettle_Steam_vl.ma из папки Chapter-FHes\Tea_Kettle\scenes прилагаемого к книге компакт-диска и сравнить свой результат с нашим.
4. Чтобы заставить частицы разлетаться в разные стороны, отредактируйте значение атрибута Spread (Разброс). Выделите генератор частиц, откройте для него окно диалога Attribute Editor (Редактор атрибутов), перейдите на вкладку emitterl и введите в поле Spread (Разброс) значение 0,25. Вид потока частиц после этой операции показан на Рисунок 12.13.
Динамические взаимодействия
Динамические взаимодействия
Динамикой называется имитация движения на основе действующих законов физики. Вместо создания ключей анимации вы присваиваете объектам физические характеристики, которые определяют их поведение. Для этого обычные объекты Maya преобразовываются в динамические тела, что приводит к появлению у них набора динамических атрибутов, влияющих на поведение тела при взаимодействии с другими объектами сцены.
Динамические тела приводятся в движение действием внешних сил, называемых полями (fields). В Maya существует целый набор полей, имитирующих самые разные силы — от силы ветра до силы тяжести. Подробную информацию о них вы получите чуть позже.
Динамические объекты в Maya делятся на следующие категории: тела, частицы, волосы и жидкости. Тела (bodies) создаются из геометрических поверхностей и используются в основном при моделировании столкновений. Частицы (particles) представляют собой визуализируемые точки пространства, обладающие динамическими свойствами. Они применяются для создания таких эффектов, как огонь или дым. Появившиеся в текущей версии Maya волосы (hair) представляют собой кривые, обладающие динамическими свойствами. Своим поведением они напоминают веревки. Модуль для работы с жидкостями (fluids) присутствует только в версии Maya Unlimited. Для имитации свойств жидкостей применяются объемные частицы, которые могут проявлять свойства поверхностей. Они позволяют моделировать такие природные явления, как волнистые облака или струйки дыма. Впрочем, рассмотрение динамики мягких тел, волос и жидкостей выходит за рамки данной книги.
Динамика частиц
Динамика частиц
Подобно твердым телам, частицы движутся под действием полей, сталкиваясь друг с другом. Короче говоря, частица (particle) представляет собой допускающую визуализацию точку в пространстве. Большие скопления частиц позволяют создавать такие эффекты, как дым, рой насекомых, фейерверк и т. п. Хотя работа с частицами относится к продвинутому уровню использования Maya, новичкам полезно получить представление о данной теме.
Большинство сведений, которые вы получили при изучении динамики твердых тел, применимы и в данном случае. Только работать придется с большим набором объектов, а не с отдельными частицами. Управление движением частиц осуществляется с помощью полей, а также изменением их атрибутов.
Например, в упражнении с бильярдным столом вы вручную запрограммировали движение белого шара, позволив программе в дальнейшем автоматически рассчитать перемещения всех взаимодействующих объектов. Каждый шар представлял собой отдельный объект сцены и визуализировался как отдельный элемент кадра. Частицы же обычно используются в виде больших скоплений, потому что только так можно получить нужный эффект при визуализации. Управление системами частиц осуществляется созданием генератора и нужных полей, а также выбором корректных атрибутов.
Динамика твердых и мягких тел
Динамика твердых и мягких тел
В Maya существует два типа динамических тел — твердые и мягкие. Твердые тела представляют собой монолитные объекты, которые двигаются и вращаются в соответствии с назначенной им движущей силой. Примером твердого тела могут послужить игральные кости или бейсбольный мяч. К мягким же телам относятся деформируемые поверхности, например занавеска, колышущаяся под действием силы ветра, или прыгающий резиновый мячик. Подобный эффект достигается превращением в динамическое тело не всего объекта, а только его управляющих точек (если оно построено на основе NURBS-поверхности) или вершин (если использовалась полигональная сетка). При столкновениях или под действием полей эти точки смещаются, вызывая деформацию поверхности.
В этой книге будет рассматриваться динамика только твердых тел.
Дополнительные атрибуты твердых тел
Дополнительные атрибуты твердых тел
На примере анимированных бильярдных шаров исследуйте действие различных атрибутов твердого тела. Внимательно понаблюдайте за тем, как изменение значений этих атрибутов влияет на поведение тела. Особое внимание обратите на следующие атрибуты:
Параметр Initial Velocity (Начальная скорость) задает скорость перемещения тела в первый момент анимации. Этот параметр имеет три поля, в каждом из которых указывается скорость движения относительно соответствующей координатной оси.
Параметр Initial Spin (Начальная угловая скорость) также имеет три поля, каждое из которых задает скорость вращения тела относительно соответствующей оси в первый момент анимации.
Атрибут Impulse Position (Точка приложения импульса) определяет силу мгновенного импульса вдоль соответствующей оси. Эффект от его действия постепенно накапливается, то есть под действием импульса объект будет двигаться с ускорением.
Параметр Spin Impulse (Вращательный им пульс) отвечает за мгновенный импульс, вызывающий вращение объекта вокруг соответствующей оси. Его действие также накопительно.
Параметр Center of Mass (Центр масс) отвечает за смещение центра масс, который располагается в его опорной точке объекта, вдоль соответствующей оси.
Хотя создание анимации путем имитации динамических взаимодействий твердых тел на первый взгляд представляет собой довольно простой и очевидный процесс, получить с его помощью реалистичное движение можно только при наличии определенного опыта. Кроме того, сложности возникают на стадии интеграции полученной таким способом анимации в готовый проект. Большинство профессионалов использует модуль имитации динамики в качестве отправной точки. Впоследствии полученная с его помощью анимация преобразуется в стандартный набор ключевых кадров, который редактируется вручную с учетом особенностей конкретной сцены.
Вот примеры сцен, которые вы можете смоделировать с помощью модуля имитации динамических взаимодействий:
Игра в боулинг. Шар для боулинга изначально является пассивным объектом с вручную созданными ключами анимации. Но в момент столкновения с кеглями он превращается в активный объект, и дальше движение шара и кеглей рассчитывается автоматически. Это довольно простая для создания и редактирования сцена.
Игра в кости. Кости являются активными телами, которым в момент падения предстоит столкнуться с поверхностью пассивного тела — столика. Выполнение этого упражнения потребует от вас определенных навыков как в работе с модулем имитации динамики, так и в моделировании столика для игры в кости.
Игра в шарики. Создание такой сцены потребует от вас не только опыта в обращении с модулем имитации динамики, но и способностей к созданию и назначению материалов и корректному выбору параметров визуализации.
Генератор частиц типа Omni испускает частицы во всех направлениях сразу
Рисунок 12.7. Генератор частиц типа Omni испускает частицы во всех направлениях сразу
Испускание частиц
Испускание частиц
Типичный процесс создания различных эффектов на основе частиц состоит из двух частей — программирования движения частиц и их визуализации. Традиционно частицы вводятся в сцену с помощью их генератора (emitter), то есть объекта, испускающего частицы. После создания полей и редактирования поведения частиц приходит время настройки параметров их визуализации.
Рассмотрим процесс создания системы частиц на практике:
1. Убедитесь в том, что в раскрывающемся списке, находящемся в левой части строки состояния, выбран вариант Dynamics (Динамика), и щелкните на квадратике, расположенном справа от команды Create Emitter (Создать генератор) в меню Particles (Частицы). Это приведет к появлению показанного на Рисунок 12.6 окна диалога с различными параметрами генератора.
Испускание частиц
Начнем с создания генератора частиц и настройки их свойств. Загрузите файл Kettle_Model_v02.ma из папки ChapterFiles\Tea_Kettle\scenes прилагаемого к книге компакт-диска.
1. Создайте генератор типа Directional (Направленный) и поместите его в верхнюю часть носика чайника.
2. Теперь нужно задать потоку частиц определенное направление. В разделе Distance/Direction Attributes (Атрибуты расстояния/направления) введите в поле Direction Y (Направление вдоль оси Y) значение 1,5. В результате частицы начнут вылетать под углом примерно 70°.
Эффекты рисования
Эффекты рисования
В арсенал инструментов Maya входит модуль Paint Effects (Эффекты рисования). С его помощью вы можете создать поле колышущейся под порывами ветра травы, волосы или перья птицы и даже северное сияние. Меню с набором соответствующих команд появляется при переходе в режим Rendering (Визуализация). Динамические свойства эффектов рисования поистине поразительны. Вы можете моделировать как трепещущие на ветру листья, так и гнущиеся под порывами урагана деревья. Впрочем, динамические вычисления в данном случае производятся средствами самого модуля, то есть действует отличный от уже знакомого вам по упражнениям, посвященным имитации динамических взаимодействий и движению частиц, механизм. Модуль Paint Effects (Эффекты рисования) можно считать одним из самых мощных инструментов Maya. Изучение всех его функций выходит за рамки книги для начинающих. Поэтому здесь мы рассмотрим только способы доступа к существующим кистям и создания с их помощью различных эффектов.
Как легко догадаться по названию модуля, эффекты просто рисуются в сцене с помощью набора кистей. Кисти создают мазки на предназначенной для этого поверхности или просто в окне проекции, что приводит к появлению визуализируемых трубок. Трубки обладают набором динамических свойств, то есть способностью двигаться под действием различных сил. Именно благодаря этому вы можете легко смоделировать поле качающихся травинок.
Посмотрим, как это выглядит на практике:
1. Создайте новую сцену. Разверните окно проекции Perspective (Перспектива) на весь экран.
Набор кистей с изображением травы в окне диалога Visor
Рисунок 12.19. Набор кистей с изображением травы в окне диалога Visor
2. Убедитесь в том, что вы находитесь в режиме Rendering (Визуализация). Если это не так, нажмите клавишу F5. Выберите в меню Paint Effects (Эффекты рисования) команду Get Brush (Выбрать кисть), чтобы открыть окно диалога Visor (Просмотр образцов). Это окно позволяет выбирать кисти из заранее созданного набора. Выделите слева папку grasses, чтобы получить доступ к кистям с изображением травы (Рисунок 12.19). Управление окном диалога Visor (Просмотр образцов), как и любым другим окном диалога в Maya, осуществляется с помощью комбинаций клавиши Alt и различных кнопок мыши.
3. Выделите образец grassWindWide.mel, чтобы активизировать соответствующий инструмент. В результате указатель мыши приобретет вид карандаша.
4. В окне проекции Perspective (Перспектива) нарисуйте две горизонтальные линии. Если вы не увидите при этом ни одной травинки, откройте окно диалога Paint Effect Brush Settings (Настройки кистей для эффектов рисования), выберите в меню Paint Effects (Эффекты рисования) команду Template Brush Settings (Параметры текущей кисти) и измените значение параметра Global Scale (Общий масштаб).
Настройка атрибутов частиц
Настройка атрибутов частиц
Теперь, когда частицы вылетают из носика в нужном направлении и с нужной скоростью, отредактируем их атрибуты. Начнем с указания времени жизни:
1. В окне диалога Outliner (Структура) выделите строчку partidel и откройте окно диалога Attribute Editor (Редактор атрибутов). Выберите в раскрывающемся списке Lifespan Mode (Режим времени жизни) вариант Random Range (Случайный диапазон). Параметру Lifespan (Время жизни) присвойте значение 3, а параметру Lifespan Random (Случайное время жизни) —значение 1. В результате жизнь каждой частицы будет продолжаться от 2 до 4 секунд.
2. Выберите в раскрывающемся списке Particle Render Type (Тип визуализации частиц), расположенном в разделе Render Attributes (Атрибуты визуализации), вариант Cloud (Облако). В результате частицы превратятся в набор огромных перекрывающих друг друга кругов. Они слишком велики для данного случая, однако иногда им требуется придать именно такой вид.
3. Радиус для каждой частицы будет выбираться индивидуально. В разделе Add Dynamic Attributes (Добавление динамических атрибутов) окна диалога Attribute Editor (Редактор атрибутов) щелкните на кнопке General (Общие), чтобы открыть окно Add Attribute (Добавить атрибут). Перейдите на вкладку Particle (Частицы) и выделите строчку radiusPP (Рисунок 12.14). Щелкните на кнопке ОК, и в разделе Per Particle (Array) Attributes (Атрибуты одной частицы (массива)) появится атрибут radiusPP (Радиус одной частицы).
Настройка атрибутов визуализации
Настройка атрибутов визуализации
Теперь, когда частицы двигаются нужным вам образом, осталось придать им корректный вид. Этот процесс называется настройкой атрибутов визуализации. Для разных типов частиц он проходит по-разному, соответственно, описанная в данном разделе последовательность действий применима только к частицам типа Cloud (Облако).
Для корректной визуализации таких частиц им нужно назначать материал Particle Cloud (Облако частиц). Во многом он подобен материалам, с которыми вам уже приходилось сталкиваться при выполнении упражнений.
1. Откройте окно диалога Hypershade (Редактор узлов) и выберите в меню Create (Создать) этого окна команду Volumetric Materials > Particle Cloud (Объемные материалы > Облако частиц). Созданный по умолчанию материал particleCloudl присутствует в каждой сцене, но мы создадим новый образец.
2. Дважды щелкните на образце материала particleCloud2, чтобы открыть для него окно диалога Attribute Editor (Редактор атрибутов) (Рисунок 12.16), и присвойте новому материалу имя steam.
Окно диалога Add Attribute
Рисунок 12.14. Окно диалога Add Attribute
Управление размером частиц будет осуществляться назначением текстуры атрибуту radiusPP (Радиус одной частицы). В Maya текстуры можно использовать для управления такими свойствами частиц, как, например, радиус или размер.
В данном случае вам потребуется градиентная текстура. Выбор одноцветной текстуры приведет к тому, что радиус частиц останется неизменным. Например, если текстура имеет белый цвет, радиус всех частиц будет равен 1. В данном случае белый соответствует значению 1, а черный — значению 0.
Таким образом, применение градиентной текстуры с цветовым переходом от черного к белому задаст постепенное увеличение радиуса частиц. Вот как происходит назначение текстуры атрибуту radiusPP (Радиус одной частицы):
1. Щелкните правой кнопкой мыши на текстовом поле radiusPP (Радиус одной частицы) и выберите в появившемся меню команду Create Ramp (Создать градиент). В текстовом поле появится строчка arrayMapperl.outValuePP. Этим вы только что назначили атрибуту градиентную текстуру, которая будет определять радиус частиц по мере их старения.
2. Чтобы получить доступ к редактированию этого градиента, щелкните на текстовом поле radiusPP (Радиус одной частицы) правой кнопкой мыши и выберите в появившемся меню команду arrayMapperl.outValuePP t Edit Ramp (arrayMapperl.outValuePP > Правка градиента). В окне диалога Attribute Editor (Редактор атрибутов) появятся параметры градиента. Присвойте ему имя radiusPP_ramp. Кроме того, редактировать градиент можно в окнах диалога Hypershade (Редактор узлов) и MultHister (Список узлов).
Окно диалога Attribute Editor для материала steam
Рисунок 12.16. Окно диалога Attribute Editor для материала steam
3. Измените цвет материала с голубого на белый. Выделите в окне диалога Outliner (Структура) строчку particlel, в окне диалога Hypershade (Редактор узлов) щелкните правой кнопкой мыши на образце материала steam и выберите в появившемся меню команду Assign Material to Selection (Назначить материал выделенному объекту).
4. Откройте окно диалога Render Global Settings (Общие параметры визуализации) и выберите в раскрывающемся списке Presets (Предустановленные значения) раздела Resolution (Разрешение) вариант 640 х 480. Перейдите на вкладку Maya Software (Программный визуализатор) и выберите в раскрывающемся списке Quality (Качество) раздела Anti-aliasing Quality (Качество сглаживания) вариант Intermediate Quality (Промежуточное качество). Запустите воспроизведение анимации и остановите его примерно посередине диапазона. Визуализируйте окно проекции Perspective (Перспектива). Вы должны получить примерно такой же результат, как на Рисунок 12.17.
Визуализируйте всю сцену при минимальном разрешении 320 х 240, чтобы оценить полученный эффект. Просмотреть результаты визуализации лучше всего с помощью служебной программы FCheck, с которой вы познакомились в предыдущей главе. Сразу бросаются в глаза слишком большая плотность пара и отсутствие прозрачности. Кроме того, по истечении времени жизни частицы просто исчезают. В реальности же пар рассеивается. То есть нужно сделать так, чтобы по мере роста частицы постепенно сливались с окружающей средой. Их прозрачность должна возрастать, достигая максимума к концу времени жизни. Вот как это можно сделать:
Окно диалога Attribute Editor для системы частиц
Рисунок 12.11. Окно диалога Attribute Editor для системы частиц
Окно диалога Dynamic Relationship
Рисунок 12.2. Окно диалога Dynamic Relationship
Слева располагается окно, содержащее список объектов сцены. Справа по умолчанию перечислены все созданные в сцене поля, но с помощью находящегося сверху переключателя вы можете открыть также список столкновений, список генераторов или же список всех упомянутых элементов. Для создания связи достаточно выделить строчку с именем плоскости (pPlanel) в окне слева, а затем — строчку с именем поля (gravityFieldl) в окне справа.
Теперь при воспроизведении анимации вы увидите, что плоскость тоже начинает падать вниз с первого же кадра. И так как два объекта перемещаются в одном направлении под действием одного и того же поля, столкновения между ними не произойдет. Для прекращения воздействия поля на плоскость достаточно снять выделение со строчки gravityFieldl в правой части окна диалога Dynamic Relationship (Динамические связи).
Окно диалога Dynamic Relationship
Редакторы связей, к которым относится и окно диалога Dynamic Relationship (Динамические связи), предназначены для соединения друг с другом различных узлов. Рассматриваемое здесь окно диалога используется для соединения динамических атрибутов, благодаря чему в процессе имитации динамики поля, частицы и твердые тела начинают взаимодействовать друг с другом. Другим примером редактора связей может послужить окно диалога Light Linking (Связывание источников света), позволяющее в явном виде указать, какие объекты сцены должен освещать тот или иной источник света. Впрочем, работа с этими редакторами относится к продвинутому уровню владения Maya, поэтому мы не будем заострять на них внимание.
Для преобразования активного тела в пассивное нужно вернуть ползунок таймера анимации на отметку первого кадра, а затем снять флажок Active (Активное) в окне диалога Attribute Editor (Редактор атрибутов). После этого плоскость снова превратится в неподвижный пол, от которого при ударе будет отскакивать мяч.
Окно диалога с параметрами генератора частиц
Рисунок 12.6. Окно диалога с параметрами генератора частиц
По умолчанию эта команда вызывает появление в сцене генератора типа Omni (Всенаправленный), испускающего 100 частиц в секунду. Скорость частиц составляет 1,0. Щелкните на кнопке Create (Создать), и в начале координат появится небольшой круглый объект. Это и есть генератор.
2. Запустите воспроизведение анимации. Как и в случае имитации динамических взаимодействий твердых тел, в раскрывающемся списке Playback Animation (Скорость воспроизведения) должен быть выбран вариант Play Every Frame (Воспроизводить каждый кадр). При этом вы не можете, например, запустить воспроизведение анимации в обратном направлении, пока сцена не будет записана в память. О том, как это сделать, вы узнаете чуть позже.
Испускаемые частицы выглядят как малиновые точки, летящие во всех направлениях. Вид сцены с работающим генератором частиц показан на Рисунок 12.7.
Перемещение твердых тел
Перемещение твердых тел
Так как движение любых активных твердых тел в Maya контролирует модуль имитации динамики, вы лишены возможности создавать ключи анимации для атрибутов, определяющих положение и ориентацию объекта. У пассивного объекта это ограничение отсутствует. Пассивные тела не контролируются модулем имитации динамики, поэтому вы можете поступать с ними, как с любыми другими объектами Maya.
Любое движение пассивных тел, созданное с помощью ключей анимации, преобразуется в импульс, который при столкновении с активным телом может передаваться последнему. Представьте себе удар бейсбольной биты по мячу. Бита является пассивным телом, перемещения которого запрограммировали созданием ключей анимации, в то время как мяч относится к активным телам. В момент удара кинетическая энергия биты передается мячу, и он летит вперед.
Практический пример такого поведения мы рассмотрим в следующем разделе.
Подведем итоги
Подведем итоги
Мощность того или иного инструмента неотделима от сложности его использования. Модуль имитации динамики в Maya оснащен множеством функций и элементов управления. Изучать их лучше всего на практике. В конце концов, с базовыми принципами работы в Maya вы уже знакомы. Имитация динамики относится к интерактивным процессам, поэтому вам придется немало экспериментировать, подбирая нужные значения параметров. Но со временем вам начнет помогать интуиция, и даже самые сложные задачи вы будете выполнять быстро и эффективно.
Поместите полигональную сферу над опорной плоскостью
Рисунок 12.1. Поместите полигональную сферу над опорной плоскостью
3. Нажмите клавишу F4 для перехода в режим Dynamics (Динамика). Выделите сферу и выберите в меню Soft/Rigid Bodies (Мягкие/Твердые тела) команду Create Active Rigid Body (Создать активное твердое тело). Обратите внимание на то, что атрибуты преобразований перемещения и поворота в окне диалога Channel Box (Окно каналов) теперь выделены желтым цветом. Это означает, что с этого момента значения данных параметров будет устанавливать модуль имитации динамики, и поэтому вы не сможете создавать для них ключи анимации.
4. Выделите опорную поверхность и выберите в меню Soft/Rigid Bodies (Мягкие/Твердые тела) команду Create Passive Rigid Body (Создать пассивное твердое тело). В результате плоскость превратится в пассивное тело, с которым будет сталкиваться наш мячик. Разумеется, активные и пассивные тела имеют различные атрибуты, но пока мы не будем обращать на них внимания и оставим им заданные по умолчанию значения.
5. Выделите мяч. Чтобы привести его в движение, вам потребуется поле. В реальном мире тела падают вниз под действием силы тяжести, поэтому в меню Fields (Поля) выберите команду Gravity (Сила тяжести). Выделенная в момент создания поля сфера автоматически подпадает под его действие. Впрочем, установить связь между полем и объектом можно в любой момент. Для этого применяется инструмент Dynamic Relationship (Динамические связи), о котором мы поговорим чуть позже.
ВНИМАНИЕ
Если сейчас запустить воспроизведение анимации, движение мячика будет замедленным. Это связано с тем, что модуль динамики рассчитывает его положения в каждый момент времени. Такое поведение будет продолжаться до записи имитации динамики в память. Для корректных расчетов нужно, чтобы воспроизводился каждый кадр. Поэтому откройте окно диалога Preferences (Параметры), выбрав в меню Window (Окно) команду Settings/Preferences > Preferences (Настройки/Параметры > Параметры), выделите в списке Categories (Категории) строчку Timeline (Временная шкала) и в раскрывающемся списке Playback Animation (Скорость воспроизведения) выберите вариант Play Every Frame (Воспроизводить каждый кадр).
Перед воспроизведением анимации введите в поле Playback End Time (Время окончания воспроизведения анимации), расположенное справа от ползунка шкалы диапазонов, значение 500. Установите ползунок таймера анимации на отметку кадра № 1 и щелкните на кнопке Play Forward (Воспроизведение вперед).
В результате сфера начнет падать вниз, а при столкновении с плоскостью отскочит вверх. Посмотрим, как изменится движение объектов, если превратить плоскость из пассивного тела в активное.
6. Выделите плоскость и откройте для нее окно диалога Attribute Editor (Редактор атрибутов).
7. Перейдите на вкладку rigidBody2 и установите флажок Active (Активное).
8. Теперь при запуске анимации вы обнаружите, что после столкновения мяча с опорной поверхностью последняя начинает падать вниз вместе с мячом. Но так как на нее не распространяется влияние поля Gravity (Сила тяжести), в начальный момент она неподвижна.
Чтобы заставить поле Gravity (Сила тяжести) влиять на плоскость, откройте окно диалога Dynamic Relationship (Динамические связи) (Рисунок 12.2). Это можно сделать с помощью команды Relationship Editors > Dynamic Relationship (Редакторы связей > Динамические связи) из меню Window (Окно).
После присвоения параметрам Min
Рисунок 12.10. После присвоения параметрам Min Distance и Max Distance значения 3 частицы появляются на расстоянии 3 единиц от генератора
Результат работы генератора типа Volume
Рисунок 12.9. Результат работы генератора типа Volume
Вот основные атрибуты частиц, влияющие на их поведение в сцене.
Атрибут Rate (Частота) определяет число частиц, испускаемых генератором за одну секунду. Скорость этих частиц задается атрибутом Speed (Скорость). При этом существует возможность сделать скорости частиц случайными, из-за чего процесс их генерации станет более натуральным. Достаточно воспользоваться параметром Speed Random (Случайная скорость), определяющим границы диапазона, в котором скорость частиц будет меняться.
Параметры Min Distance (Минимальное расстояние) и Max Distance (Максимальное расстояние) позволяют начать создание частиц на заданном расстоянии от генератора. На Рисунок 12.10 показано облако частиц, полученное после присвоения этим параметрам значения 3.
Результат визуализации сцены с чайником, из носика которого вырывается пар
Рисунок 12.17. Результат визуализации сцены с чайником, из носика которого вырывается пар
1. Выделите материал steam в окне диалога Hypershade (Редактор узлов) и откройте для него окно диалога Attribute Editor (Редактор атрибутов). В данном случае не имеет смысла присваивать атрибуту Transparency (Прозрачность) какое-то определенное значение. Вам потребуется еще один градиент. Точно так же, как и назначенная атрибуту radiusPP (Радиус одной частицы) градиентная текстура, новый градиент заставит частицы блекнуть по мере старения. А к моменту окончания времени жизни они станут совершенно прозрачными. Щелкните на кнопке с рисунком шахматной доски, расположенной справа от поля Life Transparency (Изменение прозрачности со временем), чтобы открыть окно диалога Create Render Node (Создать узел визуализации).
С помощью модуля Paint Effects вы можете добавить траву и цветы в любую сцену
Рисунок 12.20. С помощью модуля Paint Effects вы можете добавить траву и цветы в любую сцену
Вид и движение мазков, созданных с помощью модуля Paint Effects (Эффекты рисования), можно отредактировать в окне диалога Attribute Editor (Редактор атрибутов). Однако количество атрибутов в данном случае слишком велико. В следующем разделе мы расскажем о наиболее часто используемых.
Создание активных и пассивных тел
Создание активных и пассивных тел
В твердое тело можно преобразовать любой геометрический объект. После преобразования его поверхность начнет испытывать действие полей и сможет принимать участие в столкновениях. При этом поведение объектов в процессе столкновения вычисляется программой исходя из их массы, скорости и других свойств.
Существует два типа твердых тел — активные и пассивные. Активные тела реагируют на столкновения с другими объектами и действие полей. В отличие от них, пассивные тела никак не реагируют на воздействие полей или удары о них других, тел, хотя могут участвовать в столкновениях. Обычно в роли пассивного тела выступает поверхность, с которой сталкиваются активные тела.
Познакомимся на практике со свойствами этих элементов на примере прыгающего мячика:
1. Создайте полигональную плоскость и увеличьте ее размер. Она послужит опорной поверхностью.
2. Создайте полигональную сферу и поднимите ее над поверхностью (Рисунок 12.1).
Создание бильярдного стола и шаров
Создание бильярдного стола и шаров
Начнем с создания бильярдного стола. Выполните следующие действия:
1. Создайте полигональную плоскость и увеличьте ее масштаб по ширине и длине в 10 раз.
Создание кэш-файла для сцены с частицами
Создание кэш-файла для сцены с частицами
Для создания дискового кэш-файла выберите в меню Solvers (Модули просчета) команду Create Particle Disk Cache (Создать дисковый кэш-файл для частиц). Это автоматически запустит воспроизведение анимации, после чего сцена будет записана в файл, сохраненный в папке particle текущего проекта. Положение всех частиц фиксируется. В результате вы получаете возможность воспроизводить анимацию с любого места и в любом направлении.
Если впоследствии возникает необходимость изменить, например, частоту испускания частиц или их скорость, потребуется сначала удалить кэш-файл. Для этого выберите в меню Solvers (Модули просчета) команду Edit Oversampling and Cache Settings (Изменить точность просчета) и снимите флажок Use Particle Disk Cache (Использовать дисковый кэш-файл для частиц) в окне диалога Attribute Editor (Редактор атрибутов).
Теперь, когда вы получили информацию о базовых принципах динамики, пришло время рассмотреть их практическое применение.
Создание твердых тел
Создание твердых тел
Теперь нужно определить бильярдный стол как пассивное тело. Шары, соответственно, должны стать активными телами.
1. Выделите плоскости, образующие поверхность стола, и кубы, играющие роль бортов, и выберите в меню Soft/Rigid Bodies (МягкиеДвердые тела) команду Create Passive Rigid Body (Создать пассивное твердое тело).
2. Выделите все сферы и выберите в меню Soft/Rigid Bodies (Мягкие/Твердые тела) команду Create Active Rigid Body (Создать активное твердое тело).
3. Не снимая выделения со сфер, выберите в меню Fields (Поля) команду Gravity (Сила тяжести). Теперь на шары будет действовать сила тяжести.
4. Запустите воспроизведение анимации. Вы увидите, что шары опустились на поверхность стола. При этом взаимопроникновения геометрии не происходит. Если же взаимопроникновение есть, Maya выделяет соответствующие объекты и выводит сообщение об ошибке в командной строке.
Увеличение частиц по мере удаления их от носика чайника
Рисунок 12.15. Увеличение частиц по мере удаления их от носика чайника
Сравните полученный результат с файлом Kettte_Steam_v2.ma с прилагаемого к книге компакт-диска.
Вид потока частиц после увеличения значения параметра Spread
Рисунок 12.13. Вид потока частиц после увеличения значения параметра Spread
ПРИМЕЧАНИЕ
Атрибут Spread (Разброс) задает угол конуса, в пределах которого происходит испускание частиц. Если этот параметр имеет значение 0, частицы вылетают по прямой. При значении 1 частицы распространяются в пределах 180°.
5. Пока что частицы движутся слишком медленно для струи пара, поэтому введите в поле Speed (Скорость) значение 2, а в поле Speed Random (Случайная скорость) — значение 1. В итоге частицы будут иметь скорости в диапазоне от 1 до 3.
6. Чтобы частицы не вылетали из одной точки, введите в поле Min Distance (Минимальное расстояние) значение 0,5, а в поле Max Distance (Максимальное расстояние) — значение 1. В результате частицы будут вылетать на расстоянии от 0,5 до 1 единицы от носика чайника.
Вид шаров после назначения им материалов
Рисунок 12.5. Вид шаров после назначения им материалов
Сферы немного приподняты над поверхностью стола, так как требуется избежать взаимного проникновения плоскостей объектов друг в друга. Только в этом случае можно гарантировать корректный результат имитации динамики.
Для сравнения вы можете загрузить файл Table_vl.mb, расположенный в папке ChapterFHes\Pool_Table\scenes прилагаемого к книге компакт-диска.
Время жизни частиц
Время жизни частиц
Время жизни определяет продолжительность присутствия частицы в сцене. Ограничивать время жизни частиц обычно имеет смысл по ряду причин. Как вы убедитесь при моделировании струи пара из носика чайника, частицы с определенным временем жизни могут в течение этого времени менять свои свойства. Например, частица в момент создания может иметь белый цвет и постепенно становиться прозрачной. Ограничение времени жизни позволяет также сохранять минимальным общее количество частиц в сцене, увеличивая тем самым эффективность работы.
Существует несколько режимов времени жизни. Их выбор осуществляется в раскрывающемся списке Lifespan Mode (Режим времени жизни). Выбранный по умолчанию вариант Live Forever (Бесконечное время жизни) означает, что появляющиеся в сцене частицы остаются там навсегда. Режим Constant (Постоянное время жизни) приводит к исчезновению частиц через промежуток времени, указанный в поле Lifespan (Время жизни). По умолчанию параметр Lifespan (Время жизни) равен одной секунде, то есть при частоте 30 кадров в секунду каждая частица будет существовать в сцене на протяжении 30 кадров.
Режим Random Range (Случайный диапазон) позволяет разнообразить время жизни частиц, заданное параметром Lifespan (Время жизни). Расположенный ниже атрибут Life-span Random (Случайное время жизни) указывает, в каком диапазоне может меняться время жизни частиц. Режим lifespanPP only (Время жизни одной частицы) позволяет контролировать время жизни отдельных частиц, которое задается выражениями на языке MEL. Впрочем, рассмотрение выражений выходит за рамки данной книги.
Запись сцены
Запись сцены
Запись движения частиц в память или на диск облегчает редактирование анимации. Для этого достаточно выделить частицы и выбрать в меню Solvers (Модули просчета) команду Memory Caching > Enable (Кэширование памяти > Включить). Запустите воспроизведение анимации, и сцена будет записана в память. После этого вы получите возможность, например, наблюдать анимацию при перемещении ползунка в обратном направлении. Однако любые попытки редактирования сцены ни к чему не приведут, пока вы не удалите зафиксированную информацию из памяти. Эта операция выбирается в меню Solvers (Модули просчета) команды Memory Caching > Delete (Кэширование памяти > Удалить). Количество информации, которую вы можете зафиксировать таким способом, зависит от количества оперативной памяти. Кэширование в память работает намного быстрее кэширования на диск, но в последнем случае вы можете записать положения всех частиц в течение всего времени их жизни. Это гарантирует корректную визуализацию сцены. Поэтому перед визуализацией сцены с частицами нужно создать кэш-файл.
Во многих случаях искусство требует
Новые возможности в Maya 6
Во многих случаях искусство требует трансцендентных способов выражения. Оно имеет внутреннюю гармонию. Для лучшего понимания задач, возникающих в процессе создания компьютерной графики, нужно осознать, с чем вы работаете и к чему вы стремитесь.
Приступив к изучению Maya, вы начинаете знакомство с новым языком, с новым средством общения. Помните, что техника, которую вы получаете в руки, является лишь средством конечного выражения вашей фантазии. Поэтому насладитесь процессом работы.
Цифровые студии нанимают в первую очередь профессиональных художников, то есть людей, имеющих опыт в традиционных искусствах, например рисовании, живописи, фотографии или скульптуре. Соответственно, изучение компьютерной графики следует начать с обзора ключевых принципов искусства. Именно этому и посвящена данная глава. Всегда следует помнить, что компьютер, с которым вы работаете, — не более чем инструмент.
В последние десятилетия интерес к компьютерной графике значительно возрос. В немалой степени это является следствием появления на рынке мощных компьютеров по относительно низким ценам. Начиная с конца 90-х годов оборудование для создания анимации стало доступным для индивидуальных пользователей.
В результате многие художники добавили в сферу своих интересов компьютерную графику. Но перед тем как приступить к изучению конкретных инструментов, необходимо познакомиться с фундаментальными понятиями из этой области.
Во многих случаях искусство требует трансцендентных способов выражения. Оно имеет внутреннюю гармонию. Для лучшего понимания задач, возникающих в процессе создания компьютерной графики, нужно осознать, с чем вы работаете и к чему вы стремитесь. Приступив к изучению Maya, вы начинаете знакомство с новым языком, с новым средством общения. Помните, что техника, которую вы получаете в руки, является лишь средством конечного выражения вашей фантазии. Поэтому насладитесь процессом работы.
Для того чтобы стать хорошим аниматором и научиться работать с Maya или другим приложением для создания компьютерной графики, вовсе не нужно помнить местонахождение всех кнопок и инструментов. Вы должны всего лишь знать, как найти нужную вам функцию. Лучше всего начать с исследования интерфейса. С помощью мыши вызывайте различные меню и инструменты и внимательно рассматривайте их. Старайтесь при этом не вносить изменений в параметры Maya, так как упражнения в этой книге были написаны для заданных по умолчанию настроек.
Проект «Солнечная система» познакомит вас с процессом моделирования объектов и даст представление о таких элементах, как иерархические цепочки и опорные точки объектов. Как следует из названия проекта, нам предстоит создать аналог Солнечной системы. Упражнения данной главы дадут возможность попрактиковаться в формировании иерархических цепочек и выделении объектов. Вы узнаете, как создать иерархическую связь и как выбрать в группе нужные узлы для получения корректной анимации.
При создании объекта первым делом важно разобраться в его структуре. Для аниматора лучшей тренировкой являются попытки мысленно разбить моделируемый предмет на составные части. Этот способ помогает перевести процесс воссоздания объекта в термины трехмерной графики. Обычно сначала моделируются отдельные элементы, которые позже соединяются в одно целое. Соберите как можно больше информации об объекте, который вы собираетесь моделировать. Сфотографируйте его с разных сторон, измерьте и запишите точные габариты и даже сделайте подробное описание объекта. Попытайтесь нарисовать его на бумаге или вылепить из пластилина. Предназначенный для моделирования инструментарий Maya широк и разнообразен, поэтому важно правильно выбрать наиболее подходящий метод воссоздания объектов.
Сетки полигонов лучше всего подходят для моделей, имеющих прямоугольные формы, механических объектов и т. п. Впрочем, при наличии навыков работы с инструментами для редактирования полигонов существует возможность моделировать в этом формате даже персонажей. Обычно работа над моделью начинается с появления в сцене объекта-примитива и выдавливания его граней, в то время как для получения NURBS-объектов в большинстве случаев сначала требуется создать кривую.
Как вы имели возможность убедиться в предыдущих главах при изучении полигонального моделирования и моделирования на основе неоднородных рациональных сплайнов Безье, деформаторы играют большую роль при создании и редактировании формы объектов. Например, нелинейный деформатор Bend (Изгиб) вызывает изгиб объекта, к которому он присоединен. Это простая деформация. Более сложное воздействие можно получить, например, с помощью деформатора Lattice (Решетка).
Назначение материалов подразумевает присвоение объекту видимого при визуализации цвета, рельефа, прозрачности, зеркальных бликов и других характеристик поверхности. С этим процессом тесно связано назначение текстур, то есть Процесс сопоставления определенного рисунка выбранному атрибуту материала. Этот способ позволяет даже имитировать детали на поверхности объекта. Например, назначив атрибуту Color (Цвет) изображение кирпичей, вы, по сути, назначите материалу карту текстуры. Назначение еще одной отсканированной фотографии с изображением впадин и выпуклостей той же самой кирпичной стены атрибуту Bump Mapping (Карта рельефа) также рассматривается как назначение текстуры.
Классическим упражнением для начинающих изучать анимацию в компьютерной графике является моделирование прыгающего мячика. Так как порядок действий в данном случае достаточно очевиден, поведение шарика можно сделать совершенно произвольным, все зависит исключительно от вашей фантазии. Анимация шарика является замечательным способом потренироваться как в применении законов физики, так и в имитации движения персонажей из мультфильмов.
Мускулы вашего тела прикреплены к костям, то есть скелет, грубо говоря, представляет собой внутренний каркас, на который «налеплено» все остальное. По этому же принципу стоятся модели персонажей в компьютерной графике, только здесь скелет является еще и движущей частью модели. Оболочка персонажа соединяется с системой костей и повторяет все ее движения. Использование системы костей позволяет деформировать и сгибать оболочку в местах расположения суставов. Система костей используется не только при моделировании персонажей.
Не является тайной тот факт, что освещение сцен в Maya напоминает техники освещения, используемые в традиционной фотографии и при киносъемке. Источники света различных типов распределяются по сцене, как при освещении статичной сцены или портретной съемке. Выбор источников света до некоторой степени определяется содержанием сцены, так как он зависит от того, какого эффекта вы хотите добиться.
После завершения работы над сценой приходит время выбора параметров визуализации. Это последняя стадия создания компьютерной графики, но о ней следует помнить с самого начала. Если в процессе моделирования объектов, назначения им материалов и освещения сцены вы постоянно представляли, как это будет выглядеть на итоговом изображении, и исходя из этих соображений планировали все свои действия, конечная настройка не вызовет у вас никаких затруднений.
Динамикой называется имитация движения на основе действующих законов физики. Вместо создания ключей анимации вы присваиваете объектам физические характеристики, которые определяют их поведение. Для этого обычные объекты Maya преобразовываются в динамические тела, что приводит к появлению у них набора динамических атрибутов, влияющих на поведение тела при взаимодействии с другими объектами сцены. Динамические тела приводятся в движение действием внешних сил, называемых полями (fields). В Maya существует целый набор полей, имитирующих самые разные силы — от силы ветра до силы тяжести. Подробную информацию о них вы получите чуть позже.
Обратная почтовая связь