程序性地动画2D植物的生长

Mat*_*ger 5 animation core-animation quartz-2d ios

我正试图找出在iOS中逐步动画制作2D植物的最佳方法.

我希望植物能够为用户提供动画效果.基本上,为了生长一个分支的动画,小芽最终将生长成​​完整的叶子.为了给它注入一点点生命,我也希望植物能够随着它的生长而摇摆一点,而不是在屏幕上涂上手绘.

我想到的一种方法是使用CGPaths和Bezier曲线来创建茎和叶子的形状,但我不完全确定如何设置路径绘制的动画.一旦我得到了茎的"绘图",我就想在茎上的某些点上"种植"小芽,因为线条正在生长/动画,这些芽也将开始从植物向外生长.

有关完成此任务的路线的任何建议?我更喜欢程序性的动画,而不是手绘每一帧并以此方式制作动画.我的理由是,我想象程序化动画将耗费更少的时间,让我更好地控制动画的不同方面,并可以在其他项目中重复使用(更不用说,编程会很有趣!)

我发现这篇博文是为了绘制动画线:http: //oleb.net/blog/2010/12/animating-drawing-of-cgpath-with-cashapelayer/ 也许这将是一个实现的开始方法我想要的结果,我需要坐下来浏览他发布的代码.

也许,这可能是使用cocos2d或类似的东西更容易做的事情?或者石英核心和核心动画也可以正常工作.

感谢您提出的任何建议,目前任何信息都有帮助.

No *_*ing 3

(很好的问题!将其发布为“社区维基”,因为它不是答案,而只是一些参考资料,我不希望链接在评论中搞砸。也许人们想添加到此?)

我对“程序树分支代码”进行了简单搜索,发现了很多有趣的内容 - 非常丰富的区域。

gameDev.stackExhange上的一篇文章指出了这个很棒的资源:Algorithmic Botany

Snappy Tree也非常令人惊奇,并且源代码可用。

这两个听起来也很有趣:

TReal是一个能够生成逼真的 3D 树模型的程序。

Arbaro是 Jason Weber 和 Joseph Penn 中描述的树生成算法的实现:用 Java 编写的“Creation and Rendering of Realistic Trees”。

也许OP更容易理解并且结果不太复杂的是这些关于分形树的actionScript教程。ActionScript 绘图代码很容易转换为 Core Graphics。