Como você cria videiras 2D processualmente para um jogo?
-
27-10-2019 - |
Pergunta
Para um jogo que estou fazendo, quero criar videiras 2D e estruturas semelhantes a videiras procedimentalmente.Existe algum papel ou trecho de código que alguém possa me indicar? A pesquisa no Google resulta em árvores procedurais que têm galhos pontiagudos retos, mas preciso criar vinhas que são curvas.Pense em Jack e no tipo de crescimento do pé de feijão. http://youtu.be/2wq541W6LyE?t=2m11s
Solução
Sua abordagem particular dependerá de como você controla o desenho e as colisões.
Uma abordagem popular com jogos baseados em flash é desenhar a videira em um bitmap: como você não lista seu ambiente de programação, explicarei apenas as etapas, não o código.
Comece com um círculo, Eu desenho, 2 mova-o, 3 reduza. 4 Em um intervalo aleatório, desova um "galho" e / ou uma folha. Defina a escala e a posição do galho para corresponder ao pai. Comece um loop 1-5 no galho. 5 repita 1 até crescer totalmente (a escala é muito pequena para continuar).
Na fase de movimento, pode ser útil usar a curva de Sin para fazer sua videira entrelaçar e sair. Você pode ajustar as configurações de quanto ele se curva para obter diferentes tipos de videiras.
Aqui está um link para uma discussão sobre o tópico. Alguma boa fonte pode ser encontrada nos links. http://groups.google.com/group/flashcodersny/browse_thread/thread/9906041e557e620c
Incluindo código-fonte inf flash: http://xfiles.funnygarbage.com/~colinholgate/swf/varicoseg.zip
E uma versão javascript que se parece mais com um raio, mas pode ser adaptada às vinhas sem muitas mudanças: http://www.brainjam.ca/hyperbolic/01_spite_mrdoob.html