我已经在iPhone上开发了很长时间,但是我还是游戏开发的新手。在我的新项目中,它是应用程序和小型“游戏”之间的交叉,我必须根据与用户的交互来展示舞者的动画。由艺术家使用Maya或任何3D建模程序创建的大约5个预定义的跳舞序列。
我一直在思考:
以2D格式导出跳舞序列,并使用UIImageView,Core Animation或某些2D游戏引擎(例如cocos2d)在屏幕上显示它们。但是,由于舞蹈序列可能很长(每个大约10s => 150+帧图像),所以恐怕它会需要太多帧图像,并且会占用过多内存。
使用3D:我希望它会更轻,对吗?因为我们只需要导入骨骼,也许还可以导入关键的动画点,那么动画将由代码完成?但是我只有3D的基本知识(非常基本的openGL等...)。我愿意学习更多,但是这里有哪些常见做法?例如,我应以哪种格式导出动画?关于内存,与2D方法相比,它真的可以为我省很多钱吗?
最佳答案
如果动画是静态的,则可以从建模者将其渲染为影片文件。
如果您想以3D格式进行操作,则可能应该尝试使用像食人魔这样的引擎来进行处理,如其他答案所示。 OpenGL本身不支持3D文件格式。
我曾经做过的工作,将Blender中的3D数据获取到我的ios项目中,而没有任何其他引擎/库,是将我的场景导出到Collada文件(即XML)并构建XSLT转换,该转换将Collada转换为标准OS X plist (也是XML)。对于XML转换,可以使用Saxon。