Мегаобучалка Главная | О нас | Обратная связь


Преимущества скелетной анимации.



2019-12-29 147 Обсуждений (0)
Преимущества скелетной анимации. 0.00 из 5.00 0 оценок




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

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

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

Кроме того, к преимуществам можно отнести эффективное использование скелетной анимации, описанное ниже. [1]

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

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

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

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

Использование шарнирных соединений ведёт к более низким затратам на хранение анимации. [1]

Шейдеры

Нынешнее графическое железо предоставляет пользователю возможность замены некоторых частей графического конвейера шейдером. Шейдер — это специальная программа, которая использует определенные программируемые регистры видеокарты для создания различных графических эффектов. Более новые видео-карты обеспечивают расширенные возможности программируемости шейдеров: огромное количество инструкций, динамическое ветвление и т.д. [2]

Шейдер - это программа для процессора графической карты (GPU), выполняющая специфические задачи, заменяя соответствующие блоки FFP.Есть два типа таких программ (шейдеров):

Вершинный шейдер (в OpenGL - вершинная программа) - это программа для вершинного процессора, обрабатывающая вершинные данные.

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

Программы можно писать на асм-подобных языках или на шейдерных языках высокого уровня, например: HLSL, GLSL или Cg. Синтаксис шейдерной программы очень похож на синтаксис языка C. [4]

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

Есть два вида видеокарт - с индексом MX и FX, так вот МХ шейдеры не поддерживает, а FX да. Образно говоря, в играх, особенно с быстро меняющимся сюжетом, например, автогонки, без шейдеров задний план постоянно как бы прорисовывается, с шейдерами задний план висит постоянно, увеличивается как бы глубина изображения. И чем больше шейдеров поддерживает видеокарта, тем приятнее глубина резкости изображения дальнего плана. Некоторые навороченные игрушки с движком такого плана, где надо поддерживать дальний план местности, вообще не запускаются или запускаются с ужасно искаженной графикой без поддержки шейдеров. [ 3]



2019-12-29 147 Обсуждений (0)
Преимущества скелетной анимации. 0.00 из 5.00 0 оценок









Обсуждение в статье: Преимущества скелетной анимации.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (147)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)