Repolode
guillaumeblanc

guillaumeblanc/ozz-animation

开源 C++ 3D 骨骼动画库与工具集,用于运行时角色动画播放,与渲染器和游戏引擎无关。

Star
3,134
Fork
367
未关闭 Issue
29
最近提交
3个月前

这是什么?

ozz-animation 是一个 C++ 库,用于在运行时播放角色骨骼动画,涵盖动画数据加载、采样和混合。它是与渲染器、游戏引擎都无关的底层实现,以性能和内存占用为设计重点,采用面向数据的布局。

项目附带工具链,可将 glTF、FBX、Collada、OBJ、3DS、DXF 等常见数字内容创作格式转换为 ozz 优化后的运行时数据结构。同时提供离线库,方便开发者为其他动画和骨骼格式实现转换。

运行时代码(ozz_base、ozz_animation、ozz_geometry)仅依赖 C++17 与标准库,不含操作系统相关代码。项目在 WebAssembly、Linux、macOS 和 Windows 上测试,支持 x86、x86-64 和 ARM 架构。示例和工具依赖 glfw、tinygltf、FBX SDK 等外部库。

核心功能

  • 01运行时骨骼动画采样与混合。
  • 02与渲染器和游戏引擎无关的 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 是什么?
开源 C++ 3D 骨骼动画库与工具集,用于运行时角色动画播放,与渲染器和游戏引擎无关。 ozz-animation 是一个 C++ 库,用于在运行时播放角色骨骼动画,涵盖动画数据加载、采样和混合。它是与渲染器、游戏引擎都无关的底层实现,以性能和内存占用为设计重点,采用面向数据的布局。
ozz-animation 可以免费使用吗?用的什么许可证?
ozz-animation 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
ozz-animation 还在维护吗?
半年内有更新。ozz-animation 最近一次提交是在 2026年8月1日。
ozz-animation 适合用来做什么?
为自研 C++ 游戏引擎或渲染器加入骨骼动画播放功能。 通过 WebAssembly 在浏览器游戏中运行角色动画。 搭建资源管线,将 DCC 工具导出的动画转换为紧凑的运行时数据。
在哪里获取 ozz-animation?
源代码和安装说明在 GitHub 上:https://github.com/guillaumeblanc/ozz-animation

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目