29
Владимир Ческис Глава команды клиента на проекте «Аллоды Онлайн» www.mail.ru Анимационная система Аллодов Онлайн

Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

  • Upload
    -

  • View
    434

  • Download
    7

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru

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

Page 2: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

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

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

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

• Рендер + Арт

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

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

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

www.mail.ru 2

Page 3: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 3

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

Покоя

Движения

Боя

Смерти

Визуальные

скрипты

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

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

Creature

model

PlayAnimation(…)

PlayEffect (…)

Page 4: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 4

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

creature->PlayAnimation(…)

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

creature->PlayAnimation(…)

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

creature->PlayAnimation(…)

Page 5: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 5

Время

Кан

алы

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

Атаки

Смерти

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

1 раз 1 раз

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

Page 6: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

Удар на бегу

www.mail.ru 6

Page 7: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 7

Бег

Атака

Верхняя

половина

Нижняя

половина

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

Page 8: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 8

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

Page 9: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

– Скорость

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

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

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

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

www.mail.ru 9

Page 10: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 10

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

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

Page 11: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 11

Над головой

Под ногами

Руки

Кровь и т.п.

Page 12: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 12

Масштаб

Ориентация

Page 13: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 13

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

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

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

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

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

Page 14: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 14

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

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

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

Page 15: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 15

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

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

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

Page 16: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 16

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

Покоя

Движения

Боя

Смерти

Визуальные

скрипты

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

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

Creature

model

PlayAnimation(…)

PlayEffect (…)

Page 17: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 17

IVisualCreature

virtual … PlayAnimation(…) = 0;

virtual … PlayEffect (…) = 0;

VisualCreature простая

model

PlayAnimation(…)

PlayEffect (…)

VisuaCreature

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

массив IVisualCreature

PlayAnimation(…)

PlayEffect (…)

VisualCreature

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

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

PlayAnimation(…)

PlayEffect (…)

Page 18: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 18

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

Покоя

Движения

Боя

Смерти

Визуальные

скрипты

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

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

Creature

pVisualCreature

PlayAnimation(…)

PlayEffect (…)

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

SetMount(… )

pVisualCreature->PlayAnimation(…)

pVisualCreature->PlayEffect(…)

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

pVisualCreature = …

Page 19: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 19

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

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

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

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

Далее:

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

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

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

Page 20: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 20

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

Page 21: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 21

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

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

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

Page 22: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 22

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

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

Page 23: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 23

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

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

Page 24: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 24

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

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

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

выстрела.

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

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

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

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

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

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

Время

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

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

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

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

Page 25: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 25

Page 26: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 26

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

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

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

Время

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

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

клю

ч

Анимация

клю

ч

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

… пока

Page 27: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 27

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

Page 28: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

www.mail.ru 28

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

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

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

И так далее…

Page 29: Докладчик: Владимир Ческис, глава команды клиента на проекте «Аллоды Онлайн»

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

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

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

[email protected]

СПАСИБО!

www.mail.ru

Mail.Ru

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

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

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

[email protected]

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