Как вы процедурно создаете 2D-лозу для игры?

StackOverflow https://stackoverflow.com/questions/9333196

  •  27-10-2019
  •  | 
  •  

Вопрос

Для игры, которую я создаю, я хочу создать 2D-лозу и структуры, подобные лозе, процедурно.Есть ли какой-нибудь документ или фрагмент кода, на который мне можно указать? Поиск в Google приводит к появлению процедурных деревьев с прямыми колючими ветвями, но мне нужно создать изогнутые лозы.Подумайте о Джеке и росте из бобовых стеблей. http://youtu.be/2wq541W6LyE?t=2m11s

Это было полезно?

Решение

Ваш конкретный подход будет зависеть от того, как игра обрабатывает рисование и столкновения.

Подход, популярный во флеш-играх, состоит в том, чтобы нарисовать виноградную лозу на растровом изображении: поскольку вы не указываете свою среду программирования, я просто объясню шаги, а не код.

Начните с круга, 1 нарисуй это, 2 переместите его, 3 уменьшите масштаб. 4 С произвольным интервалом создайте «ветку» или лист. Установите масштаб и положение ветви в соответствии с родительским. Заведите 1-5 петель на ветку. 5 повторять 1, пока полностью не вырастет (масштаб слишком мал для продолжения).

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

Вот ссылка на обсуждение темы. По ссылкам можно найти хороший источник. http://groups.google.com/group/flashcodersny/browse_thread/thread/9906041e557e620c

Включая исходный код inf flash: http://xfiles.funnygarbage.com/~colinholgate/swf/varicoseg.zip

И версия javascript, которая больше похожа на молнию, но может быть адаптирована к лозе без особых изменений: http://www.brainjam.ca/hyperbolic/01_spite_mrdoob.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top