главная » уроки анимации
Уроки анимации
Конструирование
скелета кисти руки
Построить
скелет кисти руки несложно: необходимо воссоздать в модели все косточки пальцев
и несколько костей в области ладони. Как и в предыдущем случае, удобнее конструировать
скелет руки, имея в своем распоряжении готовый каркас.
Упражнение
3. Конструирование скелета кисти руки
1. Начните
с кости, идущей от основания ладони к середине первого сустава пальца.
2. Создайте
три косточки для указательного пальца. Расположите их посередине пальца и выровняйте
суставы.
3. Повторите
указанную процедуру для среднего и безымянного пальцев, а также мизинца.
4. Теперь сформируйте
кости большого пальца. Создайте кость, идущую от основания ладони к середине
сустава большого пальца.
5. Создайте
две косточки для самого большого пальца. Скелет кисти руки готов. Он присоединяется
к запястью посредством установки иерархических связей.
6. Присоедините
готовый скелет кисти к руке, установив иерархические связи.
С помощью
готового скелета можно деформировать оболочку модели персонажа. Для этого предназначена
утилита деформации каркаса, которая по расположению костей определяет его форму.
При анимации лсостей скелета перемещается и поверхность модели. Выбор способа
анимации зависит от используемого программного обеспечения. В большинстве пакетов
реализована комбинация различных методов, однако все они распадаются на две
основные категории: прямого сопоставления и построения зон воздействия.
Метод прямого
сопоставления - это простейший способ деформирования каркаса. При его использовании
каждую вершину каркаса сопоставляют определенной кости или суставу. Вершины,
расположенные в области бедренных костей, сопоставляются бедренным костям, вершины,
расположенные в области голени, - кости голени и т.д. В несложных моделях с
небольшим числом вершин данный метод использовать легко, а результат его применения
предсказуем. Поскольку расчеты просты, деформация происходит довольно быстро,
что позволяет манипулировать персонажем почти в реальном масштабе времени. В
большинстве пакетов сопоставление вершин ближайшим костям производится автоматически,
в некоторых это приходится делать вручную. Если программа распределяет вершины
автоматически, обычно есть возможность подправить вручную ошибочное назначение
вершин.
Еще один способ
деформирования каркаса заключается в том, чтобы создать кластеры для каждой
части тела (для левой бедренной кости, для правой бедренной кости и т.д.) и
сопоставить каждый из них определенному суставу. Это можно сделать, либо установив
простые иерархические связи, либо при помощи Ограничений или выражений. Убедитесь,
что все суставы и кости имеют верные названия, поскольку они присваиваются кластерам,
иначе возникнет ошибка.
Следующие
рисунки иллюстрируют метод прямого сопоставления. На рис. 6.19 вершины предплечья
(выделены темным) сопоставлены кости предплечья. Вершины плеча (выделены светлым)
сопоставлены кости плеча. При движении кости предплечья каркас деформируется
соответствующим образом (рис. 6.20). Когда движется плечевая кость, перемещаются
сопоставленные ей вершины каркаса. Поскольку предплечье является потомком плеча,
оно также перемещается, как и сопоставленные ему вершины (рис. 6.21).
Единственный
недостаток метода прямого сопоставления состоит в том, что движение некоторых
частей тела определяется воздействием разных элементов скелета. Например, форма
поверхности колена зависит
Рис. 6.19.
Метод прямого сопоставления
Рис. 6.20.
Деформация каркаса при движении кости предплечья
от перемещения
и голени, и бедра. Кроме того, использование данного метода может привести к
появлению складок, когда суставы занимают крайние положения (рис. 6.22). Однако
для анимации несложных персонажей он вполне пригоден.
Рис. 6.21.
Движение кости приводит к перемещению вершин
Рис. 6.22.
Складка, которая образована вершинами, окружающими локоть
Метод
взвешенного сопоставления
Чтобы деформация
выглядела более естественно, необходимо, чтобы на вершину воздействовало несколько
элементов скелета. Например, на вершины, расположенные вокруг локтя, может влиять
и плечо, и предплечье. Для решения этой проблемы придуман метод взвешенной деформации.
Взвешенная
деформация позволяет нескольким элементам каркаса воздействовать на одну и ту
же вершину. В каждой программе этот метод реализован по-своему. В некоторых
случаях визуализируется поверхность, определяющая диапазон влияния элемента
скелета (рис. 6.23). В тех областях, где зоны влияния перекрываются, вершины
подвержены одновременно нескольким воздействиям.
Некоторые
программы позволяют задавать весовые коэффициенты для кластеров. Например, кластер
может быть на 70% подвержен влиянию элемента А и на 30% - элемента В. Такой
способ является достаточно гибким, поскольку вершины поверхности не принадлежат
какой-либо одной определенной области. Теоретически любую вершину можно сопоставить
любой кости с любым весовым коэффициентом. Конечно, без соответствующего графического
представления применение данного способа вызывает затруднения. Пример использования
весовых коэффициентов показан на рис. 6.24. Когда рука сгибается в локте, вершины,
расположенные вокруг данного сустава, испытывают воздействие в соответствии
с весовыми коэффициентами зон влияния, что исключает возникновение складок.
Рис. 6.23.
Зона воздействия, определяющая диапазон влияния элемента скелета
Рис. 6.24.
Результат использования весовых коэффициентов
Метод кластеров
не столь нагляден, как метод построения зон воздействия. Подобные зоны изображаются
в виде пузырей, охватывающих подвергаемую деформации область. Во многих пакетах
для облегчения работы используется другое представление: вершины раскрашиваются
в соответствии с заданными весовыми коэффициентами.
В более современных
системах допускается перемещение управляющих вершин зон воздействия, что позволяет
включать и исключать отдельные вершины. Но при использовании простых алгоритмов
нельзя изменять форму уже построенных зон воздействия. Таким образом, разработчик
лишается возможности воздействовать на отдельные вершины. Показательным в этом
смысле является пример с пальцами руки: зона воздействия одного пальца может
пересечься с зоной другого и оказать влияние на его вершины. Проблему можно
обойти, если тщательно продумать строение модели. Чтобы зоны не пересеклись,
следует разместить пальцы гораздо дальше друг от друга, чем обычно бывает при
расслабленной кисти, а после деформации вернуть пальцы в нормальное положение.
Работа с зонами
воздействия имеет свои особенности. Рассмотрим их на примерах. Зоны воздействия
каждой модели ног, изображенных на рис. 6.25, немного перекрываются в области
колена, что и требуется, но одновременно перекрываются и другие участки, а это
нежелательно. Если бедро переместить в сторону, влияние одной ноги на вершины
другой по-прежнему сохранится (рис. 6.26). Чтобы исправить эту ошибку, необходимо
либо изменить форму зон воздействия, либо исключить вершины одной ноги из сферы
влияния другой (рис. 6.27). Другой проблемной областью являются подмышки. Обычно
вершины данной области сопоставляются ближайшему элементу скелета, в данном
случае - плечу. При поднятии руки над головой участок поверхности неестественно
выпячивается (рис. 6.28). Вершины, расположенные в подмышечной области, являются
частью туловища и гораздо больше подвержены влиянию позвоночника, чем руки.
Если сопоставить вершины позвоночнику, выпуклость не появится, и проблема будет
решена (рис. 6.29).
Рис. 6.25.
Перекрывающиеся зоны воздействия
Рис. 6.26.
Нежелательное влияние вершин одной ноги на вершины другой
Рис. 6.27.
Исправленная модель
Рис. 6.28.
Выпяченный участок
Рис. 6.29.
Модель с правильно сконструированной подмышкой
Дополнительные
инструменты деформации
Помимо метода
построения зон воздействия используются инструменты, позволяющие управлять формой
этих зон с учетом расположения элементов скелета и угла поворота сустава. Они
предназначены для имитации таких эффектов, как вздутие мускулов и растяжение
кожи, и прекрасно подходят для реалистичной анимации (рис. 6.30-6.31). Однако
их необязательно изучать начинающим аниматорам.
Рис. 6.30.
Модель мускулистой руки
Рис. 6.31.
Когда рука сгибается в локте, бицепс вздувается, как настоящий
Обычно большинство
инструментов деформации каркаса работает одинаково, независимо от того, к какому
геометрическому типу относится объект, на который оказывается воздействие. Инструменты
позволяют управлять вершинами, перемещая их согласно движению элементов скелета,
в результате чего поверхность модели деформируется. Для программы не имеет значения,
принадлежат ли вершины многоугольнику, патчу или поверхности иного типа. Однако
с полигональными и патч-моделями связаны некоторые особенности, которые следует
обсудить.
Деформация
многоугольников
Поверхность
полигональной модели с низким разрешением деформировать очень легко, но после
визуализации она выглядит неважно. Напротив, модель с высоким разрешением смотрится
прекрасно, но процесс ее деформации может оказаться весьма сложным. Поэтому
лучше сначала деформировать версию модели с небольшим количеством вершин (рис.
6.32), а затем выполнить операцию дробления граней и передать на визуализацию
модель с высоким разрешением каркаса (рис. 6.33). Если используемый пакет обладает
такой возможностью, просто вызовите окно с параметрами разрешения перед визуализацией
анимации.
Если же программа
не позволяет уплотнять каркас после деформации, предлагается другое решение.
При создании анимации манипулируйте замещающей моделью с низким разрешением.
По завершении работы модель с низким разрешением замените моделью с высоким
разрешением, используя полученные на предыдущем этапе параметры анимации, а
затем выполните визуализацию.
Это тот случай,
когда метод создания зон воздействия оказывается кстати. Если модель с уплотненным
каркасом является просто сглаженной версией модели с низким разрешением, то
созданные для нее зоны воздействия будут влиять на модель с высоким разрешением
практически так же, как и на исходную. Следовательно, разработчик сможет использовать
один и тот же скелет и одинаковые зоны воздействия в обоих случаях. Перед визуализацией
спрячьте вариант с низким разрешением и сделайте видимой сглаженную модель.
Применяя данный
метод, вы, вероятно, столкнетесь со многими проблемами. Чаще всего деформация
модели с высоким разрешением отличается от результата, полученного для несглаженного
варианта. Если, например, различия возникают при деформации кисти, то вместо
того, чтобы держать рюмку, пальцы персонажа будут проходить сквозь стекло.
Рис. 6.32.
Деформированная модель с низким разрешением
Рис. 6.33.
Модель, к которой применена операция дробления каркаса
Единственный
способ решения данной проблемы - тщательно проверять модель перед запуском фильма
в производство. Это самая важная составляющая часть успеха проекта. Тестируйте
движение героя, перемещая элементы скелета в максимально возможном диапазоне,
чтобы выявить и устранить проблемы до начала работы над анимацией. Чем меньше
отличается деформация модели с низким разрешением от деформации сглаженного
варианта, тем меньше уйдет времени на поиск недостатков. Известно, что на некоторых
вполне современных студиях аниматоров заставляют перемещать вершины в кадрах
вручную для исправления ошибок. В любом случае это не самая приятная работа.
Деформация
патчей
Поскольку
патчи определяют поверхность с переменной разрешающей способностью, необходимости
уплотнять каркас нет, то есть поверхность, составленную из патчей, можно визуализировать,
не опасаясь появления зубцов или искажения изображения. Большинство таких поверхностей
имеют простую конструкцию, поэтому их деформация производится довольно быстро.
Однако если
поверхность модели персонажа изобилует деталями, она может стать такой же сложной,
как и полигональная. В этом случае разработчику вновь потребуются два варианта
модели: с низким разрешением для анимации и с высоким разрешением для визуализации.
Проблемы, возникающие при одновременной работе с двумя вариантами модели, рассмотрены
в предыдущем разделе.
Самые большие
неприятности при работе с патчами на основе NURBS доставляют разработчику области
NURBS-сопряжений. Сопряжения -это участки поверхности, форма которых автоматически
рассчитывается таким образом, чтобы заполнить промежутки между двумя другими
поверхностями. Если эти две поверхности слишком активно движутся, сопряжение
может разрушиться или на нем появятся складки. Целесообразно располагать сопряжения
вне участков, на движение которых воздействуют элементы скелета. Не следует
создавать сопряжения непосредственно на плечах модели персонажа (см. главу 3).
Чтобы уменьшить степень деформации, разместите их на туловище.
Следует также
учесть, что расчет сопряжений требует долгих вычислений. Лучше скройте эти поверхности
на время анимации, благодаря чему работа над моделью персонажа значительно ускорится
(рис. 6.34); когда анимация будет готова, вновь сделайте сопряжения видимыми
(рис. 6.35).
Рис. 6.34.
Скрытые NURBS-сопряжения
Рис. 6.35.
Модель с визуализированными сопряжениями
Скелет
и сегментированная модель персонажа
Если модель
персонажа состоит из сегментов или частично сегментирована, для манипулирования
ею также можно использовав скелет. Для этого между отдельными сегментами и соответствующими
элементами скелета устанавливаются иерархические связи. В результате перемещения
скелета его элементы будут двигаться.
При использовании
цепочек прямой кинематики такой метод избыточен, поскольку элементами скелета
в данном случае можно управлять непосредственно. Если же установлены цепочки
инверсной кинематики, он вполне уместен.
В распоряжении
аниматора имеется множество методов деформации. Большинство из них используется
для деформирования отдельных частей, но при необходимости их можно применять
и к модели в целом.
Одним из наиболее
популярных инструментов является Lattice. Решетка - это массив точек,
обычно имеющий форму параллелепипеда, который окружает модель персонажа или
ее часть (рис. 6.36). В результате перемещения вершин решетки деформируется
требуемый фрагмент модели (рис. 6.37).
Решетки используют
во многих ситуациях: при анимации лица, в частности, для изменения разреза глаз
мультипликационных героев (см. главу 5); при имитации вздувшихся мускулов; при
деформации моделей простых персонажей, например, мешка с мукой (рис. 6.38-6.39).
Рис. 6.36.
Решетка, расположенная вокруг цилиндра
Рис. 6.37.
Изменение формы цилиндра в результате перемещения вершин решетки
Рис. 6.38.
Мешок с мукой, деформированный при помощи решетки
Рис. 6.39.
Перемещение мешка, вызванное анимацией решетки
Кластеры представляют
собой другой способ анимации формы модели. Попросту говоря, кластер - это совокупность
вершин. С помощью одного кластера можно управлять многими вершинами. В более
совершенных системах допускается установка весовых коэффициентов для вершин,
принадлежащих нескольким кластерам, что позволяет более точно управлять деформацией.
Кластеры многофукциональны:
кластер, связанный со скелетом, можно использовать как инструмент деформации,
управляемый скелетом; с их помощью имитируют вздувшиеся мышцы; при анимации
лица персонажа они управляют его чертами, например, бровями или языком.
Деформация
сплайна позволяет управлять формой объекта (рис. 6.40-6.41). В результате анимации
вершин управляющего сплайна осуществляется анимация объекта, например, воспроизводится
движение хвоста животного или персонажа, имеющего прическу «конский хвост».
Рис. 6.40.
Сплайн, расположенный над цилиндром
Рис. 6.41.
Деформация цилиндра, вызванная перемещением одной из вершин сплайна
Морфинг позволяет
одному объекту принять форму другого. Чаще всего этот метод используют при анимации
лица. Поскольку оно имеет чрезвычайно сложную форму, подготавливают необходимое
количество моделей с различными выражениями лица. Затем при помощи морфинга
достраиваются промежуточные изображения, позволяющие плавно перейти от одной
формы к другой.
Метод взвешенного
морфинга дает возможность использовать комбинацию нескольких исходных моделей
и получать объект с новыми очертаниями. При анимации лица данный метод позволяет
более точно управлять его чертами и выражением за счет подбора соответствующих
пропорций исходных моделей (подробнее см. главу 10).
Как видите,
скелет и другие инструменты деформации помогают вдохнуть жизнь в жесткий каркас
персонажа. Многие пакеты, которые используются для деформирования модели, имеют
инструменты, на первый взгляд, работающие одинаково, однако обладающие массой
специфических отличий. Необходимо тщательно проработать руководство по конкретному
программному обеспечению и изучить все тонкости его применения.
Если вы начинающий
аниматор, эти инструменты могут показаться вам весьма сложными, поэтому поначалу
старайтесь не использовать слишком детализированные модели. Новичку лучше начинать
с простых, легко деформируемых объектов.
Ваша цель - сконструировать модель, легко подвергаемую анимации. Иначе вы затратите массу усилий на приобретение необходимой сноровки. Лучше потратить больше времени на моделирование, чтобы затем сэкономить его при анимации.
Уроки анимации