Опыт разработки анимационной системы в Action играх Красногор Антон программист КОНФЕРЕНЦИЯ РАЗРАБОТЧИКОВ КОМПЬЮТЕРНЫХ ИГР Апрель 2-3, 2005 Москва, Россия Барнев Павел аниматор
Предисловие. Прежде всего личный опыт! Важность гибкой анимационной системы, особенно в action играх. Наши изыскания, эволюция нашей системы.
Движок Свой собственный движок или нет? RenderWare плюсы и минусы. Расширение возможностей RenderWare.
Интерполяция кватернионов Линейная интерполяция. Сферическая линейная интерполяция. Сферическая кубическая интерполяция. Spline интерполяция. Когда какую интерполяцию использовать? Возможность LOD анимаций, но нужно ли это?
Анимационные состояния Простое анимационное состояние. Комплексное анимационное состояние (микширование анимаций).
Анимационные состояния. Микширование анимаций. Мощное и гибкое средство, открывает огромные возможности. Позволяет эмулировать IK.
Анимационные состояния. Простые и микшированные состояния
Стыковка анимаций Бленд между анимационными состояниями. Качество бленда – качество анимации в игре.
Виды блендов Stop blend. Анимационные состояния замораживаются. Non stop second. Замораживается только первое анимационное состояние. Non stop first. Замораживается только второе анимационное состояние. Non stop. Оба анимационных состояния продолжают функционировать.
Виды блендов. No blend. Переключение без бленда.
Виды блендов. No blend. Переключение без бленда.
Виды блендов. Stop blend. Анимационные состояния замораживаются.
Виды блендов. Stop blend. Анимационные состояния замораживаются.
Виды блендов. Non stop second/first. Замораживается только одно из состояний.
Виды блендов. Non stop first. Замораживается только одно из состояний.
Виды блендов. Non stop second. Замораживается только одно из состояний.
Виды блендов. Non stop. Оба анимационных состояния продолжают работать.
Виды блендов. Non stop. Оба анимационных состояния продолжают работать.
Первая реализация. Простые и комплексные состояния(стэйты). Общая схема логической работы для всех анимационных объектов Система анимационных наборов. Редактор анимаций. Описание каждой анимации скрипт файлом.
Удачные идеи. Оптимизация анимаций, удаление лишней информации, и дальнейшая доработка этой идеи. Main, End Position, Hips Position, что это такое и как оно используется.
Удачные идеи. Оптимизация анимаций.
Удачные идеи. Main, End Position, Hips Position.
Удачные идеи. Main, End Position, Hips Position.
Удачные идеи. Main, End Position, Hips Position.
Удачные идеи. Main, End Position, Hips Position.
Первая реализация. Простые и комплексные состояния (стэйты).
Первая реализация. Пример анимационной схемы. Функция обработки анимационного режима Состояние Условие
Первая реализация. Систему анимационных наборов.
Первая реализация. Редактор анимаций.
Первая реализация. Описание каждой анимации скриптом.
Первая реализация. Выводы. Интеграцией всей анимации занимался программист. Наглядной схемы функционирования анимаций не было. Все в голове у программиста. Одна анимационная схема для всех объектов. Аниматору сложно сделать предварительный просмотр результатов работы. Чем больше анимаций и состояний, тем сложнее проследить связи между ними. Каша. Тратится много времени на внедрение новых анимаций в игровой движок. Сложное взаимодействие AI с анимационными состояниями.
Требования к новой системе. Каждому объекту возможность создать свою анимационную схему, долой общую схему! Необходимость визуального редактирования анимационных схем. Легкое внедрение новых анимаций в игровой движок самим аниматором. С последующей их доводкой и тюнингом. Более прозрачное для AI управление анимациями. Сделать анимационную схему более читабельной и понятной.
Вторая реализация. MS Visio - редактор анимационных схем. Удобная архитектура. Интуитивно понятный интерфейс. Легкое экспортирование данных схемы во внутренний движковый формат. Легко расширяется и дополняется новыми элементами и связями. Легкая читабельность громоздких анимационных схем.
Вторая реализация. Понятие логических сигналов (eventов). Система генерации логических сигналов. Системные события Глобальные события Игровые события Анимация закончилась Смерть Попадание Критическое попадание Отсутствует твердь под ногами Комманда атаки Комманда прыжка Комманда бега Смена оружия Перезарядить оружие
Вид анимационной схемы в MS Visio. Общая схема.
Вид анимационной схемы в MS Visio. Схема без подавтоматов.
Вид анимационной схемы в MS Visio. Схема подавтомата.
Вторая реализация. Выводы. Удобное представление анимационных схем, их легкое редактирование и последующее внедрение в движок, самим аниматором. Были введено понятие логических событий, для возможности перехода между состояниями. AI легко работает с анимационными состояниями. Предсказуемость системы. Легкий поиск логических ошибок. Избыточное количество явно лишних соединений. Присутствие сложных неуправляемых через схему состояний - комплексных.
Система интерактивного редактирования.
Пример подавтомата, состоящего из комлексных состояний.