Недавно я запрограммировал модуль L-системы , он заинтересовал меня еще больше. Я тоже наркоман Plants vs Zombies, мне очень понравилась концепция Древа Мудрости. Хотелось бы создать подобное процедурное искусство просто для удовольствия и узнать больше.
Вопрос: Как я должен подходить к процессу создания художественного дерева (2d, возможно, с фиксированной камерой / перспективой) динамически?
В идеале я хотел бы начать с растения (только стебель с листом) и динамически выращивать его, используя некоторое влияние (ввод / действие пользователя) на его структуру. Эти влияния могут привести к разному типу ветвления, изгибам в ветвях, их распространению, расположению плодов, цвету цветов и т. Д. Хотите, чтобы это было действительно полно жизни / духа. :)
Растения против Зомби: Древо мудрости Было бы здорово динамически вырастить подобное дерево, но с гораздо большим количеством вариаций и анимаций.
Мое прошлое: Программист, использовал несколько игровых движков (Ogre3d, cocos2d, unity). На самом деле не был запрограммирован напрямую с использованием openGL, пытаясь это исправить :).
Я готов потратить значительное время. Пожалуйста, дайте мне знать об API? и как такой эксперт, как вы, решил бы эту проблему?
Почему 2D? Я думаю, что решить проблему проще, если учитывать только 2 измерения.
Художественные вдохновения:
Только дерево, с плодами и листьями, без кустов на дне
Большое дерево (видимые ветви, зеленые листья, цветы, фрукты и т.д.) , на левой стороне , позади обезьяны.
PixelJunk's Eden (вдохновение в стиле арт).
Процедурно генерируемая яблоня с использованием фракталов
Пожалуйста, дайте мне знать, если вам было легко понять вопрос, я могу остановиться подробнее.
Я надеюсь, что обсуждение различных подходов будет полезным для всех. Вы, ребята, потрясающие.
Student/
Student/Programmer
Ответы:
Посмотрите на ABOP (Алгоритмическая красота растений):
http://algorithmicbotany.org/papers/#abop
Теперь он бесплатный онлайн, и в нем очень подробно рассматриваются L-системы и установки.
источник
Несколько идей для вашей «игры»:
Существует множество алгоритмов и статей для генерации процедурного дерева ( эта ветка может быть интересной ). Сложная задача состоит в том, чтобы хорошо смешать ветви. 2D определенно будет легче в этом отношении, поскольку вы можете решить это с помощью альфа-смешивания.
Поскольку у вас есть опыт работы с Ogre3D, Unitiy и cocos2d, вы можете пойти дальше и реализовать это (не нужно начинать изучать OpenGL сейчас, IMHO). Лично я бы выбрал cocos2d и релиз для iPad и / или iPhone, чтобы каждый мог носить свое дерево с мобильным устройством.
источник
Не зависящий от контекста и его трехмерный аналог StructureSynth может стать отличной основой или источником вдохновения.
Примеры:
и т.д...
В эти дни вы можете написать онлайн визуализатор в WebGL!
источник