Repolode
guillaumeblanc

guillaumeblanc/ozz-animation

Библиотека и набор инструментов с открытым исходным кодом для 3D-скелетной анимации на C++, не зависящие от рендерера и игрового движка.

Звёзды
3,134
Форки
367
Открытые issues
29
Последний коммит
3 месяца назад

Что это?

ozz-animation — библиотека на C++ для воспроизведения скелетной анимации персонажей во время выполнения: она поддерживает загрузку, семплирование и смешивание анимаций. Это низкоуровневая реализация, не зависящая от конкретного рендерера или игрового движка. Библиотека рассчитана на высокую производительность и экономное использование памяти благодаря организации данных с учётом их обработки.

В проект входит набор инструментов для преобразования распространённых форматов создания цифрового контента, таких как glTF, FBX, Collada, OBJ, 3DS и DXF, в оптимизированные структуры данных ozz для выполнения во время работы программы. Также доступны библиотеки для офлайн-обработки, с помощью которых разработчики могут добавить преобразование из других форматов анимации и скелетов.

Код runtime (ozz_base, ozz_animation, ozz_geometry) требует C++17 и стандартных библиотек; он не содержит платформозависимого кода. Код тестируется в WebAssembly, Linux, macOS и Windows на платформах x86, x86-64 и ARM. Для примеров и инструментов требуются внешние библиотеки, такие как glfw, tinygltf и FBX SDK.

Ключевые возможности

  • 01Семплирование и смешивание скелетной анимации во время выполнения.
  • 02Runtime на C++17, не зависящий от рендерера и игрового движка и не содержащий платформозависимого кода.
  • 03Набор инструментов для преобразования glTF, FBX, Collada, OBJ, 3DS и DXF в оптимизированные форматы для выполнения во время работы программы.
  • 04Библиотеки для офлайн-обработки, позволяющие добавлять преобразование из других форматов анимации.
  • 05Тестирование в WebAssembly, Linux, macOS и Windows.

Сценарии использования

  • Добавление воспроизведения скелетной анимации в собственный игровой движок или рендерер на C++.
  • Запуск анимации персонажей в браузерных играх с помощью WebAssembly.
  • Создание конвейера обработки ресурсов, который преобразует экспортированные из DCC анимации в компактные данные для выполнения во время работы программы.

Что важно знать

  • Примеры, инструменты и тесты зависят от внешних библиотек, таких как glfw, tinygltf и Fbx SDK, которые не входят в состав среды выполнения.
  • Лицензия не была распознана автоматически, хотя в README указано, что это MIT.

В подборках

Темы

#animation#skeletal-animation#game-development#cpp#simd#data-oriented#webassembly#collada#fbx#game

Частые вопросы

Что такое ozz-animation?
Библиотека и набор инструментов с открытым исходным кодом для 3D-скелетной анимации на C++, не зависящие от рендерера и игрового движка. ozz-animation — библиотека на C++ для воспроизведения скелетной анимации персонажей во время выполнения: она поддерживает загрузку, семплирование и смешивание анимаций. Это низкоуровневая реализация, не зависящая от конкретного рендерера или игрового движка. Библиотека рассчитана на высокую производительность и экономное использование памяти благодаря организации данных с учётом их обработки.
ozz-animation можно использовать бесплатно? Какая у него лицензия?
ozz-animation распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ozz-animation всё ещё поддерживается?
Обновлялся за последние 6 месяцев. Последний коммит в ozz-animation — 1 авг. 2026 г..
Для чего можно использовать ozz-animation?
Добавление воспроизведения скелетной анимации в собственный игровой движок или рендерер на C++. Запуск анимации персонажей в браузерных играх с помощью WebAssembly. Создание конвейера обработки ресурсов, который преобразует экспортированные из DCC анимации в компактные данные для выполнения во время работы программы.
Где скачать ozz-animation?
Исходный код и инструкции по установке — на GitHub: https://github.com/guillaumeblanc/ozz-animation

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты