Разработка системы анимации персонажей автор: Загарских Александр Сергеевич

реклама
Разработка системы
анимации персонажей
автор:
Загарских Александр Сергеевич
Научный руководитель:
Безгодов Алексей Алексеевич
Предметная область
• Тренажеры и
симуляторы
• Игры
• Интерактивные
галереи
• Особенности:
– Время расчета кадра
< 30-50 мс
2
Способы задания трёхмерных
моделей
3
Анимация
• Анимация –
последовательность
визуальных изображений,
воспроизведенных с
определенной частотой.
• Виды анимации:
– Анимация по ключевым кадрам
– Процедурная анимация
• Способы задания анимации:
– Повершинная
– Скелетная
4
Скелетная анимация
• Скелет
• Скининг
• FK - IK
5
Цель работы
• Изучить существующие методы создания, задания и
воспроизведения анимации
• Спроектировать систему анимации
человекоподобного персонажа для системы
виртуальной реальности
• Реализовать систему анимации, провести ряд мер по
оптимизации системы
• Наметить дальнейшие пути развития системы
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
Инструмент для создания
анимации
• Autodesk Maya 2008
– Легко расширяемый
интерфейс
• Собственноручно
разработанный plug-in
для экспорта геометрии
и анимации
8
Программная реализация
• Состоит из
следующих систем:
–
–
–
–
–
–
Графической
Физической
Геометрической
Игровой
Звуковой
Скриптовой
• Middleware:
–
–
–
–
–
–
–
Direct3D 9
HLSL
PhysX
rapid_xml
OpenMaya
FMOD
Lua
• 2.6 Mb code
• 150 Mb art
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>
<shading_groups>
<shading_group start="0" num="4" shader="*color7F7F7FFF"/>
</shading_groups>
<joints>
<joint name="joint1" parent="-1" p="x y z" orient="w x y z" def_p="x y z" def_orient="w x y z" bind_orient="w 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
• Прицеливание персонажа
осуществляется с помощью вращения
специального сочленения
14
Аттачинг
• Оружие которое держит персонаж
крепится к скелету с помощью
дополнительного сочленения идущего
от кисти руки
15
Результаты и выводы
• Изучены существующие методы создания, задания и
воспроизведения анимации
• Спроектирована и реализована система анимации
человекоподобного персонажа для системы
виртуальной реальности
• Дальнейшие пути развития системы
– Инверсная кинематика (IK)
– Полностью процедурная анимация персонажа на базе IK
– Перенос вычислений на GPU
16
Вопросы?
17
Скачать