假设我想要显示一个可定制(2D,类似卡通)的角色,其中一些属性,如眼睛颜色,发型,服装等可以从一组预定义的选项中选择。现在我想要设置角色的动画。处理定制的最好方法是什么?
1)例如,我可以为每个属性组合制作一个精灵工作表。这不是非常高效的内存,也不是非常灵活,但可能会提供最佳的性能。
2)我可以从不同的层组成字符,其中每个属性只影响一个层。因此,我可以为身体制作一个精灵工作表,为眼睛制作一个精灵工作表(每种眼睛颜色一个)等等。
2a)在这种情况下,我可以合并选定的精灵工作表,以便生成包含自定义角色动画的单个精灵工作表。
2b)或者,我可以保持精灵工作表分离,并尝试将它们同时作为层进行动画处理。我担心,这可能会成为性能方面的问题。
3)我可以尝试以编程的方式修改图层,例如使用sprite-sheet作为眼睛的遮罩,并在将其合并为单个sprite-sheet之前在其上映射一些纹理。我会认为这是一个非常灵活的方法,当涉及到简单的属性,如眼睛的颜色,但可能会变得困难,如发型。我意识到这在很大程度上取决于角色,可能很难得到一个通用的答案。
我假设我的问题不是新的,所以可能有一个标准的方法来解决它。
关于这个平台,我对iOS特别感兴趣,并尽量避免使用OpenGL (嗯,我是持开放态度的)。也许有一个很好的框架可以在这里帮助我?
谢谢!
发布于 2012-09-29 20:07:24
你很可能想在cocos2d上看看how to create sprites。
Cocos2d附带了一组工具,可以帮助您对单个部件进行动画处理,并提供组成部件的抽象(如CCBatchNode或CCNode)。此外,它还附带了一些工具,可以帮助你将精灵打包成精灵工作表(例如Texture Packer)和开发级别(例如Level Helper)。
Cocos2d是一个开放源码的框架,被广泛使用。您也有cocos3d,但我从未使用过它:)。
发布于 2012-09-30 11:20:01
根据您正在处理的内容,您可能希望在另一个工具(如flash )中对外部的部分/全部动画进行动画处理。在可视化环境中工作要容易得多。
然后有一些工具可以获取swf文件,并创建精灵工作表,然后在cocos2d中设置动画。
这是一个常见的游戏创建工作流程。
https://stackoverflow.com/questions/12652080
复制相似问题