Процедурная анимация выращивания 2D растения - PullRequest
5 голосов
/ 20 марта 2012

Я пытаюсь найти лучший способ процедурной анимации выращивания 2D-растения в iOS.

Я хочу, чтобы растение оживило, чтобы дать пользователю ощущение посягательства. В основном, чтобы оживить рост ветви, с небольшими почками, которые в конечном счете оживят в полностью выращенные листья. Чтобы вдохнуть в него немного жизни, я бы также хотел, чтобы растение немного раскачивалось по мере роста, а не чувствовало, как оно нарисовано на экране.

Один из способов, который я придумал, - это использовать кривые CGPaths и Bezier для создания формы стебля и листьев, но я не совсем уверен, как анимировать рисование путей. Как только я получу «рисунок» стебля, я бы хотел «посадить» маленькие почки в определенных точках стебля, так как линия растет / оживляется, и эти почки также начинают расти вне растения.

Какие-либо предложения о том, какой путь выбрать для выполнения этой задачи? Я предпочел бы процедурно анимировать, а не рисовать каждый кадр и анимацию таким образом. Я полагаю, что процедурная анимация займет меньше времени, даст мне больше контроля над различными аспектами анимации и пригодна для повторного использования в других проектах (не говоря уже о том, что это будет интересно программировать!)

Я наткнулся на это сообщение в блоге для рисования анимированных линий: http://oleb.net/blog/2010/12/animating-drawing-of-cgpath-with-cashapelayer/ Возможно, это был бы начальный подход к достижению желаемых результатов, мне нужно сесть и просмотреть код, который он опубликовал.

Кроме того, может быть, это было бы легче сделать с помощью cocos2d или чего-то подобного? Или, возможно, анимация кварца и ядра будет работать нормально.

Спасибо за любые предложения, которые могут у вас возникнуть, любая информация на данный момент полезна.

1 Ответ

2 голосов
/ 25 августа 2012

(Отличный вопрос! Публикуйте это как «вики сообщества», так как это не ответ, а просто некоторые ссылки, и я не хотел, чтобы ссылки были испорчены в комментариях. Возможно, люди хотят добавить к этому?)

Я выполнил простой поиск по "процессуальному коду ветвления дерева", и было много интересных хитов - действительно богатая область.

Пост gameDev.stackExhange указал на этот замечательный ресурс: Алгоритмическая ботаника

Также Snappy Tree довольно удивителен, и исходный код доступен.

Эти два также звучат интересно:

TReal - это программа, способная генерировать реалистичные трехмерные модели деревьев.

Arbaro isреализация алгоритма генерации дерева, описанного в Jason Weber & Joseph Penn: «Создание и рендеринг реалистичных деревьев», написанных на Java.

Возможно, более доступными для OP и с менее сложным результатом являются эти руководства ActionScript по фрактальные деревья .Код для рисования ActionScript довольно легко переводится в Core Graphics.

...