然后,我们可以将变换应用于这些对象,以便对它们进行动画处理.
我们的项目的下一步是让一个专业的3D动画师在Maya中做动画,并创建一个“Loader”,使用OpenGL以3D显示它们.
我们已经在网上发现了许多处理视频游戏和加载静态模型的例子,但我们的动画将完全由动画师预先定义,我们只需要加载它们.
重要的是要提到我们不能渲染它的视频,因为我们正在建立一个AR库顶部,这将让用户逐步走动动画,该部分被解决,我们只需要获得动画渲染使用OpenGL.
我已经研究了this question关于动画师应该从玛雅出口的适当格式.
.dae(COLLADA)文件格式似乎是封装模型和动画信息的好方法,并使用Assimp加载,但是我们还没有找到为iOS或Android编译的加载器(这是我们正在开发的平台).
我们已经看到的另一种在线推荐方法是导出一系列OBJ文件,并为每个帧加载相应的OBJ.
我们看到的另一种方法是使用“引擎”,但是有很多很难知道我们应该关注哪一个.
我们不介意为发动机付费,但是我们如何知道哪一个最有效?
我们发现these examples,但我们看不到一个明确的“优胜者”.
有没有人在iOS或Android设备上获得类似的东西?
你的建议是什么?
解决方法
骨骼动画可以简单地用你的代码完成:为每个肢体加载一个OBJ,让cpu执行骨骼计算,然后将每个OBJ转换为由cpu给出的坐标和角度.
关键帧动画可以通过使用具有相同数目顶点的OBJ来完成.然后,您可以使用带有变量t(时间)的线性函数,并为您提供组合的网格.您还可以使用Bezier曲线获得更平滑的动画.
我想指出的另一个方面是你可以导入MD5文件. MD5文件可以包含动画数据,它们是二进制文件,因此加载它们是快速的,不需要解析器.
更多关于MD5s here.
附:如果你愿意,我可以推荐你一本伟大的书,涵盖了在移动设备上开发的许多3D问题;只是发表评论.而如果你不介意花钱,只要买Unity.这是非常好的,它是非常多才多艺.