Компьютерная анимация
 
Скелетная анимация
Скелетный расчёт
Вершинная деформация объектов
Skinning. Деформация полигональной модели скелетом
Эффективное использование скелетной анимации.
Процедурная анимация
Примеры
2.02M
Category: informaticsinformatics

Компьютерная анимация

1. Компьютерная анимация

2.

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

3.

Компью́терная анима́ция — вид мультипликации, создаваемый
при помощи компьютера. В отличие от более общего
понятия «графика CGI», относящегося как к неподвижным, так и к
движущимся
изображениям,
компьютерная
анимация
подразумевает только движущиеся. На сегодня получила широкое
применение как в области развлечений, так и в производственной,
научной и деловой сферах. Являясь производной от компьютерной
графики, анимация наследует те же способы создания
изображений:
Векторная
графика,
Растровая
графика
Фрактальная графика Трёхмерная графика (3D)

4.

Рисованная мультипликация возникла в конце XIX —
начале XX веков.
Изначально, каждый кадр рисовался отдельно и полностью,
что было очень трудоёмко и отнимало много времени даже у
большого коллектива художников.
Затем была придумана послойная техника рисования
объектов и фонов на прозрачных плёнках, накладываемых
друг на друга. На одном слое можно было разместить задний
фон, на другом — неподвижные части тел персонажей, на
третьем — подвижные и т. д. Это значительно уменьшило
трудоёмкость работ, так как не нужно было рисовать каждый
кадр с нуля. Впервые послойную технику применил Уолт
Дисней.

5.

Достоинством
рисованной
мультипликации
является
её
техническая простота (в пределе достаточен показ самих рисунков,
не
требуется
даже
кинооборудование).
Изготовление
полноценного 24-фазного мультфильма является крайне
длительным и трудоёмким процессом, поэтому в послевоенный
период получила развитие так называемая «редуцированная»
мультипликация с использованием статичных кадров и
упрощённой до 4-х кадров в секунду фазовки.
В настоящий момент большинство рисованных фильмов
производится в Японии (см. Аниме). Студии Уолта Диснея либо
закрыты, либо переведены на 3D-технологию. Но большое
количество мультсериалов продолжают делать по этой технологии.

6.

Ограни́ченная
(лимитированная)
мультиплика́ция
(редуцированная) — набор приёмов и методов, при помощи которых
возможно существенное сокращение времени и затрат при
создании мультипликации. Ограниченная мультипликация активно
используется при создании телевизионных мультсериалов.
Первые приёмы ограниченной мультипликации включают в себя:
•отсутствие промежуточной мультипликации (фазовки) —
различные состояния объекта (например, эмоции на лице персонажа)
сменяют друг друга моментально;
•зацикливание нескольких кадров с целью создания видимости
непрерывного движения;
•сохранение бо́льшей части изображения неизменным с
перерисовкой лишь отдельных частей;
•«раскладка» персонажей и объектов послойно на группы для
последующей мультипликации отдельных слоёв (анимированные
положения губ на неподвижном лице, анимированные глаза и т. д.);

7.

•копирование анимационного материала — к примеру,
масштабирование объекта, выполненное с помощью данной
технологии, позволяло уменьшить затраты на рисование фаз
приближения/отдаления
объекта.
Также
при
помощи
копировального аппарата создавались толпы и массовки
персонажей;
•«отзеркаливание» анимационного материала (что позволяет
обойтись без повторной отрисовки зеркального варианта);
•упрощённое изображение человеческих лиц и фигур, преобладание
симметричных построений (см. предыдущий приём).
Ко вторичным приёмам упрощения мультипликации можно отнести:
•активное использование диалогов для заполнения хронометража
фильма;
•активное использование панорамирования и масштабирования;
•преобладание крупных и средних планов персонажей (что
позволяет существенно сократить время и затраты на отрисовку
фонов)

8.

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

9.

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

10.

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

11.  

Скелетная анимация — способ анимирования трёхмерных
моделей в мультипликации и компьютерных играх.
Заключается в том, что мультипликатор или моделер создаёт скелет,
представляющий собой как правило древообразную структуру
костей, в которой каждая последующая кость «привязана» к
предыдущей, то есть повторяет за ней движения и повороты с
учётом иерархии в скелете. Далее каждая вершина модели
«привязывается» к какой-либо кости скелета. Таким образом, при
движении отдельной кости двигаются и все вершины, привязанные
к ней. Благодаря этому задача аниматора сильно упрощается,
потому что отпадает необходимость анимировать отдельно каждую
вершину модели, а достаточно лишь задавать положение и поворот
костей скелета.
Также благодаря такому методу сокращается и объём информации,
необходимой для анимирования. Достаточно хранить информацию
о движении костей, а движения вершин высчитываются уже исходя
из них.

12.

Скелетная анимация с развесовками представляет собой более
продвинутый вариант скелетной анимации, в ней каждая
вершина модели может быть связана не с одной, а с
несколькими костями. При этом для каждой кости определяется
свой вес, то есть величина влияния этой кости на перемещение
вершины. Чем больше вес какой-то кости, тем сильнее вершина
смещается под её влиянием.
Благодаря развесовкам можно анимировать плавные изгибы
поверхностей, движения тканей, флаги и т. п. вещи.
Скелетная анимация двумерных моделей
Также скелетная анимация как технология используется в
двумерной компьютерной мультипликации, например, в
векторном
редакторе
мультипликации
Anime
Studio (бывшая Moho) или открытом Synfig Studio. Принцип
действия
такой
же:
отдельные
фрагменты
модели
«привязываются» к костям, и далее мультипликатор, вместо того
чтобы отрисовывать модель в каждом кадре, задаёт движения
костям. Модель персонажа двигается, повторяя движения
скелета.

13. Скелетная анимация

Иерархией объектов, можно назвать систему объектов, в которой
одни объекты своим расположением в пространстве влияют на
расположение других объектов. Вводится понятие родительских и
дочерних объектов и взаимосвязей между ними. Другими словами,
скелет можно определить как совокупность костей. Именно поэтому
скелетную анимацию также называют костевой.
Абсолютная трансформация родительской кости порождает некую
координатную систему. Эта координатная система является
локальной для дочерней кости. Дочерняя кость задаётся локальной
трансформацией в этой системе. Поэтому изменение трансформации
родительской кости влечёт влияние на абсолютную трансформацию
дочерней.

14.

Дочерняя кость, в свою очередь, может иметь свою дочернюю кость,
причем не одну, относительно которой она уже является
родительской. Ясно, что и родительская кость, тоже может иметь
своего родителя. Родитель, который не имеет родителя, является
корневым (root), а его локальная система координат является
абсолютной.
Ясно, что движение родительской кости порождает движение
дочерней кости. Например, если вы даёте вращение шее, то голова
тоже поворачивается. В этом примере родителем для головы
является шея. В свою очередь спина является родителем для шеи, то
есть если мы согнём спину, то шея и голова поменяют своё
положение.

15. Скелетный расчёт

Все кости в скелете задаются своими локальными трансформациями. Но для конечного
использования нам необходимо вычислить все абсолютные трансформации. Это и есть
просчёт скелета.
Трансформации в 3-х мерной графике принято задавать матрицами. Обычно это матрицы
размерности 4x4 или 4x3.
На примере руки, рассмотрим простейшую иерархию, состоящую из двух костей. На рисунке
кость A является родителем кости B. Допустим, у нас уже вычислена абсолютная
трансформация для кости A, матрицу этой трансформации обозначим через МАабс . Чтобы
найти абсолютную трансформацию для кости B, необходимо подействовать на локальную
матрицу трансформации MBлок кости В матрицей МАабс. Другими словами- просто умножить:
MB абс = MB лок x MA абс
Поскольку у корневой кости абсолютная матрица совпадает с локальной, просчёт абсолютных
матриц костей всего скелета происходит, начиная от корневой кости, по цепочкам от
родительской к дочерним костям, и так до самых последних в иерархии костей.
Если какая-то кость поменяла своё расположение в пространстве, то есть изменилась её
абсолютная матрица трансформации, то требуется заново сделать пересчёт всех дочерних
костей.

16. Вершинная деформация объектов

Кроме анимации механизмов, часто встречаются более сложные анимации,
требующие не простого перемещения объектов, а их деформацию. Речь идёт об
изменение формы цельного полигонального объекта. Анимация такой деформации
достигается движением вершин полигонального объекта.
Допустим, рассматривается движение руки персонажа. У нас есть два положения начальное и конечное. Каждая вершина имеет своё начальное и конечное
положение в пространстве. Для тех вершин, которые имеют некоторое
перемещение, мы задаём траекторию движения этих вершин. Часто используемым
методом задания анимации персонажей является построение промежуточных
отображений (tweening) между изменениями объекта. То есть, к примеру, можно
для каждого кадра анимации хранить копии одного и того же объекта с
небольшими изменениями, а во время проигрывания анимации интерполировать
каждую вершину между этими копиями.

17. Skinning. Деформация полигональной модели скелетом

Анимация вершин заменяется невидимой иерархией анимированных костей, которые
перемещают вершины.
Здесь геометрия - это полигональная модель вашего объекта или персонажа. Модель
представляется одной цельной полигональной моделью, которая деформируется под
действием костей. Происходит деформация геометрии на уровне вершин под
влиянием костей. Иногда ограничиваются только использованием влияния на любую
вершину какой-то одной кости. Однако такой метод является не очень эффективным.
Появляются артефакты, заметные на глаз, при неправильном "захлёсте" геометрии.
С некоторыми такими артефактами
удаётся бороться добавлением
дополнительных промежуточных
небольших костей. Однако, при
использовании возможности влияния на
одну вершину несколькими костями,
достигается большая эффективность и
реалистичность. Степень влияния задаётся
коэффициентом, который называется
весом (weight). Ясно, что сумма всех таких
коэффициентов для одной вершины
должна быть равна 1.

18. Эффективное использование скелетной анимации.

Один из типов соединений между костями,
шарнирные связи. В шарнирных соединениях
конечная точка одной кости вращается вокруг
какой-то
статической
точки.
Приятной
особенностью такой связи является то, что для
перемещения каждой кости в новую позицию
задаётся только вращение. Итак, можно
предоставить простой способ представления
скелета. Имеется иерархия костей. Каждая кость
имеет локальный набор информации - длину и
вращение. По договорённости, каждая кость
выровнена по оси X. Конечная точка кости
находится на оси X и смещена по ней на длину
кости.
Относительная
матрица
вращения
вычисляется из локального значения вращения
текущей кости, а перемещение является сдвигом
на длину родительской кости по X-координате в
локальной
системе
координат
родителя.
Использование шарнирных соединений ведёт к
более низким затратам на хранение анимации.

19. Процедурная анимация

Процедурная анимация (англ. procedural animation) —
вид компьютерной анимации, который автоматически
генерирует анимацию в режиме реального времени согласно
установленным правилам, законам и ограничениям. В отличие
от предопределённой анимации, когда аниматор вручную
определяет каждый кадр и все параметры создаваемой
анимации, при процедурной анимации результат может быть в
некоторой мере непредсказуем и при каждом запуске может
генерировать разнообразную анимацию.
Процедурная анимация используется для создания и
моделирования системы частиц (дым, огонь, вода[1] [2]), ткани
и одежды, динамики твёрдых тел, динамики волос и меха, а
также для анимации гуманоидных и негуманоидных
персонажей.

20.

В компьютерных играх процедурная анимация часто используется
для таких простых вещей, как поворачивание головы персонажа,
когда игрок озирается по сторонам (например, в игре Quake III
Arena).
Физика Ragdoll (рус. физика «тряпичной куклы») может считаться
видом
процедурной
анимации.
Физика
Ragdoll
использует физический движок для создания анимации смерти
персонажа и его реалистичного падения на поверхность. При
использовании
физики
Ragdoll
персонаж
состоит
из
последовательности связанных твёрдых тел (руки, ноги, торс,
голова и т. д.), которые запрограммированы с использованием
ньютоновой физики, действующей на них. Благодаря физике
Ragdoll могут быть созданы очень реалистические анимации,
которые очень сложно создать, используя традиционную
предопределённую анимацию. Например, с использованием
физики Ragdoll тела персонажей могут катиться или скользить по
наклонным поверхностям, переворачиваться, кувыркаться и т. д.,
причём каждый раз анимация будет другой.

21.

Процедурная анимация интенсивно используется в компьютерной
игре Spore, в которой созданные игроком существа автоматически
анимируются для всех действий, которые должно делать созданное
существо: ходьба, бег, плавание, подбирание вещей и т. д.
Ещё одним явным примером процедурной анимации является
технология «Dynamic Motion Synthesis» (рус. синтез динамических
движений), которая разработана NaturalMotion и используется в
продуктах euphoria и endorphin. «Dynamic Motion Synthesis» (DMS)
основан на моделировании биомеханикии моторной нервной
системы в режиме реального времени. Также DMS использует
элементы из биологии и теории управления роботами. DMS
позволяет создавать модели полностью интерактивных трехмерных
персонажей, которые не используют заранее просчитанную
анимацию. «euphoria» использует DMS для генерации анимации
«на лету» в режиме реального времени в компьютерных играх или
других интерактивных приложениях. Технология «euphoria»
используется в играх Star Wars: The Force Unleashed, Indiana Jones
and the Staff of Kings, Max Payne 3, Grand Theft Auto IV и его аддонах,
а также в симуляторе американского футбола Backbreaker.

22. Примеры

Создание персонажа для flash-игры.
http://www.youtube.com/watch?v=THfoSp0ij4
Y
Скелетная анимация Сергей Ваткин
http://wat.gamedev.ru/articles/SkelAnim1
English     Русский Rules