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


Управление структурой объектов, при помощи скелета.



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




Государственное образовательное учреждение

Высшего профессионального образования

Ульяновский Государственный Университет

 

Факультет Математики и Информационных технологий

Кафедра Телекоммуникационных технологий и сетей.

 

 

Реферат на тему:

Скелетная анимация с использованием шейдеров.

 

Информационные Системы и технологии. - 230201.65

--------------------------------------------------------------------------------------

 

Работу выполнил студент _ИС-31____  ________   _Царапкин  А.М.____

                                          группа             подпись, дата                Ф.И.О.

 

              Преподаватель              __________   _________     ____Мальцев Д.А.__

                                    должность         подпись, дата                Ф.И.О.

 

 

                                                                                              _________________

                                                                                                                                                  оценка

 

 

У Л Ь Я Н О В С К

2011 г.

Содержание

Введение. Анимация в играх.………………….………………………………….3

Скелет, как иерархия трансформаций…………………………………………..3

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

Управление структурой объектов, при помощи скелета.…………………….5

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

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

Анимация персонажей.…………………………………………………………….7

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

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

Шейдеры………………………………………………………………………….….9

Использование вершинных шейдеров для ускорения расчётов……………10

Совместное использование VBO и шейдеров…………………………............11

Вершинный шейдер………….………………………………………………..….12

Заключение……………………………………………………………………..….14

Список литературы..………………………………………………………….…..15

Введение. Анимация в играх.

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

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

Скелет, как иерархия трансформаций.

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

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

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

Оторопев от такого поворота, многие скелеты, просто рассыпаются в тряске, потеряв всю целостность своих иерархий.

Ясно, что движение родительской кости порождает движение дочерней кости. Например, если вы даёте вращение шее, то голова тоже поворачивается. В этом примере родителем для головы является шея. В свою очередь спина является родителем для шеи, то есть если мы согнём спину, то шея и голова поменяют своё положение. [1]

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

Все кости в скелете задаются своими локальными трансформациями. Но для конечного использования нам необходимо вычислить все абсолютные трансформации. Это и есть просчёт скелета.

Трансформации в 3-х мерной графике принято задавать матрицами. Обычно это матрицы размерности 4x4 или 4x3.

На примере руки, рассмотрим простейшую иерархию, состоящую из двух костей. На рисунке кость A является родителем кости B. Допустим, у нас уже вычислена абсолютная трансформация для кости A, матрицу этой трансформации обозначим через МА абс. Чтобы найти абсолютную трансформацию для кости B, необходимо подействовать на локальную матрицу трансформации MB лок кости В матрицей MA абс. Другими словами — просто умножить:

MB абс = MB лок x MA абс

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

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

Сама анимация может либо браться из готовых просчитанных заранее положений каждой кости, либо вычисляться процедурно, например, при использовании инверсной кинематики. [1]

Управление структурой объектов, при помощи скелета.

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

Механизмы могут быть более сложными. Например, таким образом можно выстроить систему управления сложными роботами. [1]



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









Обсуждение в статье: Управление структурой объектов, при помощи скелета.

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

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

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



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

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

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

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

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

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



(0.009 сек.)