Докладчик: Владимир Ческис, глава команды клиента на...

Post on 07-Jul-2015

434 views 7 download

description

Анимационная система Аллодов с точки зрения программиста, принимавшего участие в её реализации.

Transcript of Докладчик: Владимир Ческис, глава команды клиента на...

Владимир Ческис Глава команды клиента на проекте «Аллоды Онлайн»

www.mail.ru

Анимационная системаАллодов Онлайн

Анимационная система

• Серверные сообщения (атака)

• Скрипты (дизайн): что хотим увидеть.

• Анимационная система

• Рендер + Арт

• Итоговая картинка

Анимационная система – запуск анимаций, эффектов

в нужное время и в нужном месте.

www.mail.ru 2

Визуализация персонажей

www.mail.ru 3

Аниматоры( в С++ коде )

Покоя

Движения

Боя

Смерти

Визуальные

скрипты

(настраиваются

дизайнерами)

Creature

model

PlayAnimation(…)

PlayEffect (…)

Каналы анимаций, приоритеты

www.mail.ru 4

Аниматор боевой стойки

creature->PlayAnimation(…)

Аниматор атаки

creature->PlayAnimation(…)

Аниматор смерти

creature->PlayAnimation(…)

Каналы, режимы проигрывания анимаций

www.mail.ru 5

Время

Кан

алы

Боевой стойки

Атаки

Смерти

проигрывается циклически

1 раз 1 раз

застывает в последнем кадре

Контроллеры: расчленение персонажа

Удар на бегу

www.mail.ru 6

Контроллеры: верх и низ

www.mail.ru 7

Бег

Атака

Верхняя

половина

Нижняя

половина

Сверху атака, снизу – бег

Контроллеры - руки

www.mail.ru 8

Персонаж одновременно проигрывает доставание оружия и получение удара

Всевозможные настройки анимаций…

– Скорость

проигрывания

– Остановка, перемотка

– Выбор анимации в

зависимости от оружия

www.mail.ru 9

Проигрывание эффектов

www.mail.ru 10

Эффекты, запускаемые из кода

Эффекты, запускаемые из скриптов

Локатор – нужное место

www.mail.ru 11

Над головой

Под ногами

Руки

Кровь и т.п.

Ориентация, масштаб эффекта (оружия)

www.mail.ru 12

Масштаб

Ориентация

Всевозможные настройки эффектов…

www.mail.ru 13

– Перемещать ли с персонажем

– Алгоритмы определения ориентации

– Фиксировать ли размер

– Выключать ли при смерти персонажа

– Синхронизация с анимациями

Гиб-гиб-гиберлинги!

www.mail.ru 14

Гиберлинги: один персонаж == троица зверюшек.

Управление – как обычным персонажем.

Выстрел из лука Заслуженный отдых Смотри туда

Архианимации

www.mail.ru 15

Геройская смертьАрхианимация

(смещения и поворот гиберов )

Анимации членов троицы

Старая структура объектов

www.mail.ru 16

Аниматоры( в С++ коде )

Покоя

Движения

Боя

Смерти

Визуальные

скрипты

(настраиваются

дизайнерами)

Creature

model

PlayAnimation(…)

PlayEffect (…)

Новая структура объектов

www.mail.ru 17

IVisualCreature

virtual … PlayAnimation(…) = 0;

virtual … PlayEffect (…) = 0;

VisualCreature простая

model

PlayAnimation(…)

PlayEffect (…)

VisuaCreature

группы (гиберлингов)

массив IVisualCreature

PlayAnimation(…)

PlayEffect (…)

VisualCreature

всадник на коне

всадник, конь

PlayAnimation(…)

PlayEffect (…)

Новая структура объектов

www.mail.ru 18

Аниматоры( в С++ коде )

Покоя

Движения

Боя

Смерти

Визуальные

скрипты

(настраиваются

дизайнерами)

Creature

pVisualCreature

PlayAnimation(…)

PlayEffect (…)

// сесть на коня

SetMount(… )

pVisualCreature->PlayAnimation(…)

pVisualCreature->PlayEffect(…)

//Устанавливаем «всадник на коне»

pVisualCreature = …

Визуальные скрипты

www.mail.ru 19

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

иных ситуациях.

Визуальные скрипты «Аллодов Онлайн» могут создаваться и редактироваться

художниками, дизайнерами игры без изменения программного кода.

Далее:

• Пример: визуальный скрипт выстрела из лука.

• Основные конструкции визуальных скриптов «Аллодов Онлайн»

• Создание скриптов с помощью прототипов и переменных.

Выстрел из лука

www.mail.ru 20

Рассмотрим выстрел из лука «ледяной» стрелой:

«Запчасти» выстрела 1

www.mail.ru 21

Подготовка к стрельбе Выстрел

Анимации персонажа

(доставание стрелы и натяжение тетивы)

«Запчасти» выстрела 2

www.mail.ru 22

Натяжение Выстрел

Анимации лука

«Запчасти» выстрела 3

www.mail.ru 23

Заряд стрелы «Ледяной» взрыв

Эффекты для «ледяной» стрелы

Визуальный скрипт выстрела

www.mail.ru 24

1. Список команд, выполняющихся последовательно.

2. Персонаж проигрывает

анимацию подготовки

выстрела.

7. Список команд, выполняющихся параллельно.

8. «Отпустить» тетиву.

9. «Отпустить» стрелу.

10. Персонаж проигрывает анимацию выстрел.

11. Лук проигрывает анимацию выстрел.

12. Стрела летит и «взрывается».

Время

4. Список команд, выполняющихся параллельно.5. «Взять в руку» тетиву.

6. Лук проигрывает анимацию натяжение.

1-й ключ 2-й ключ

3. «Взять в руку» стрелу.

Выстрел из лука

www.mail.ru 25

Структура виз. скриптов

www.mail.ru 26

Команды виз. скриптов – детали конструктора.

Дизайнер конструирует из них визуализацию события.

… последовательно

Время

Список команд, выполняющихся…

… параллельно

клю

ч

Анимация

клю

ч

Переход команды в фоновый режим

… пока

Описание виз. скриптов

www.mail.ru 27

Скрипт в виде XML файла: Редактирование в PropertyGrid:

Прототипы и переменные

www.mail.ru 28

Прототип выстрела

заряженной стрелой:Ледяная стрела:

Огненная стрела:

И так далее…

Владимир ЧескисГлава команды клиента

на проекте «Аллоды Онлайн»

департамент клиентских игр

cheskis@corp.mail.ru

СПАСИБО!

www.mail.ru

Mail.Ru

Разработчик игр и сервисов №1

Крупнейший работодатель в отрасли

Работайте у нас!

job.gamedev@corp.mail.ru

http://corp.mail.ru/career/vacancies/voronezh