Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ponimayka1

.pdf
Скачиваний:
131
Добавлен:
07.06.2015
Размер:
37.11 Mб
Скачать

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

Мастера UV-дзен

Здесь я хочу поблагодарить мастеров UV-дзен помогавших мне с главой про текстурирование. Это Сергей Луценко, Ниле Блумберг, Алекс Киянцев, Саша Black Коршунов, Ян Зубарев.

541

Анимация

Прежде чем говорить про анимацию, я, как обычно, хотел бы определиться в терминах. Но не в компьютерных и не в «майских». Давайте разберемся, что такое анимация и кто такие аниматоры.

Аниматоры в традиционном понимании это люди, производящие анимацию. Если говорить про трехмерную графику, можно сказать: это люди, владеющие искусством правильной расстановки ключей. Они знают все про то, каким должно быть «правильное» движение, и все, что от них требуется, это выдавать некоторую норму анимации в день, то есть уметь расставлять ключи и править анимационные кривые. В этом смысле технически от аниматора требуется совсем немногое: главное, чтобы он владел магией создания движения, а под анимацией в этом случае понимается просто процесс расстановки ключей на уже подготовленного персонажа.

Однако если посмотреть на слово «анимация» с точки зрения MAYA, как на совокупность инструментов и методов для подготовки, настройки и оживления персонажа, то обнаружится, что этот термин обозначает совсем другой, более широкий класс задач, относящийся больше к технологиям, чем к искусству. Аниматор, в этом смысле, человек ответственный не только за движение, но и за настройку и подготовку объектов к анимации, организацию наиболее удобной среды для постановки анимации, добавление персонажу новых «способностей» и еще за массу вещей.

Поэтому когда вы произносите модное словосочетание типа «анимация в MAYA», следует сразу уточнять, что вы имеете в виду.

Я предпочитаю называть аниматорами тех одаренных людей, которые собственно создают движение. Как правило, для них уже сделан хорошо настроенный персонаж и их совершенно не заботит его внутреннее техническое устройство. Главное - что умеет делать персонаж, то есть то, как он может двигаться. Все, что должен делать такой аниматор - это расставлять ключи, изменять тип интерполяции, управлять камерой и, возможно, уметь работать с анимационными клипами. Ну, конечно, сохранять сцену. А вот отвлекать аниматора на изменение кода expressions или изменение иерархии скелетона, с моей точки зрения, неэффективно и бессмысленно.

Для того, чтобы создавать и настраивать персонажа, копаться в его внутренностях, обучать его делать новые движения, обеспечивать его целостность и «работоспособность», нужны несколько другие люди. Их называют различными именами: настройщики персонажей, технические аниматоры, «сетапщики» (от setup), технические директора и пр. В их обязанности входит настраивать веса констрейнов, менять тип инверсной кинематики, писать формулы expres­ sions, задавать зависимость деформаций от движения, добавлять новые атрибуты, настраивать мышечные сокращения и морфинг. Как видите, скучать им не приходится.

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

Примечание.

В

некоторых

студиях

используется радикальный

и

довольно

эффективный подход: за компьютером

сидят два

(!) человека. Один -

классический

аниматор

старой

закалки,

который,

глядя

на

экран,

говорит,

что

делать:

насколько и куда надо передвинуть объект в

 

нужном

кадре. Второй

участник

тандема

-

назовем его «оператор» -

быстро

выполняет

гениальные

указания.

Можно проследить некоторую историческую тенденцию, связанную с анимацией персонажей в MAYA. Изначально MAYA представляла собой совершенно разрозненный конструктор для сборки

544

персонажей, не имеющий даже минимальных заготовок для повседневного использования. Пользователи (особенно избалованные пакетом Character Studio) просто терялись в зарослях, среди всех этих, многочисленных инструментов, операций, понятий и технологий. Однако в последнее время появляется все больше решений, представляющих модель антропоморфного персонажа, полностью готового к использованию. Пока что эти решения - типа Advanced Skeleton (http://www.animationstudios.com.au/) или aniMan (http://www.manus3d.be/ ) - не встроены в MAYA, однако мне кажется: все более осязаемая потребность иметь некий аналог Character Studio для MAYA приведет к тому, что в составе MAYA появится что-то типа «супер персонажа на все случае жизни». (Пока я писал книгу, компания Alias успела приобрести компанию Kaydara, а в седьмой версии Maya появилась Full Body IK готовое решение для управления персонажем).

Подробнее о персонажной анимации, настройке персонажей и готовых решениях поговорим позже, а сейчас я бы хотел обозначить, что вы найдете и чего не найдете в главах про анимацию. Весь соответствующий материал посвящен технической анимации, то есть пониманию того, как B MAYA устроены инструменты для подготовки и производства различных типов анимации. И если собственно «производство анимации» описывается в разделе, посвященном работе с Graph Editor, атакже в рубриках посвященных нелинейной и процедурной анимации, то «подготовка анимации» включает в себя массу материала, от деформеров до скининга, предназначенного в основном для

«сетапщиков».

 

Примечание. «Сетапщик»

тот, кто отвечает за настройку (setup) персонажа:

изготовление скелетона, скининг, контрольные объекты, динамические атрибуты, мышечные деформации и пр.

Я не буду касаться художественных аспектов постановки анимации, это не в моей компетенции. Об этом написаны отличные книги и обсуждение этих вопросов выходит за рамки книги «Понимая МАУА». Я также не буду описывать процесс подготовки анимации (изготовление раскадровок, аниматика и прочие вещи), предполагая, что вы прекрасно знаете о том, как это полезно и необходимо. Все это тема отдельной книги, посвященной персонажной анимации.

Примечание. То, что я постоянно ссылаюсь на анимацию персонажей, не должно вас смущать. Любой объект можно рассматривать как персонаж, поэтому более простые случаи анимации (будь это космический корабль или памятник Дзержинскому) можно тоже рассматривать как анимацию очень простых персонажей. Мир в последнее время совершенно помешался на персонажной анимации, поэтому приходится следовать моде.

Типы анимации. Немного терминологии

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

Самый распространенный тип - анимация по ключам, или ключевая анимация. Иногда даже говорят «традиционная анимация», норовя перепутать ее с рисованной анимацией. Положение (форма, цвет) объекта задается пользователем вручную в ключевых кадрах (ключах), а в промежуточных кадрах MAYA интерполирует (просчитывает) движение объекта в соответствии с формой анимационной кривой.

Процедурная анимация - это задание движения (формы, цвета) объекта с помощью некоторых алгоритмов, определяемых в виде формул. Чаще всего этот тип анимации используется для задания хаотических, циклических или вторичных движений. В MAYA для этой цели используются expressions.

Реактивная, или косвенная анимация - в этом случае один объект движется в зависимости не от времени, а от движения другого объекта. В MAYA примером такой анимации служит технология Set Driven Key. С одной стороны, такая анимация явно процедурная, а с другой стороны,

545

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

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

Динамическая симуляция движение частиц, волос, одежды, твердых тел определяется законами, зашитыми в «черный ящик» (Solver), недоступный пользователю. Пользователь может только менять начальные условия и свойства объектов, однако все траектории движения вычисляет этот ящик и менять эти траектории вручную невозможно.

Захват движения (Motion Capture) самый эффективный тип анимации с точки зрения производительности. Движение в буквальном смысле задается вручную и «вножную»: специально обученные люди одевают на себя костюм с датчиками или оптическими маркерами, отслеживающими и передающими с определенной частотой свои координаты в компьютер. Данные с координатами датчиков используются для анимации контрольных объектов, расположенных на трехмерном персонаже в тех же местах, что и датчики на актере. Этот метод, правда, несколько неэффективен с точки зрения финансов: системы захвата движений никак не желают дешеветь.

Нелинейная анимация - недавно освоенная технология, когда движение «отчуждается» от объекта и превращается в самостоятельно существующий «клип». Такой клип можно наложить

на другой объект (заставив объект двигаться), его можно разрезать, сжать, растянуть

в общем

применять методы нелинейного монтажа, составляя анимацию из клипов. Эта

технология

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

Применения анимации

Интересно, что вы ожидали прочитать в этом разделе?

Главный принцип анимации в MAYA

Вам следует раз и навсегда усвоить одну вещь в MAYA можно анимировать всё! Как вы наверное уже хорошо поняли, свойства любого объекта определяются значениями его атрибутов. Главный принцип анимации в MAYA состоит в том, что анимируются не объекты, а атрибуты этих объектов. Следовательно, анимируются абсолютно свойства объектов, задаваемые атрибутами. Не только положение, вращение или размер, а цвет, видимость, позиция пивота, прозрачность, форма и пр. Если вы вспомните, что объект это набор составляющих его нод, каждая из которых обладает своим набором атрибутов, то поймете, что анимировать можно довольно нетрадиционные вещи.

Например, ноды Construction History, появляющиеся в результате операций моделирования, позволяют анимировать место разрезания поверхности, положения отверстия на объекте, количество сегментов у звезды или выращивание поверхности вдоль пути.

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

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

546

Скажу больше: анимировать можно даже положение окон «майского» интерфейса (загляните в главу про MEL) или размеры кнопок.

А значит главный «майский» анимационный принцип можно переформулировать таким образом: «Анимировать можно все, что шевелится».

То есть, все атрибуты, значения которых могут изменяться.

Общие принципы и внутреннее устройство анимации в MAYA

Выше я привел список различных способов анимации объектов в MAYA. Несмотря на то, что некоторые из них принципиально различаются по идеологии (например, динамика и ключевая анимация), у них у всех есть общее свойство: любой тип анимации воздействует на атрибуты объекта. Рассмотрим это подробнее.

Примечание. Часто атрибуты объектов называют каналами. В основном это происходит, когда речь идет об анимации. В данном контексте атрибуты и каналы являются полными синонимами. Даже в названии Channel Box есть упоминание о каналах. Можно также спорить о том, называть ли каналом только анимированный атрибут, однако это не имеет смысла, с моей точки зрения.

Когда речь идет о материалах, каналами часто называют составляющие цвета или прозрачности (канал красного или синего), а иногда и сами эти атрибуты (канал цвета). Однако все эти «каналы» суть атрибуты, поэтому, чтобы гарантированно избежать путаницы в голове, помните: синонимом слова канал в MAYA (и только в MAYA) является «атрибут».

Когда вы любым способом анимируете объект, на атрибутах (или на каналах) этого объекта появляются связи, которые устанавливают зависимость движения объекта либо от времени, либо от перемещений другого объекта, либо от формулы в expression, либо от вычислений динамики ит.д

Иногда такие связи появляются явно: например, вы поставили ключ и явно связали значение атрибута со временем. Иногда совсем неявно: вы превратили объект в активное твердое тело, и тут же на каналах translate и rotate появились входящие связи, соединяющие эти атрибуты с результатами вычисления «решателя» динамики RigidSolver.

То, что «висит» на атрибутах объекта, определяет способ анимации, который используется в этом случае.

Если на атрибутах «висят» анимационные кривые, значит вы (или кто-то до вас) поставили ключи на эти атрибуты (или это сделал кто-то до вас). В этом случае цвет атрибутов в Channel Box или Attribute Editor изменится на светло-оранжевый (или бежевый, в зависимости от угла зрения на монитор и степени вашего дальтонизма). Анимация с помощью Set Driven Key также порождает анимационные кривые, подсоединенные к атрибутам объекта.

Если значение атрибута вычисляется с помощью expression, цвет атрибута будет фиолетовым. В этом случае используется процедурная анимация, а на атрибутах «висят» связи, соединяющие объект с соответствующим expression.

Если объект анимируется с помощью констрейнов, то его зависящие от констрейнов атрибуты имеют синий цвет, что говорит о наличии косвенной анимации.

Позеленевшие атрибуты означают, что на них приходит связь от ноды pairBlend, отвечающей за смешивание разных типов анимации.

Если атрибуты объекта вычисляются с помощью динамики, на них «висят» связи желтого цвета с «вычислителем» динамики.

547

Не для всех типов анимации существует цветовая окраска атрибутов в Channel Box или At­ tribute Editor. В общем случае, «Связанные» атрибуты, имеют желтый цвет.

Примечание. Кстати,

цветовая

окраска

атрибутов,

имеющих

связи,

появилась

в MAYA не так давно. Раньше все

«свободные» а т р и б у т ы имели белый

цвет, а

зависящие от чего-либо - желтый.

И в

таком

«аскетизме» проявлялась

основная

концепция MAYA: объекты могут

зависеть

друг

от

друга с

помощью

связей

между атрибутами.

И

анимация

-

это лишь частный случай такой зависимости.

Подробнее об этом,

вы

можете

прочитать в

главе про изнанку MAYA.

 

 

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

Во всех остальных способах анимации между временем и объектом возникают «посредники» - динамика, управляющие объекты с констрейнами, движение вдоль пути, expressions, объекты Set Driven Key и т.д. Все эти «посредники» призваны облегчить, автоматизировать анимацию или обеспечить какой-то характерный путь управления объектом.

Сначала я поговорю про ключевую анимацию, а затем возьмусь за «посредников», облегчающих жизнь.

Примечание. Согласно «майскойдокументации, все инструменты для деформации поверхностей или согласования движения (констрейны) отнесены в категорию настройки персонажей. Это, конечно, не означает, что их запрещено применять в других целях. Деформеры могут быть использованы как вспомогательное средство

моделирования или

как

способ корректировки траекторий частиц, а констрейны

удобно применять

при

конструировании различных машин и механизмов.

Так как

деформеры помогают

лишь подготовить объекты к анимации и могут быть

полезны перед началом

расстановки ключей, я расскажу о них отдельно.

А работа

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

548

Работа с Channel Box

Как правило, для создания и контроля анимации удобнее всего использовать Channel Box. Коль скоро анимация в MAYA - это прежде всего работа с атрибутами, то Channel Box предлагает наиболее компактное и гибкое представление атрибутов выбранных объектов и позволяет выполнять большинство задач, связанных с анимацией.

При выделении одного или нескольких атрибутов в Channel Box становятся активными все пункты меню, выпадающего при нажатии правой кнопки мыши. С их помощью можно производить различные «махинации» с атрибутами и в том числе создавать анимацию. Причем разных типов. Хотя основная часть пунктов меню посвящена работе с ключами, с помощью пунктов Expressions, Set Driven Key или Connection Editor можно создавать анимацию другого типа.

Любой анимированный атрибут можно «Приглушить», то есть временно выключить его анимацию (Mute Selected), но можно и заблокировать его (Lock Selected), причем блокировка лишь защитит атрибут от любых последующий действий с ним, но не заблокирует уже имеющуюся анимацию на нем.

Отдельно хочу сказать про пункт Break Connections (разорвать связи). Предположим, что вы анимировали атрибуты с помощью ключей или expression. Выделение этих атрибутов в Channel Box и выполнение пункта Break Connections в принципе ведет к тому, что анимация с этих атрибутов исчезает. Однако вы должны понимать, что ни анимационные кривые, ни expressions в этом случае не удалились и остались в сцене. Вы лишь разорвали с ними связи, а сами они остались «живыздоровы» и с большой долей вероятности никому больше не нужны. Чтобы их разыскать вам, потребуется некоторое время и усилия. Поэтому каждый раз, перед тем как выполнить операцию Break Connections, подумайте о том, с чем вы собираетесь разорвать связь. Чтобы в сцене не оставалось «бесхозных» анимационных кривых, вы должны удалять их с помощью операции Delete Selected. Удалять expressions лучше прямо в Expression Editor.

Защита от анимации

Я хотел бы обратить внимание на то, что атрибуты объектов можно «защищать» от анимации. Точно так же, как с помощью операции Lock Selected можно защищать атрибут от модификации

549

его значения, с помощью пункта Hide Selected, его можно просто удалить из списка атрибутов, перечисленных в Channel Box. Это не означает, что для него нельзя создавать анимацию: например, в Attribute Editor вы сможете его разыскать и анимировать, как вам угодно. Атрибут исчезает только из Channel Box. В этом случае на него перестает действовать операция Animate=>Set Key (горячая клавиша "s") и функция AutoKey, и про такой атрибут говорят, что он неанимируемый (nonkeyable).

Вернуть атрибут в «анимируемое» состояние, можно в окне Channel Control, которое можно вызвать либо через меню Channel Box, либо через Window=>General Editors=>Channel Control. В этом окне находятся три колонки с именами атрибутов. Выделяя атрибуты и нажимая кнопки Move>> и <<Move, можно перемещать атрибуты из одной категории в другую.

Влевой колонке (КеуаЫе) располагаются анимируемые атрибуты, то есть отображаемые

вChannel Box. В колонке Nonkeyable Hidden присутствуют атрибуты, не показываемые в Channel Box. С недавних пор в окне Channel Control появилась колонка Nonkeyable Displayed, в которой содержатся атрибуты «защищенные» от анимации, но тем не менее отображаемые в Channel Box.

Они отображаются серым цветом и «защищены» от нажатия клавиши "s" и функции Auto Key. Однако название Nonkeyable, с моей точки зрения, здесь не слишком уместно, поскольку вы можете выделять такие атрибуты в Channel Box и ставить на них ключи с помощью меню, выпадающего под правую кнопку мыши. И хотя ключевые кадры для таких атрибутов не отображаются на временной линейке, они, тем не менее, создаются и, соответственно, успешно путают аниматора.

Защита части атрибутов от анимации через удаление их из Channel Box - это очень удобное средство подготовки объектов к анимации. Это позволяет вам видеть только нужные для анимации атрибуты в Channel Box и работать только с ними. Старайтесь заранее продумывать, какие атрибуты вам понадобятся для анимации, чтобы оставить в Channel Box только необходимый минимум анимационных каналов.

Кроме того, часть атрибутов любого объекта по умолчанию защищена от анимации. Например, положение пивота или ориентация локальных осей. В тех экзотических случаях, когда вам надо интенсивно анимировать эти атрибуты, вы можете «вытащить» их в Channel Box с помощью окна Channel Control.

550

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]