🗊 Презентация Эффективная система анимаций для Nintendo DS

Нажмите для полного просмотра!
Эффективная система анимаций для Nintendo DS, слайд №1 Эффективная система анимаций для Nintendo DS, слайд №2 Эффективная система анимаций для Nintendo DS, слайд №3 Эффективная система анимаций для Nintendo DS, слайд №4 Эффективная система анимаций для Nintendo DS, слайд №5 Эффективная система анимаций для Nintendo DS, слайд №6 Эффективная система анимаций для Nintendo DS, слайд №7 Эффективная система анимаций для Nintendo DS, слайд №8 Эффективная система анимаций для Nintendo DS, слайд №9 Эффективная система анимаций для Nintendo DS, слайд №10 Эффективная система анимаций для Nintendo DS, слайд №11 Эффективная система анимаций для Nintendo DS, слайд №12 Эффективная система анимаций для Nintendo DS, слайд №13 Эффективная система анимаций для Nintendo DS, слайд №14 Эффективная система анимаций для Nintendo DS, слайд №15 Эффективная система анимаций для Nintendo DS, слайд №16 Эффективная система анимаций для Nintendo DS, слайд №17 Эффективная система анимаций для Nintendo DS, слайд №18 Эффективная система анимаций для Nintendo DS, слайд №19 Эффективная система анимаций для Nintendo DS, слайд №20 Эффективная система анимаций для Nintendo DS, слайд №21 Эффективная система анимаций для Nintendo DS, слайд №22 Эффективная система анимаций для Nintendo DS, слайд №23 Эффективная система анимаций для Nintendo DS, слайд №24 Эффективная система анимаций для Nintendo DS, слайд №25 Эффективная система анимаций для Nintendo DS, слайд №26 Эффективная система анимаций для Nintendo DS, слайд №27 Эффективная система анимаций для Nintendo DS, слайд №28 Эффективная система анимаций для Nintendo DS, слайд №29 Эффективная система анимаций для Nintendo DS, слайд №30 Эффективная система анимаций для Nintendo DS, слайд №31 Эффективная система анимаций для Nintendo DS, слайд №32 Эффективная система анимаций для Nintendo DS, слайд №33

Содержание

Вы можете ознакомиться и скачать презентацию на тему Эффективная система анимаций для Nintendo DS. Доклад-сообщение содержит 33 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Эффективная система анимаций для Nintendo DS Ростислав Хлебников Евгений Заякин 20 апреля 2008
Описание слайда:
Эффективная система анимаций для Nintendo DS Ростислав Хлебников Евгений Заякин 20 апреля 2008

Слайд 2


Содержание Постановка задачи Эволюция анимационной системы Проблемы и решения Выводы (NDS animation best practices)
Описание слайда:
Содержание Постановка задачи Эволюция анимационной системы Проблемы и решения Выводы (NDS animation best practices)

Слайд 3


Постановка задачи (1) Суммарно ~4000 кадров (около 2 минут) анимаций
Описание слайда:
Постановка задачи (1) Суммарно ~4000 кадров (около 2 минут) анимаций

Слайд 4


Постановка задачи (2) Анимации на DS Анимация на уровне матриц Анимация на уровне геометрии Чтобы было быстро и красиво На DS – учесть слабые и...
Описание слайда:
Постановка задачи (2) Анимации на DS Анимация на уровне матриц Анимация на уровне геометрии Чтобы было быстро и красиво На DS – учесть слабые и сильные стороны платформы

Слайд 5


Существующее решение (1) Процесс получения результата Сплайны Sampling сплайнов и создание матрицы по TRS Матрицы local-to-parent Перемножение матриц...
Описание слайда:
Существующее решение (1) Процесс получения результата Сплайны Sampling сплайнов и создание матрицы по TRS Матрицы local-to-parent Перемножение матриц в иерархии Матрицы local-to-world Скиннинг Результирующий меш

Слайд 6


Существующее решение (2) Исходные данные
Описание слайда:
Существующее решение (2) Исходные данные

Слайд 7


Существующее решение: итоги Плюсы Алгоритмы написаны и много раз проверены Минусы Низкая производительность Кроме того, нет возможности...
Описание слайда:
Существующее решение: итоги Плюсы Алгоритмы написаны и много раз проверены Минусы Низкая производительность Кроме того, нет возможности распараллелить работу

Слайд 8


Картридж NDS Плюсы Высокая скорость чтения данных (5 Мб/с) Zero seek time Минусы Сравнительно небольшой объем (максимум 128 Мб, а желательно...
Описание слайда:
Картридж NDS Плюсы Высокая скорость чтения данных (5 Мб/с) Zero seek time Минусы Сравнительно небольшой объем (максимум 128 Мб, а желательно уложиться в 64 Мб)

Слайд 9


Используем сильные стороны: идея Preprocessing (PC) Предрассчитываем данные для каждого кадра: Матрицы local-to-parent Скинованная геометрия Runtime...
Описание слайда:
Используем сильные стороны: идея Preprocessing (PC) Предрассчитываем данные для каждого кадра: Матрицы local-to-parent Скинованная геометрия Runtime (NDS) Считываем необходимые данные Считаем матрицы local-to-world

Слайд 10


Первый вариант реализации Preprocessing Частота дискретизации - 30 fps Формат записи: Матрицы - 16 значений fixed-32 (по 4 байта) Геометрия...
Описание слайда:
Первый вариант реализации Preprocessing Частота дискретизации - 30 fps Формат записи: Матрицы - 16 значений fixed-32 (по 4 байта) Геометрия (дисплей-листы для непосредственной отсылки на рендеринг) Runtime Дополнительный буфер для матриц Для дисплей листов дополнительной памяти не требуется

Слайд 11


Первый вариант: результат Размеры анимаций на картридже огромны
Описание слайда:
Первый вариант: результат Размеры анимаций на картридже огромны

Слайд 12


Удаляем ненужные узлы в иерархии Узел является нужным, если: С ним связана геометрия Его позиция требуется игре (например, позиция локатора для...
Описание слайда:
Удаляем ненужные узлы в иерархии Узел является нужным, если: С ним связана геометрия Его позиция требуется игре (например, позиция локатора для оружия) Все остальные узлы являются лишними!

Слайд 13


Ненужные узлы Ненужными оказываются 30 – 90 % узлов!
Описание слайда:
Ненужные узлы Ненужными оказываются 30 – 90 % узлов!

Слайд 14


Удаляем ненужные узлы в иерархии: результат Объем уменьшили на 60% Работает ощутимо быстрее
Описание слайда:
Удаляем ненужные узлы в иерархии: результат Объем уменьшили на 60% Работает ощутимо быстрее

Слайд 15


Избавляемся от дубликации в дисплей-листах Материалы, флаги, UV сохраняем единожды Вершины и нормали - для каждого кадра
Описание слайда:
Избавляемся от дубликации в дисплей-листах Материалы, флаги, UV сохраняем единожды Вершины и нормали - для каждого кадра

Слайд 16


Удаление дубликации: результат Объем уменьшили на 50% Требуется дополнительная оперативная память Информация о размещении динамических данных Буфер...
Описание слайда:
Удаление дубликации: результат Объем уменьшили на 50% Требуется дополнительная оперативная память Информация о размещении динамических данных Буфер для считывания анимированной геометрии

Слайд 17


Что еще можно уменьшить? Можем изменить только частоту квантования Размер данных = размер кадра * частота квантования * длина анимации Уменьшаем ее...
Описание слайда:
Что еще можно уменьшить? Можем изменить только частоту квантования Размер данных = размер кадра * частота квантования * длина анимации Уменьшаем ее вдвое

Слайд 18


Уменьшение частоты квантования: результат Точно влезем в 128 Мб! Анимации стали «дерганными»
Описание слайда:
Уменьшение частоты квантования: результат Точно влезем в 128 Мб! Анимации стали «дерганными»

Слайд 19


Делаем анимации плавнее Идея: интерполяция между ключевыми кадрами Классическое решение (основанное на интерполяции сплайнов) не подходит! Наше...
Описание слайда:
Делаем анимации плавнее Идея: интерполяция между ключевыми кадрами Классическое решение (основанное на интерполяции сплайнов) не подходит! Наше решение: Интерполяция матриц Морфинг геометрии

Слайд 20


Варианты интерполяции матриц Интерполяция координатных осей Простое решение Требуется ортогонализация Проблемы с масштабированием Интерполяция с...
Описание слайда:
Варианты интерполяции матриц Интерполяция координатных осей Простое решение Требуется ортогонализация Проблемы с масштабированием Интерполяция с помощью кватернионов Качественная интерполяция Двойное преобразование представлений Специальный код для масштабирования

Слайд 21


Интерполируем матрицы Используем кватернионы Избавляемся от двойного преобразования На экспорте сохраняем по-отдельности: Кватернионы Компоненты...
Описание слайда:
Интерполируем матрицы Используем кватернионы Избавляемся от двойного преобразования На экспорте сохраняем по-отдельности: Кватернионы Компоненты Translate и Scale Используем линейную, а не сферическую интерполяцию кватернионов

Слайд 22


Интерполяция матриц: результат Матричные анимации стали плавными Объем уменьшили на 60% 26 байт вместо 64 на один узел на кадр
Описание слайда:
Интерполяция матриц: результат Матричные анимации стали плавными Объем уменьшили на 60% 26 байт вместо 64 на один узел на кадр

Слайд 23


Морфинг геометрии Необходимые действия Распаковка из формата графического ядра Линейная интерполяция векторов Обратная упаковка Используем...
Описание слайда:
Морфинг геометрии Необходимые действия Распаковка из формата графического ядра Линейная интерполяция векторов Обратная упаковка Используем возможность упаковывать три компоненты в 32 бита (vtx10)

Слайд 24


Интерполяция геометрии: результат Качество скиновой анимации улучшилось Сэкономили еще 50% памяти
Описание слайда:
Интерполяция геометрии: результат Качество скиновой анимации улучшилось Сэкономили еще 50% памяти

Слайд 25


Проблемы не закончились! Зверские тормоза Визуальные артефакты
Описание слайда:
Проблемы не закончились! Зверские тормоза Визуальные артефакты

Слайд 26


Причины тормозов Компилятор генерирует чрезвычайно плохой ассемблерный код Основная проблема - код внутренних циклов интерполяции Погружаемся в ARM...
Описание слайда:
Причины тормозов Компилятор генерирует чрезвычайно плохой ассемблерный код Основная проблема - код внутренних циклов интерполяции Погружаемся в ARM ARM и ассемблируем вручную

Слайд 27


Ручное ассемблирование: что и как? Ассемблируем функции интерполяции s16Lerp / s32Lerp / getDotSign lerpVtx10 (хит сезона) Используем специфические...
Описание слайда:
Ручное ассемблирование: что и как? Ассемблируем функции интерполяции s16Lerp / s32Lerp / getDotSign lerpVtx10 (хит сезона) Используем специфические команды ARM, например SMLABB Решаем проблемы компилятора, который совершенно неспособен на анализ asm-секций

Слайд 28


Ручное ассемблирование: результат Скорость стала такой, что стали думать переписывать на ассемблере всю игру
Описание слайда:
Ручное ассемблирование: результат Скорость стала такой, что стали думать переписывать на ассемблере всю игру

Слайд 29


Визуальные артефакты, борьба Причина дрожания – потеря точности из-за формата vtx10 Решение Для персонажей, на которых эффект заметен возвращаем...
Описание слайда:
Визуальные артефакты, борьба Причина дрожания – потеря точности из-за формата vtx10 Решение Для персонажей, на которых эффект заметен возвращаем точность (таких оказалось очень немного)

Слайд 30


Результаты
Описание слайда:
Результаты

Слайд 31


Дальнейшие улучшения Уменьшить размер данных и увеличить скорость за счет неравномерного квантования анимаций Автоматический выбор ключевых кадров и...
Описание слайда:
Дальнейшие улучшения Уменьшить размер данных и увеличить скорость за счет неравномерного квантования анимаций Автоматический выбор ключевых кадров и / или Превью-плагин в Maya – WYSIWYG для художников

Слайд 32


Выводы Используйте streaming и интерполяцию ключевых кадров вместо просчета в run-time Сокращайте иерархии до минимума Активное используйте ручное...
Описание слайда:
Выводы Используйте streaming и интерполяцию ключевых кадров вместо просчета в run-time Сокращайте иерархии до минимума Активное используйте ручное ассемблирования time-critical кода Будьте аккуратны с точностью

Слайд 33


Вопросы?
Описание слайда:
Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию