Grandpa(开源)

May 12th, 2013

下载Grandpa

 

Grandpa是什么

Grandpa是一个精巧,高效而且功能强大的跨平台骨骼动画库。

Grandpa的特性:

  • 动画
    • 任意数量的动画以任意权重混合
    • 自动动画间过渡
    • 动画任意速度播放,正放,倒放,往复,循环
    • 动画优先级控制
    • 动画同步(用以支持例如走,跑动画任意比例融合)
    • 骨骼反向动力学控制(IK)
    • 灵活的回调机制,使用户在任意时间都可以拥有对骨骼的完全控制(用于整合诸如ragdoll,kinect系统)
    • 支持用户自定义动画事件,用户可以方便在动画任意时间点添加音效,特效以及其他任意事件的触发
    • 多种动画实时采样方式:单步(仅关键帧),线性,三次样条插值(和Max一样的非线性插值效果)
  • 模型
    • 支持任意顶点格式组合,支持任意纹理坐标层数
    • 支持模型子材质(即一个mesh多个材质)
    • 基于视差的预生成模型LOD,用户只要设置可接受的最大视觉误差,Grandpa自动选择相应的LOD级别
  • 材质
    • Grandpa是渲染无关的,但提供常用的渲染参数给渲染层。如果不能满足需求,用户也完全可以采用自己的材质系统
  • 文件
    • 基于Chunk的数据存储方式,用户可以嵌入自定义的Chunk结构而不影响Grandpa正常读取
    • 比zip更有效的数据压缩(仍然可以用zip,rar,7z等进一步压缩),最大限度节省了硬盘空间和网络带宽
    • 用户通过设置可接受的最大误差来控制文件压缩率
    • 模型/部件/材质描述文件采用基于Xml的格式,方便阅读和人工修改
    • 内嵌支持资源异步加载,为用户代劳各种资源不完备的繁琐处理
  • 接口
    • 不依赖c++标准库以外的任何程序库,不对用户采用的渲染API,空间坐标系类型,欧拉角轴序或模型尺寸单位等做任何假设
    • 自带完整3d数学库,用户可以使用Grandpa作为构建引擎的基础
    • 可重载的内存分配,文件读取,资源管理和日志记录模块。用户可以监控Grandpa的内存使用;重定向Grandpa的文件输入到封包文件甚至http下载
Comments are closed.