Я еще не нашел вопрос по этим вопросам, поправьте меня, если я ошибаюсь.
Деревья (и фауна в целом) распространены в играх. Из-за их характера, они являются хорошим кандидатом на процедурное поколение.
Конечно, есть SpeedTree , если вы можете себе это позволить; насколько я могу судить, это не дает возможности генерировать ваши древовидные сетки во время выполнения. Тогда есть SnappyTree , генератор дерева на основе webgl, основанный на proctree.js, который составляет около 500 строк javascript.
Можно использовать любой из вышеперечисленных (или какой-то другой генератор деревьев, на который я не наткнулся), чтобы заранее создать несколько десятков сеток деревьев - или смоделировать их с нуля в 3d моделировщике - и затем случайно отразить / масштабировать их для нескольких других вариантов. ..
Но я бы предпочел иметь бесплатный, связываемый генератор сеток деревьев.
Возможные решения:
- Перенесите proctree.js на c ++ и работайте с лицензией с открытым исходным кодом (похоже, gpl, поэтому может быть выполнимо; автор также может захотеть сотрудничать, чтобы сделать лицензию еще более бесплатной).
- Ролл мой на основе L-систем.
- Не беспокойтесь, просто используйте созданные в автономном режиме деревья.
- Используйте другой метод, который я еще не нашел.
Обновление 2015 : закончилось портирование proctree.js на c ++ https://github.com/jarikomppa/proctree