2012-03-20 15 views
5

Próbuję znaleźć najlepszy sposób, aby schematycznie animować rozwój rośliny 2D w systemie iOS.Proceduralne animowanie uprawy 2D rośliny

Chcę, aby roślina była ożywiona, aby dać użytkownikowi poczucie ingerencji. Zasadniczo, aby ożywić hodowlę gałęzi, z małymi pąkami, które ostatecznie ożywią się w pełne dorosłe liście. Aby włożyć w to trochę życia, chciałbym, aby roślina nieco się kołysała, zamiast rosnąć ręcznie na ekranie.

Jednym ze sposobów, o których myślałem jest użycie krzywych CGPath i Beziera, aby utworzyć kształt łodygi i liści, ale nie jestem całkowicie pewien, jak ożywiać rysunek ścieżek. Kiedy już dostanę "rysunek" łodygi, chciałbym "sadzić" małe pączki w pewnych punktach łodygi, gdy linia się rozwija/animuje i te pąki również zaczną rosnąć na zewnątrz z rośliny.

Wszelkie sugestie dotyczące trasy, którą należy wykonać, aby wykonać to zadanie? Wolałbym animować proceduralnie, a nie ręcznie rysować każdą klatkę i animować w ten sposób. Moje rozumowanie jest takie, że wyobrażam sobie, że animacja proceduralna będzie mniej czasochłonna, da mi większą kontrolę nad różnymi aspektami animacji i będzie można ją wykorzystać w innych projektach (nie wspominając już, będzie fajnie programować!)

Ja " Natknąłem się na to ogłoszenie na blogu do rysowania animowanych linii: http://oleb.net/blog/2010/12/animating-drawing-of-cgpath-with-cashapelayer/ Być może to będzie początkowe podejście do osiągnięcia wyników, które chcę, muszę usiąść i przejść przez kod, który zamieścił.

Być może jest to coś, co byłoby łatwiej zrobić przy użyciu cocos2d lub czegoś podobnego? A może kwarccore i rdzeń animacji będzie działał dobrze.

Dzięki za wszelkie sugestie, wszelkie informacje są pomocne w tym momencie.

+0

Jesteś zdecydowanie na dobrej drodze dzięki CAShapeLayers, ale to, co próbujesz zrobić, jest trudne. Niemniej świetne pytanie! Zdecydowanie na mojej liście ulubionych. – pasawaya

+0

Dodano niektóre linki zasobów jako brak odpowiedzi. Może więcej niż szukasz, ale jest to naprawdę bogaty obszar algorytmiczny (i może więcej, niż szukasz). Niemniej może dać pewne pomysły. –

+0

Dodałem trochę zasobów do odpowiedzi na CW, ale mam wrażenie, że nie szukasz złożonych algorytmów generowania drzewek 3D z L-Systems i tym podobnych, ale raczej jak animować prosty 2D, drzewo rysunkowe, prawda? – pasawaya

Odpowiedz

2

(Świetne pytanie! Umieszczanie tego jako "wiki społeczności", ponieważ nie jest to odpowiedź, ale tylko kilka odnośników i nie chciałem, aby linki zostały wkręcone w komentarzach. Być może ludzie chcą do tego dodać?)

Zrobiłem proste wyszukiwanie na "proceduralnym kodowaniu gałęzi drzewa" i było wiele ciekawych hitów - naprawdę bogaty obszar.

post na gameDev.stackExhange wskazał na tego wielkiego zasobu: Algorithmic Botany

także Snappy Tree jest zdumiewające i kod źródłowy jest dostępny.

Te dwa również dźwięk interesujący:

TReal to program zdolny do generowania realistycznych modeli 3D drzew.

Arbaro to implementacja algorytmu generowania drzew opisanego w Jasonie Weber & Joseph Penn: "Tworzenie i renderowanie realistycznych drzew" napisanego w Javie.

Być może bardziej dostępne dla OP i mniej skomplikowane wyniki są te samouczki ActionScript na fractal trees. Kod rysunkowy ActionScript jest dość łatwy do przetłumaczenia na Core Graphics.