Ostatnio zaprogramowałem moduł L-system , zainteresowało mnie to bardziej. Jestem ćpunem Plants vs. Zombies, bardzo podobała mi się koncepcja Tree of Wisdom. Chciałbym stworzyć podobną sztukę proceduralną dla zabawy i dowiedzieć się więcej.
Pytanie: Jak mam dynamicznie podchodzić do procesu tworzenia drzewa artystycznego (być może 2d ze stałą kamerą / perspektywą)?
Idealnie chciałbym zacząć od rośliny (tylko łodyga z liściem) i rozwijać ją dynamicznie, wykorzystując pewien wpływ (działanie użytkownika / użytkownika) na jej strukturę. Wpływy te mogą powodować różnego rodzaju rozgałęzienia, krzywe w gałęziach, ich rozprzestrzenianie się, położenie owoców, kolor kwiatów itp. Chcesz, aby było naprawdę pełne życia / ducha. :)
Plants vs. Zombies: Drzewo mądrości Byłoby wspaniale dynamicznie wyhodować podobne drzewo, ale przy znacznie większej różnorodności i animacjach.
Moje tło: programista, użyłem kilku silników gier (Ogre3d, cocos2d, jedność). Naprawdę nie programowałem bezpośrednio za pomocą openGL, próbując to naprawić :).
Jestem gotowy spędzić dużo czasu. Daj mi znać o interfejsach API? i w jaki sposób ekspert taki jak ty podjąłby się tego problemu?
Dlaczego 2D? Myślę, że łatwiej jest rozwiązać problem tylko biorąc pod uwagę 2 wymiary.
Inspiracje artystyczne:
Tylko drzewo, z owocami i liśćmi, bez krzewów na dole
Duże drzewo (widoczne gałęzie, zielone liście, kwiaty, owoce, itp) po lewej stronie, za małpa.
PixelJunk's Eden (inspiracja stylem artystycznym).
Jabłoń generowana proceduralnie za pomocą fraktali
Daj mi znać, jeśli zrozumienie pytania było dla ciebie łatwe, mogę rozwinąć sprawę.
Mam nadzieję, że dyskusja na temat różnych podejść byłaby pomocna dla wszystkich. Jesteście niesamowici.
Student/
zStudent/Programmer
Odpowiedzi:
Spójrz na ABOP (Algorytmiczne piękno roślin):
http://algorithmicbotany.org/papers/#abop
Jest teraz bezpłatny online i ma bardzo dogłębny wgląd w systemy L i rośliny.
źródło
Kilka pomysłów na twoją „grę”:
Istnieje wiele algorytmów i dokumentów do generowania drzew proceduralnych ( ten wątek może być interesujący ). Trudnym zadaniem jest ładne połączenie gałęzi. 2D na pewno będzie pod tym względem łatwiejsze, ponieważ można to rozwiązać za pomocą mieszania alfa.
Ponieważ masz doświadczenie z Ogre3D, Unitiy i cocos2d, możesz iść od razu i wdrożyć to (nie musisz zaczynać nauki OpenGL teraz IMHO). Osobiście wybrałbym cocos2d i wydałem na iPada i / lub iPhone'a, aby każdy mógł nosić swoje drzewo ze swoim urządzeniem mobilnym.
źródło
Bezkontekstowy i jego trójwymiarowy odpowiednik StructureSynth może stanowić doskonałą podstawę lub inspirację.
Przykłady:
itp...
W dzisiejszych czasach możesz napisać wizualizator online w WebGL!
źródło