Zeb*_*ebs 12 3d animation android opengl-es ios
到目前为止,我们已经能够成功地将静态OBJ文件(转换为.h)加载到我们的OpenGL应用程序中.
然后,我们可以将变换应用于这些对象,以便为它们设置动画.
我们项目的下一步是让专业的3D动画师在Maya中完成动画制作,并创建一个"Loader",使用OpenGL在3D中显示动画.
我们在网上找到了许多处理视频游戏和加载静态模型的例子,但我们的动画将由动画师完全预先定义,我们只需要加载它们.
重要的是要提到我们无法在视频中呈现它,因为我们正在AR库上构建它,这将让用户逐字地绕过动画,该部分已经解决,我们只需要使用OpenGL来渲染动画.
关于动画师用来从Maya导出的适当格式,我已经研究了这个问题.
.dae(COLLADA)文件格式似乎是封装模型和动画信息的好方法,并使用Assimp加载它但我们还没有找到为iOS或Android编译的这个加载器(这是我们正在开发的平台).
我们在网上推荐的另一种方法是导出一系列OBJ文件并为每个帧加载相应的OBJ.
我们看到的另一种方法是使用"引擎",但是有很多方法很难知道我们应该关注哪一个.
我们不介意支付引擎但我们怎么知道哪一个最好?
我们找到了这些例子,但我们没有看到明确的"赢家".
有没有人在iOS或Android设备上得到这样的东西?
你的建议是什么?
我已经为 Android 做了一个 3D 框架,这就是我对动画的看法:
骨骼动画可以通过代码简单地完成:为每个肢体加载 OBJ,让 CPU 进行骨骼计算,然后将每个 OBJ 转换为 CPU 给出的坐标和角度。
关键帧动画可以通过使用具有相同顶点数的 OBJ 来完成。然后,您可以使用采用变量 t(时间)的线性函数并给出组合网格。您还可以使用贝塞尔曲线来实现更平滑的动画。
我想指出的另一个方面是您可以导入 MD5 文件。MD5 文件可以包含动画数据,并且它们是二进制的,因此加载它们速度很快并且不需要解析器。
有关 MD5 的更多信息请参见此处。
PS 如果您愿意,我可以向您推荐一本很棒的书,其中涵盖了移动开发时的许多 3D 问题;请发表评论。而且..如果你不介意花钱,就买Unity吧。它非常好而且用途广泛。
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |