我正在尝试使用OpenGL ES在iPhone上做动画。我能够在Blender 3D软件中制作动画。我可以导出为一个.obj文件从搅拌机到OpenGL,它在iPhone上工作。
但我不能出口我的动画作品从搅拌机3D到OpenGL。有人能帮我解决这个问题吗?
发布于 2010-10-27 05:42:04
如果你看过this article by Jeff LaMarche,你会发现一个将3D模型输出到C头文件的搅拌器脚本。还有一个改进了上述脚本的followup article。
运行脚本后,只需在源代码中包含头文件,并通过绘图函数传递顶点数组即可。理想情况下,您需要一种在运行时加载任意模型文件的方法,但是对于原型设计来说,这种方法是最容易实现的。
由于您已经有了导入模型(obj)的方法,因此上述方法可能不适用。但是,使用搅拌器脚本的优点是,您可以修改该脚本以满足自己的需要,可能还会导出骨骼信息或模型关键帧。
发布于 2011-06-14 06:03:27
首先,我不推荐将.obj用于此目的,因为obj文件格式不支持动画,只支持静态3D模型。因此,您需要将动画数据导出为与obj同时加载的单独文件。
我会推荐哪种文件格式取决于你的动画到底是什么。我已经不记得Blender支持什么文件格式了,但我记得它不会导出带有动画的Collada文件,这是最普遍的建议。对于角色动画,其他选项为md2;对于简单的“刚性对象四处移动”动画,则为3ds。我认为Blender的FBX导出器将工作,尽管该文件格式可能太复杂,你的需要。
也就是说,假设您只需要简单的刚性对象移动,您可以为3D模型形状使用.obj,然后编写一个简单的Python脚本从混合器中导出一个文件,该文件具有列出的关键帧,以及每个关键帧的帧、位置和旋转。然后在您的代码中加载该数据,并在3D模型上播放这些关键帧。
发布于 2013-10-07 19:33:24
这是一个古老的问题,从那时起,一些新的iOS框架相继发布,比如GLKit。我建议尽可能多地依赖它们,因为它们处理了许多像这样的内在转换,尽管我还没有研究过细节。此外,虽然不是在iOS上,但OS的新场景图技术(可能会在iOS上出现)在未来将所有这些做得更进一步,一个诡计多端的人可以使用该工具进行一些转换,然后将输出带到iOS。
https://stackoverflow.com/questions/2122684
复制相似问题