Blender: guia completa para o complemento Ivy Generator
Neste guia completa do complemento (add-on) Ivy Generator para Blender, veremos como usá-lo para adicionar ivy a um objeto facilmente, analisaremos seus parâmetros apresentando vários exemplos e, finalmente, como este tutorial faz parte do curso "Curso de Blender: da foto à parede 3D", vamos usá-lo para adicionar hera à "parede" que atualizamos no tutorial anterior (Blender: como adicionar graffiti a uma parede).
Apesar de já existirem muitas alternativas interessantes (como o add-on Ivypen, ou plantas geradas com Geometry Nodes) o add-on Ivy Generator ainda é uma ferramenta valiosa e por isso vem de fábrica no Blender, então para disponibilizá-lo basta ativá-lo.
Vamos iniciar o Blender, excluir o cubo e criar um plano de 1,5 metros de largura e 1 metro de altura (pressione as teclas "Ctrl+A" para confirmar o redimensionamento). Pressionamos a tecla "1" no teclado numérico para olhar o piano de frente
para visualizar melhor os resultados de nossos testes na "3D View", adicione um material genérico ao plano (selecione o plano e clique no botão relativo "New" nas "Material Properties") e defina uma cor vermelha no "Viewport Display"
Como ativar e usar o complemento Ivy Generator:
No menu, clique em "Edit > Preferences" e na janela pop-up "Blender Preferences" clique na guia "Add-ons".
Pesquise por "ivy" e verifique o complemento "Add Curve:IvyGen"
consequentemente, no painel à direita na "3D View" (aquela que podemos visualizar pressionando a tecla "N"), encontramos agora a guia "Create" com a guia "Ivy generator" (que podemos expandir clicando em o pequeno triângulo à esquerda)
Para usar o Ivy Generator temos que selecionar um objeto, no qual a hera irá "subir", e um ponto de partida que é representado pelo "3D Cursor".
Como o ponto inicial geralmente deve estar sobre ou próximo ao objeto, colocaremos o "3D Cursor" sobre ele; podemos fazer isso de várias maneiras, seja posicionando-o manualmente (com Shift+botão direito do mouse) ou movendo-o de forma a sobrepor um vértice do objeto (entrando em "Edit Mode", selecionando o vértice e pressionando a tecla "Shift+S", em seguida, selecionando a opção "Cursor to Selected"). No nosso caso só precisamos posicioná-lo na base do retângulo para que, conhecendo suas medidas, basta definirmos o valor Z=-0.5 para o "3D Cursor" na aba "View" do painel na direita
Selecionamos o plano, clicamos no painel direito no botão "Add New Ivy", na guia do complemento que acabamos de ver
e a planta de hera aparecerá, subindo no nível que criamos,
composto por um conjunto de ramos e um grupo de planos nos quais posteriormente teremos que inserir as folhas como texturas.
Se olharmos para o canto inferior esquerdo, notamos que apareceu uma janela contextual, com um botão "Update Ivy" dentro
esta é utilizada pelo usuário para modificar/atualizar a planta toda vez que for modificar um valor nos parâmetros da janela da direita.
Atenção! A estrutura criada pelo add-on Ivy Generator é considerada como qualquer outra primitiva criada no Blender (cubo, cilindro, etc.) então quando você selecionar outro objeto, ou realizar outra operação, não será mais possível para modificar seus parâmetros. Portanto, é sempre melhor passar para outro trabalho somente quando você tiver concluído definitivamente a configuração da planta de hera.
Configurar os parâmetros do Ivy Generator:
Como já vimos anteriormente, a planta gerada pelo add-on é regulada por vários parâmetros que você encontra no painel à direita, que analisamos em detalhes aqui
Em primeiro lugar, notamos dois botões para gerar a planta hera: "Add New Ivy" permite criar uma planta processando os parâmetros que modificamos, enquanto "Add New Default Ivy" cria uma planta com os parâmetros padrão do add-on, com os valores presentes antes de alterá-los.
Vamos ver as outras variáveis, que são agrupadas em seções
Generation Settings:
Contém parâmetros gerais para geração da planta
- "Random Seed": os ramos são gerados aleatoriamente e cada geração aleatória depende de um parâmetro que é chamado de "semente", do qual depende o conjunto de valores gerados. Então, para uma semente "Random Seed:0" uma planta de uma certa forma será gerada
para "Random Seed:1" outro de outra forma
para "Random Seed:2" outro
e assim por diante
- "Maximum Time": indica o tempo máximo disponível para a geração da hera (medido em segundos). De fato, quando por vários motivos aumentamos o número de ramos e folhas, o número de vértices também aumenta e o sistema pode demorar muito para concluir a operação, portanto, definir um limite de tempo máximo pode evitar bloqueios e lentidões indesejadas.
Se deixarmos o valor 0.00 , nenhuma limitação será aplicada e a operação só terminará quando for concluída.
Size Settings:
- "Max ivy length": este parâmetro indica o comprimento máximo (em metros) que a hera deve ter. No nosso caso, por exemplo, o plano tem 1 metro de altura, então se definirmos "Max Ivy Length: 0.5m" a hera chegará até a metade do plano
enquanto que se usarmos 1 metro como valor com "Max Ivy Length: 1m" a hera quase atingirá o final do plano
no entanto, a hera gerada pelo Ivy Generator tentará aderir sempre à geometria do objeto ao qual foi aplicada, portanto, se dermos um valor maior que a altura do plano, por exemplo "Max ivy length:2m", a hera não vai continuar subindo, mas vai parar na borda superior do retângulo e depois cair novamente (como também aconteceria na realidade)
- "Ivy Size": cada ramo gerado pelo add-on é composto por vários segmentos, dos quais este parâmetro representa o comprimento
se dobrarmos o valor (de 0.02 para 0.04) o comprimento do segmento dobrará e também a ramificação será menos intensa para o mesmo comprimento da planta
- "Max Float Length": representa a distância máxima de flutuação que um galho pode ter, quanto maior ele for, mais os galhos de hera ficarão livres no ar.
- "Max Adhesion Length": indica o quanto os galhos da hera, que sobe no objeto, serão afetados pelos efeitos da adesão ao objeto de referência.
Para explicar melhor o significado desses dois parâmetros, vamos criar um exemplo simples com um cubo, com o mesmo material do plano, pressione a tecla "TAB" para entrar no "Edit Mode" e selecione os dois vértices do canto frontal inferior
Pressionamos as teclas "Shift+S" selecionando a opção "Cursor to Selected"
movendo assim o "3D Cursor" para o centro de gravidade da seleção, ou seja, o ponto médio da aresta selecionada
Pressione a tecla "TAB" para retornar ao "Object Mode" e crie uma planta hera pressionando a tecla "Add New Ivy". Definimos "Max Ivy Length:2m" para que a hera "suba" também na face superior. Pressione o botão "Update Ivy" no canto inferior esquerdo para aplicar a alteração
Vamos agora pressionar a tecla "3" no teclado numérico para ver o cubo de lado
notamos que a hera sobe pela face vertical do cubo, com gavinhas flutuando no ar, depois sobe pela face superior, aderindo-se cada vez mais a ela.
Se agora aumentarmos o parâmetro "Max Float Length" de 0.5 para 1, as gavinhas irão pairar ainda mais no ar antes de se espalharem na face superior
e o máximo de "caos" será alcançado definindo valores ainda baixos para "Max Adhesion Length", por exemplo 0.1, diminuindo a capacidade de "ancoragem" da planta
pelo contrário, para valores baixos de "Max Float Length" (0.1) e altos valores de "Max Adhesion Length" (2.0) a hera irá "achatar" na superfície do cubo.
Weight Settings:
Como vimos nos exemplos anteriores, a hera cresce em uma determinada direção, de acordo com uma certa aleatoriedade (já vimos antes como colocar a semente para a geração aleatória dos ramos), leva em conta a força da gravidade e tenta aderir ao objeto que selecionamos.
Para visualizar melhor os galhos, desmarque a opção "Grow Leaves" na parte inferior
Agora vamos ver os parâmetros:
- "Primary Weight": é um peso que influencia o crescimento na direção dominante; se tiver um valor baixo (0.1) os galhos não se esticarão para subir
se tiver um valor intermediário (0,5) alguns ramos se alongarão completamente, mas alguns manterão uma atitude intermediária,
para valores altos todas as ramificações se estenderão o máximo possível
- "Random Weight": indica o quanto a aleatoriedade afeta o crescimento. Se o valor for alto, a hera crescerá aleatoriamente, em todas as direções ao acaso, se for baixo, a hera crescerá mais reta.
O valor padrão é 0.2 para o qual a planície crescerá assim
para valores baixos (por exemplo 0.01) os galhos crescerão retos, pois prevalecerá a direção primária
enquanto que para valores altos (ex: 1) o desenvolvimento dos galhos será mais caótico
- "Gravity Weight": representa a influência da gravidade no crescimento da planta.
- "Adhesion Weight": representa a influência da adesão ao objeto de referência no crescimento da planta.
Quanto maior o valor que representa a adesão, mais a hera ficará "grudada" na planta, enquanto se a adesão for baixa e o peso da gravidade for bastante alto, a planta "cairá no chão".
Com os valores padrão (Gravity Weight=1, Adhesion Weight=0.1) a hera adere à parede mas os ramos podem flutuar com alguma liberdade, separando-se ligeiramente da parede.
se aumentarmos o peso de adesão (Adhesion Weight=0.5) as gavinhas ficarão mais concentradas na superfície do objeto de referência.
Se, ao contrário, aumentarmos a gravidade e diminuirmos a adesão da hera à parede (Gravity Weight=3, Adhesion Weight=0.01), a planta será arrancada pelo peso e cairá
Branch Settings:
- "Branching Probability": indica a probabilidade de ramificação da planta. O valor padrão é 0.05, para o qual temos mais ramificação direita e menos ramificação esquerda.
Com um valor baixo (0.01) apenas algumas ramificações se formarão
enquanto para um valor dez vezes maior (0.5) a ramificação inicial será muito intensa
- "Ivy Branch Size": representa o raio do "cilindro" que representa cada segmento de um ramo. O valor padrão é 0.001, mas podemos aumentá-lo à vontade. Por exemplo com 0.004 teremos
Grow Leaves:
Ao marcar esta opção, aparecem as folhas e suas opções (crescer). Pode ser útil gerar uma hera sem folhas, tanto para fazer testes mais leves com menos vértices, quanto porque podemos usar este gerador para criar outros tipos de objetos, como um sistema venoso de um corpo humano ou composições abstratas complexas por exemplo.
Ao marcar a opção "Grow Leaves", os dois últimos parâmetros deste complemento também aparecerão.
Leaf Settings:
- "Ivy Leaf Size": indica a largura que as folhas devem ter, em particular indica a largura de meia folha; na verdade com o valor padrão 0.02 criamos uma planta com folhas desse tamanho
- "Leaf Probability": representa a probabilidade de formação de folhas na planta. Com o valor padrão de 0.35 a cobertura é parcial e concentrada nas partes dos galhos mais distantes das raízes
na verdade, se diminuirmos o valor para 0.05, algumas folhas crescerão apenas na ponta extrema das gavinhas
enquanto se aumentarmos o valor, mais e mais folhas crescerão em direção à raiz da planta, até que cubram tudo; de fato, se definirmos "Leaf Probability" como 1, resultará
Como revestir a superfície de um objeto usando o Ivy Generator:
Agora vamos ver como podemos usar hera para cobrir toda a parte superior de um objeto, por exemplo, o cubo (tamanho 1x1) que usamos anteriormente nos exemplos.
Como nos exemplos anteriores, criamos a hera na mesma posição, colocando o "3D Cursor" no meio do segmento inferior do cubo (selecionando os pontos extremos como antes e pressionando as teclas "Shift+S")
Vamos criar nossa hera em "Object Mode", selecionando o cubo e clicando no botão "Add New Ivy"
Para cobrir toda a superfície superior e criar gavinhas mais pendentes, atribuímos o valor "Max Ivy Length: 7m", que é muito maior do que os 2.5 metros necessários, porque temos que garantir que quase todos os galhos atinjam um comprimento suficiente. Então vamos clicar no botão "Update Ivy", no canto inferior esquerdo, para reconstruir a planta com base nos valores modificados.
(Se o seu computador estiver lento, mais de três milhões de vértices serão criados, você pode definir um limite de tempo em "Maximum Time")
Nós pegamos então
A superfície superior foi coberta, porém as gavinhas não descem bem para baixo, portanto aumentamos a influência da gravidade com "Gravity Weight: 2"
Eventualmente você pode diminuir "Branch Probability" ou "Leaf Probability" se seu computador for lento para calcular, pois quanto mais aumentamos o comprimento das ramificações, mais bifurcações são formadas com igual probabilidade, ou diminuir levemente "Gravity Weight" se você deseja mostrar os galhos menos retos e aumentar sua flutuação acima do cubo. Cabe a você modificar de acordo com suas preferências.
Materiais de galhos e folhas no Ivy Generator:
Para atribuir um material aos ramos basta selecionar o "IVY_Curve", presente no "Outliner" no canto superior direito
e na guia "Material Properties" clique no botão "New" para criar um material como de costume.
Para atribuir um material às folhas, selecione "IvyLeaf" em vez
e criar um novo material novamente. Quando vamos atribuir a textura às folhas, no "UV Editor" encontramos que as projeções das folhas estão todas sobrepostas, veremos no próximo exemplo prático como lidar com esta situação.
Exemplo prático, vamos colocar hera na parede:
Para explicar como adicionar um material às folhas, vamos pegar o exemplo blender_add_graffiti_wall_display_modificator.blend do tutorial (Blender: como adicionar graffiti a uma parede) para finalizar o trabalho adicionando uma planta de hera.
Poderíamos usar um dos vértices da grade de subdivisão para colocar o "3D Cursor"
mas como o plano está no eixo X e sabemos suas dimensões, posicionamos o "3D Cursor" manualmente no ponto (x: 0.66 metros, y: 0 m, z: -0.6m) na guia "View" do painel à direita, aquele que aparece pressionando a tecla "N".
Selecionamos o plano que representa a parede então, ainda no painel da direita, clique na aba "Create" e na aba "Ivy Generator" clique no botão "Add New Ivy".
Para fazer a hera chegar ao topo da parede, atribuímos o valor "Max Ivy Length: 1.7m", depois clicamos no botão "Update Ivy" no canto inferior esquerdo e obtemos
Como vimos antes, para atribuir um material aos ramos, devemos selecionar "IVY_Curve" no "Outliner", depois na guia "Material Properties", como a imagem é pequena e os tentáculos de hera mal são vistos, criamos um material simples composto por apenas um nó shader "Principled", com "Base Color:#463526" (os outros parâmetros têm os valores padrão).
(Se os galhos de hera estivessem mais próximos de nossa visão, poderíamos ter criado uma textura misturando duas variedades de marrom, inserindo uma "Noise Texture" ou uma "Voronoi Texture" na porta "Fac" da "Mix Color")
Vamos baixar as texturas das folhas da planta em https://ambientcg.com/view?id=LeafSet017; o arquivo compactado (para baixar pelo menos a versão 4K porque estamos interessados apenas em uma parte de cada imagem) contém vários arquivos, em particular uma versão "Color" (ou seja, a "foto" das folhas), "Opacity" (que é uma máscara que define o perfil das folhas, uma vez que não está disponível uma versão png transparente), "Displacement", "Roughness" e o normal "NormalDX" (para software que suporta bibliotecas DirectX) e "NormalGL" (para software que usa bibliotecas OpenGL). Para formatos normais e materiais PBR veja também o tutorial "Blender tutorial: material PBR para parede de tijolos".
Recortamos (com um software gráfico 2D) de LeafSet017_4K_Color a folha que nos interessa (que felizmente está posicionada no canto superior esquerdo)
e usamos sua seleção para obter os outros mapas também (no Blender usaremos apenas o normal para bibliotecas OpenGL)
Selecione "IvyLeaf" (o plano que representa instâncias de todas as folhas) no "Outliner"
e quanto aos galhos criamos um novo material "Leaf" na aba "Material Properties", clicando no botão "Novo".
Agora clique na guia "UV Editing" para acessar o workspace relacionado.
No "UV Editor" à esquerda, carregamos a imagem da folha de hera, clicando no botão "Open Image"
Devemos agora posicionar bem o "UV Map" para que o plano coincida bem com o início da folha (caso contrário, as folhas seriam destacadas dos galhos; mesmo que em alguns casos as folhas sejam penetradas pelos galhos, então teríamos procurar a imagem de uma folha com caule, para poder gerir uma certa margem de erro). Na "3D View" à direita, pressione a tecla "TAB" para entrar no "Edit Mode"
mas notamos que à esquerda, no "UV Editor", apareceu um plano branco que nos impede de ver a imagem subjacente.
O que aconteceu? Não tem erro, são simplesmente todos os planos das instâncias de folha que se sobrepõem, somando assim as muitas transparências para formar uma cor opaca. De fato, se tentarmos mover um vértice, descobriremos que existem outros por baixo
vamos então modificar os valores de transparência no editor: selecione "Edit > Preferences" no menu principal e na janela de preferências selecione a aba "Themes", em "UV/Image Editor" modifique os valores de transparência de "Face" (0.004) e "Face Selected" (0.008)
Agora podemos (selecionando e pressionando as teclas "G" e "R" de acordo com as direções X e Y) redimensionar o mapa de malha de forma mais confortável
Acessamos o espaço de trabalho "Shading" clicando na guia relativa na parte superior e, no "Shader Editor", conectamos a textura da cor ("Add > Texture > Image Texture" e carregando a imagem relativa) à "Base Color" porta do nó "Principled" , a textura de rugosidade para porta "Roughness", a textura "NormalGL" para porta "Normal" usando o nó "Normal Map" ("Add > Vector > Normal Map").
Além da textura que representa a cor (a foto da folha), todas as demais devem ter o "Color Space: Non-Color" definido.
Conectar as texturas à porta "UV" de um nó "Texture Coordinate" ("Add > Input > Texture Coordinate") indica que usaremos o "UV Map", previamente visualizado e redimensionado, para exibir corretamente as texturas.
A textura "Opacity" serve para indicar quais partes são visíveis e quais são transparentes, então a conectamos à porta "Alpha" do shader.
Alternativamente, se por exemplo precisarmos adicionar um efeito de translucidez à folha, podemos usar a textura "Opacity" para misturar a jusante o resultado obtido com um shader "Transparent" ("Add > Shader > Transparent") .
Se renderizarmos, pressionando F12,
notamos que algumas folhas e galhos penetram na parede de tijolos
ou folhas que às vezes não partem da gavinha, mas o galho as atravessa. Neste caso, você pode atuar no "Object Mode" movendo a planta inteira alguns centímetros, ou ativando a "Proportional Editing" no "Edit Mode" para mover apenas parte de um galho (as folhas relativas também terão que ser movidas mais tarde)
Ou, para tornar a cena mais leve eliminando alguns vértices, podemos eliminar as folhas no "Edit Mode" e galhos que não estão visíveis e que não nos interessam: colocando-nos em vista lateral (pressionando a tecla "3" no teclado numérico) usando a seleção retangular podemos selecionar os vértices das folhas que são invisíveis, ou não muito visíveis porque estão atrás da parede, no modo "wireframe"
então, pressionando as teclas "Ctrl+L", selecionamos automaticamente as partes restantes das folhas
que podemos excluir pressionando a tecla "X".
Aqui está o resultado após um processamento inicial, depois de reposicionar/girar algumas folhas, mover alguns galhos etc. em "Edit Mode"
Para este tutorial sobre o complemento Ivy Generator é tudo. É uma ferramenta preciosa sobretudo quando temos de modelar a vegetação que cobre casas abandonadas, castelos, monumentos antigos ou outros, para os quais poderemos criar ainda mais plantas de hera, prestando muita atenção a um aumento exponencial dos vértices do cena. Happy blending!
Volta ao curso "Curso de Blender: da foto à parede 3D"