Geometry Nodes – Blender incomodando gigantes

Na maioria dos softwares de modelagem 3D é possível fazer modelagem direta, porém, somente os softwares mais renomados que dispoem de modelagem procedural … Bem, isso até o lançamento da versão 2.92 com o Geometry Nodes.

 

Um dos recursos mais aguardados pelos usuários do Blender sem dúvida era o Geometry Nodes. Pois, a modelagem procedural agiliza demais o trabalho, fora que é possível realizar alterações da forma muito prática. Então, com os diversos investimentos que o Blender vem recebendo, foi possível a criação desse recursos.

Mas, muita calma nessa hora … Esse recurso ainda está muito começo então, tem poucas coisas para você brincar 🙁

E possível muita coisa pode mudar então, nesse artigo vou lhe mostrar o básico sobre o Geometry Nodes para você já utilizar nos seus projetos, e no final vou mostrar como montar um queijo utilizando esse recurso 😀

 

 

“Aplicando” o Geometry Nodes

Para utilização do Geometry Nodes, foi criado um editor exclusivo para ele (Geometry Nodes Editor) e o modifier (Geometry Nodes). Vamos utilizar a cena inicial do Blender para entender mais detalhes sobre o Geometry Nodes.

Para pode utilizar todos os recursos disponíveis do Geometry Nodes é necessário ter o Geometry Nodes Editor aberto em algum lugar. Então, vamos ver abaixo o processo para abrir o mesmo:

1) Clique com o botão direito na divisão das telas e escolha a opção “Vertical Split” e arraste arraste o mouse até o meio da tela e dê um clique;

2) Com isso terá duas (02) telas com a 3D Viewport;

3) Selecione o “Editor Type” de qualquer uma das duas (02) tela e escolha a opção “Geometry Nodes Editor”;

4) Com isso o Geometry Nodes Editor será exibido;

Ainda não é possível criar formas do nada no Geometry Nodes Editor … AINDA … Então, vamos dar apenas um clique no cubo inicial para deixar o mesmo selecionado.

Você pode reparar que o Geometry Nodes Editor continua vazio. Pois, além de ter o objeto selecionado é necessário adicionar um modifier “Geometry Node”. Existem duas (02) formas para fazer isso. Clicando no botão “New” na parte superior do Geometry Nodes Editor:

Ou adicionando no menu “Modifier Properties”, combobox “Add Modifier” e escolhendo “Geometry Nodes”;

Ao adicionar o modifier “Geometry Nodes”, será exibido na tela dois (02) nodes ligados Group Input e Group Output

Group Input: É a entrada do objeto selecionado;
Group Output: É a saída do resultado final;

Como sabemos que Group Input é a entrada e Group Output é o resultado final, então, todos os nodes que vamos adicionar terá que ficar entre esses dois (02) nodes para chegar ao resultado final.

Porém, como você está vendo até agora não aconteceu nada com o cubo inicial. Vamos começar ver alguns nodes para entender melhor o funcionamento dessa nova ferramenta.

 

 

Node Transform

O primeiro node que vamos ver o node Transform, com ele é possível realizar as principais transformações com o objeto, movimentar, dimensionar e rotacionar.
1) Clique no menu “Add” ou o atalho de teclado “SHIFT+A”;
2) Com o menu aberto faça o seguinte caminho: Geometry > Transform;

Se você reparar o node Tranform vai acompanhar o mouse até você dar um clique onde o mesmo deve ser aplicado. Então, clique em um espaço vazio;

Com isso, o node será adicionado na tela, porém, como vimos anteriormente para que o efeito seja aplicado no objeto, os nodes têm que estar entre o Group Input e Group Output. Conecte a saída do Group Input com a entrada do Transform e a saída do Transform com a entrada do Group Output, depois organize os nodes na parte para ficar com um aspecto melhor;

Obs.: É muito importante manter os nodes organizado, assim em futuras alterações o processo será muito mais fácil e rápido.

Outra forma de fazer essa ligação é clicar no Transform, arrastar e soltar em cima da linha de ligação dos nodes Group Input e Group Output.

Beleza, eu fiz isso tudo e o cubo ainda está o mesmo jeito (Viu só como eu posso ler a sua mente :O)

Se você repara todos os valores do node Transform estão zerado, então, o cubo fica da mesma forma. Porém, quando você começar a alterar os valores, verá que o cubo vai sofrer as alterações.

Os primeiros valores que podemos alterar é o Translation, com esse valor é possível alterar a posição do cubo na cena.

Assim, como no painel de propriedades é possível realizar alterações desses valores de várias formas:
1) Clicando e digitando os valores;

2) Clicando nas setas direcionais ao lado dos valores;

3) Clicando em cima do valor e arrastando o mouse;

Os próximos valores são: Rotation e Scale, que rotacionam e dimensionam o objeto respectivamente.

Conforme, você está percebendo com esse node é possível realizar várias alterações no objeto que não são “destrutivas”. Qualquer coisa pode ser modificada facilmente. Então, continue brincando com os valores e vendo os resultados finais 😀

Olha, só que interessante, ao lado de cada opção de transformação Translation, Rotation e Scale existe uma entrada para conexão com outro node. Com isso, as possibilidades de alterações nesses elementos aumentam demais 😀

 

 

Node Join Geometry

Vamos conhecer um pouco do node Join Geometry 😀

Esse node serve para “juntar” duas geometrias, porém, não é uma igual ao modifier Boolean (E tem um node específico para isso). Essa união vai colocar duas (02) geometrias diferentes na tela. Vamos ver na prática o funcionamento.

Para adicionar esse node faça o seguinte processo:
1) Clique no menu Add ou pelo atalho de teclado SHIFT+A;

2) Geometry > Join Geometry e coloque no node entre os nodes Transform e Group Output;

Como você reparar não acontece nada mas, como foi dito anteriormente, esse node serve para “juntar” duas (02) geometrias e na cena inicial tem somente um (01) cubo. Ao invés de adicionar um novo cubo na cena, vamos utilizar o Geometry Nodes para “criar” outro 😀

Como o node Transform na cena está configurando as propriedades básicas do objeto (Tamanho, Rotação e Localização), se esse node for duplicado com configurações diferentes, você concorda comigo que teremos um novo objeto na cena? Está duvidando? Vamos fazer isso agora 😀

1) Dê apenas um (01) clique no node Transform para seleciona-lo (Ele vai ficar com uma borda branca ao lado);

2) Clique no menu Node > Duplicate ou o atalho SHIFT+D;

3) Adicione esse novo node abaixo do node Transform da cena;

Com isso os nossos nodes ficaram da seguinte forma:

Agora, vamos fazer a ligação desse segundo node Transform, com os outros elementos. Assim, tudo que for feito nele, poderá ser visualizado na 3D Viewport.

Clique na saída do Group Input e ligue na entrada Geometry do Transform, ligue a saída Geometry do Transform na entrada Geometry do Join Geometry. Abaixo, está uma reprodução para você entender melhor 😀

Ao fazer isso você vai ver que não aconteceu nada kkk
Faça o seguinte, altere os valores de Translation X, Y ou Z para ver o novo cubo surgindo 😀

Duplicando o node Transform e ligando ao node Join Geometry, podemos ter dois (02) cubos na cena. Ao alterar os outros valores de Rotation e Scale no segundo Transform, você verá que serão aplicados no segundo cubo da cena.

Talvez, você esteja pensando “Somente é possível juntar dois (02) objetos, pois, o Join Geometry somente tem duas (02) entradas”. Seu pensamento está certo e errado ao mesmo tempo rsrs

Se você utilizar apenas um (01) node Join Geometry, somente será possível ter duas (02) geometrias na tela. Mas, se você adicionar o node Join Geometry novamente, poderá ter mais coisas na cena 😀

1) Adicione mais um node Join Geometry na cena, conforme a reprodução abaixo:


AVISO – Organizando Nodes

Antes de continuar, você pode reparar que com poucos nodes a tela já fica com um aspecto um pouco “bagunçado”, então, ver mais algumas coisas sobre nodes para deixar essa tela mais “organizada”.

Lembrando, que o que vou mostrar é uma organização pessoal que utilizo que facilita demais para novas alterações. Talvez, para você seja de outra forma, então, é interessante conhecer bem os recursos que serão apresentados aqui para assim, você melhroar o seu fluxo de trabalho.

Primeiro passo que podemos fazer é renomear alguns nodes. Em nosso exemplos, temos até o momento dois (02) nodes Transform, porém, se for acrescentado mais um (01) será complicado saber quem está controlando quem. Então, vamos alterar os nomes (label) desses nodes. Um será chamado cubo1 e outro cubo2 .

1) Clique apenas uma vez no node Transform superior para deixar selecionado;

2) Clique com o botão direito e escolha a opção Rename ou aperte o atalho de teclado F2;

3) Digite o nome “cubo1” e aperte a tecla Enter para confirmar;

4) Repita o mesmo processo para o segundo Transform, colocando o nome “cubo2”;

Está certo que o nome “cubo1” e “cubo2” não são muito sugestivos para informar quem é quem, mas, para ilustrar esse tutorial vai ser útil. O ideal é colocar um nome que seja fácil para identificação.

Outra coisa que podemos fazer é “minimizar” os nodes que não estamos utilizando no momento. Ao lado do nome do node tem uma pequena seta, clique nela que o node vai ser “encolhido” ao clicar novamente ele vai ser “expandido”.

Como não iremos mais mexer nos “cubo1” e no “cubo2”, vou deixar os dois (02) encolhidos e vou arrastar os nodes para ficar mais organizado.

Agora já está bem mais organizado 😀
Vamos voltar ao processo para adicionar mais um cubo na cena 😀


2) Agora que temos mais um node Join Geometry na cena, você pode reparar que tem mais uma entrada disponível. Então, adicione mais um node Transform, ligue no Group Input e no Join Geometry e renomeie para “cubo3”;

Com isso temos três (03) cubos na cena, criados de forma totalmente procedural, e dando uma olhada no Outliner você vai perceber que temos apenas um (01) cubo com modifier aplicado.

Caso, você queira adicionar mais uma geometria na cena, repita essa processo quantas vezes, forem necessárias. Vamos prosseguindo com outros nodes.

 

 

Node Boolean

Até o momento temos três (03) objetos na cena (Dois (02) criados de forma procedural), porém, você precisa fazer uma união ou mesmo corte baseado no tamanho do outro, para isso temos o node Boolean.

Assim, como o modifier Boolean essa node tem a mesma função Intersect, Union e Difference.

Então, vamos adicionar o node Boolean na cena.
1) Clique no menu Add ou atalho SHIFT+A;

2) Mesh > Boolean;

3) Deixe node em um espaço vazio qualquer por enquanto;

Como você pode reparar o node Boolean tem duas (02) entradas para a geometria 1 e geometria 2 e apenas uma saída com o resultado final. Abaixo, você verá um exemplo, com dois (02) objetos e os resultados de cada opção escolhida.

Vamos ver como isso fica na prática. Em nossa cena as três (03) geometrias estão separadas e esse, é um recurso para geometrias que estão “um por cima da outra”.
Então, iremos criar mais uma geometria na posição inicial e fazer essas alterações com o “cubo1”.

Primeiro passo é adicionar mais um nodes Transform na cena, acima do “cubo1” e ligar o Group Input na entrada desse novo node;

Alterar os seguintes valores desse novo Transform:
Translation Y: 1
Translation Z: 1
Scale X: 2

Como você pode reparar, não temos entradas disponíveis para ligar esse novo node Transform na cena. Vamos fazer o seguinte, o “cubo1” que sofrerá a transformação junto com esse novo node, então, o “cubo1” será ligado ao node Boolean, o novo node Transform também será ligado ao node Boolean e a saída do node Boolean será ligada ao Join Geometry que o “cubo1” estava ligado anteriormente :O
Ficou meio confuso rsrs
Abaixo, mostro como vai ficar:

Com isso, as alterações já estão sendo aplicadas na cena. Altere entre “Intersect”, “Union” e “Difference” e veja as mudanças no 3D Viewport 😀

 

 

Montando um Queijo procedural

Até o momento, realizamos a explicação dos nodes de forma aleatória, porém, vamos montar um pequeno projeto com o conhecimento aprendido até o momento e acrescentar mais algunas coisas 😉

Iremos montar um pequeno Queijo 😀

1) Como a nossa cena já está muito bagunça, vamos realizar a criação de um novo arquivo:

2) Apague todos os elementos inicias da cena (Cubo, Luz e Camera);

3) Adicione um novo cilindro na cena:
3.1) SHIFT + A;
3.2) Mesh > Cylinder;

4) Altere o valor de “Radius” para “3 m”, assim o cilindro vai ficar com esse aspecto mais achado, ficando mais parecido com um queijo;

5) Adicione uma esfera (UV Sphere), que com ela, vamos fazer os “furos” do queijo;
5.1) SHIFT + A;
5.2) Mesh > UV Sphere;

6) Alterar os seguintes valores da UV Sphere:
6.1) Radius: 0.4 m
6.2) Location Y : 4m

7) Com isso teremos dois (02) objetos na cena, Cylinder (Queijo) e a Sphere (Buraco do queijo)

8) Agora, vamos dividir a tela para abrir o Geometry Nodes Editor. Vamos, deixar o layout da tela da mesma forma que foi vista alteriormente no tutorial:

9) O Geometry Nodes será aplicado no cilindro, então, dê apenas um clique no cilindro e clique no botão New;

10) Vamos adicionar um node Transform e ligar entre Group Input e Group Output, assim vamos preservar a forma do cilindro;

11) Agora, vamos utilizar dois (02) nodes para criar o efeito do buraco do queijo, Point Distribute e Point Instance. O node Point Distribute vai distribuir o objeto aleatoriamente e o Point Instance vai indicar qual objeto vai ser distribuído. Adicione no espaço vazio esses dois (02) nodes;
11.1) SHIFT + A ou Add;
11.2) Point > Point Distribute || Point Instance;

12) Vamos fazer as ligações dos nodes (Group Input > Point Distribute > Point Instance) e organizar a cena;

12.1) O node Transform foi inserido para preservar o forma cilindrico do Queijo;
12.2) O node Point Distribute irá espalhar a esfera pelo cilindro todo, fazendo aqueles “buracos” característicos dos queijos;
12.3) O node Point Instance vai informar que devemos utilizar a UV Sphere;

13) Altere os seguintes valores do node Point Distribute:
13.1) Poisson Disk;
13.2) Distance: 1.8 m;
13.3) Density M: 5;

14) Selecione a esfera no campo Object do node Point Instance;

15) Até o momento as coisas continuam da mesma forma no 3D Viewport. Então, para finalizar e visualizar o resultado, vamos adicionar o node Boolean, assim a esfera poderá fazer “buracos” no cilindro utilizando a opção difference 😀
Adicione o node Boolean e faça a ligação do Transform e do Point Instance nele;

16) Com isso teremos o nosso pequeno queijo procedural criado 😀
Caso, você queira mais ou menos buracos é necessário apenas alterar os valores Distance e Density no node Point Distribute

Eu quero lhe agradecer por dedicar um tempo para leitura, dessa pequena introdução ao Geometry Nodes do Blender. Como esse é um recurso muito novo, talvez em versões futuras tenha muitas alterações, então, estarei sempre publicando novos documentos mostrando as novidades e outras coisas interessantes que é possível fazer com esse recurso.

Lembrando, que críticas e sugestões são sempre bem vindas para melhorarmos cada vez mais 😀

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Post comment