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

时间:2012-03-20 00:45:23

标签: ios animation core-animation quartz-2d

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

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

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

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

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

另外,也许使用cocos2d或类似的东西更容易做到这一点?或者石英核心和核心动画也可以正常工作。

感谢您提出的任何建议,目前任何信息都有用。

1 个答案:

答案 0 :(得分:2)

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

我对“程序树分支代码”做了一个简单的搜索,并且有很多有趣的点击 - 非常丰富的区域。

gameDev.stackExhange上的帖子指出了这个很棒的资源:Algorithmic Botany

同样Snappy Tree非常棒,源代码可用。

这两个听起来也很有趣:

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

Arbaro是Jason Weber& Sons描述的树生成算法的实现。 Joseph Penn:用Java编写的“用现实树的创造和渲染”。

可能更容易访问OP并且结果不那么复杂的是fractal trees上的这些actionScript教程。 ActionScript绘图代码很容易转换为Core Graphics。