Скелетная анимация автор: Загарских Александр Сергеевич Научный руководитель:

advertisement
Скелетная анимация
автор:
Загарских Александр Сергеевич
Научный руководитель:
Безгодов Алексей Алексеевич
Цель работы
• Изучить существующие методы создания, задания и
воспроизведения анимации
• Спроектировать систему анимации
человекоподобного персонажа для системы
виртуальной реальности
• Реализовать систему анимации
• Наметить дальнейшие пути развития системы
2
Предметная область
• Тренажеры и
симуляторы
• Игры
• Интерактивные
галереи
• Особенности:
– Время расчета кадра
< 30-50 мс
3
Способы задания трёхмерных
моделей
4
Анимация
• Анимация –
последовательность
визуальных изображений,
воспроизведенных с
определенной частотой.
• Способы задания анимации:
– Повершинная
– Скелетная
• Виды анимации:
– Анимация по ключевым кадрам
– Процедурная анимация
5
Скелетная анимация
• Скелет
• Скининг
• FK – IK
FK – forward kinematic
IK – inverse kinematic
6
Математические основы
скелетной анимации
Математическое представление сочленения
jx  ( P, q, dP, dq, j);
Математическое представление вершины
•V   P, n, j1 , j2 , j3 , j4 , w1 , w2 , w3 , w4  ;
Скининг
4
P   orient ( ji )   bind _ orient ( ji )  (bind _ position(V )  bind _ position( ji ))   position( ji )   wi ;
i 1
Скининг для GPU
P  bind _ position(V )  M;
M  T1  R1  T2  R 2 ;
7
Программная реализация
• Состоит из
следующих систем:
–
–
–
–
–
–
Графической
Физической
Геометрической
Игровой
Звуковой
Скриптовой
• Middleware:
–
–
–
–
–
–
–
Direct3D 9
HLSL
PhysX
rapid_xml
OpenMaya
FMOD
Lua
• 2.6 Mb code
• 150 Mb art
8
Инструмент для создания
анимации
• Autodesk Maya 2008
– Легко расширяемый
интерфейс
• Собственноручно
разработанный plug-in
для экспорта геометрии
и анимации
9
ESX – формат файла для хранения
моделей и анимации
<scene>
<scene_node name="world" class="" affector="" position="0 0 0 1" orient="0 0 0 1">
<scene_node name="pPyramid1" class="mesh" affector="" position="0 0 0 1" orient="0 0 0 1">
<mesh>
<vertices>
<vertex p="x y z" n="x y z" c0="1 0 0 1" uv0="u v" jw="w1 w2 w3 w4" ji="j1 j2 j3 j4"/>
...
</vertices>
<triangles>
<triangle inds="0 1 2"/>
...
</triangles>
<joints>
<joint name="joint1" parent="-1" p="x y z" orient="w x y z" def_p="x y z" bind_pos="x y z" cons_min="α β γ" cons_max=" α
β γ "/>
...
</joints>
</mesh>
</scene_node>
</scene_node>
</scene>
10
DFD в системе анимации
Maya
Plug-in
Input
System
Geometry
Engine
Game
Rendering
Engine
PhysX
11
Объект персонажа
• Объект персонажа –
часть игровой системы
• Состояния объекта:
–
–
–
–
–
–
–
Бег
Бездействие
Стрельба
Прыжок
Падение
Ранение
Смерть
Анимация бездействия
Анимация бега
12
Физика тряпичной куклы
(RagDoll)
• Физика
• Генерация лимбов
• Настройка сочленений
13
Результаты и выводы
• Изучены существующие методы создания, задания и
воспроизведения анимации
• Спроектирована и реализована система анимации
человекоподобного персонажа для системы
виртуальной реальности
• Дальнейшие пути развития системы
– Инверсная кинематика (IK)
– Полностью процедурная анимация персонажа на базе IK
– Перенос вычислений на GPU
14
Download