Neste sétimo tutorial da série sobre fogo e fumaça com o simulador de fluidos no Blender 4.5, vamos ver como usar Voxel Attributes, descritos no tutorial anterior, para modificar os materiais de fogo e fumaça na renderização.


Este tutorial faz parte de uma minissérie de 10 episódios sobre os fundamentos de Fogo e Fumaça no Blender 4.5. Para ver a lista completa de episódios, clique aqui.


Transcrição do vídeo

Olá a todos! Neste sétimo tutorial da série sobre fogo e fumaça com o simulador de fluidos no Blender 4.5, vamos ver como usar Voxel Attributes, descritos no tutorial anterior, para modificar os materiais de fogo e fumaça na renderização.

Na cena que estou usando para o primeiro exemplo deste episódio, a emissão do fogo vem de um Vertex Group do objeto com o componente Fluid configurado como Inflow Fire. O Domain da simulação envolve apenas a parte superior do queimador, pois é ali que a chama se desenvolve.

Falando sobre emissão a partir de um Vertex Group, se as chamas emitidas não estiverem visíveis, o problema pode estar relacionado à resolução do Domain. Com resoluções muito baixas, e portanto Voxels muito grandes, os Voxels que contêm os vértices emissores podem ser considerados vazios e não emitir chamas. Então tente aumentar a resolução do Domain.

Com as configurações padrão, a chama inicial será muito baixa, até mesmo invisível em uma vista lateral, mas a esta altura já conhecemos várias maneiras de ajustar sua aparência. Por exemplo, podemos atuar na velocidade inicial do objeto Inflow para dar um impulso para cima nas chamas, ou na velocidade de reação do Domain para tornar as chamas mais altas. Quanto ao tipo de chama produzida por este queimador, ela pode variar tanto em turbulência quanto em cor. Para obter uma chama do quarto tipo, com quase nenhuma turbulência, reduzo o valor de Vorticity na seção Fire do Domain para 0.

Como última alteração antes de passar para a definição do Material, estou adicionando mais vértices ao Vertex Group de emissão e limitando a animação da Timeline aos últimos 100 quadros da simulação, ou seja, quando a chama já está bem desenvolvida e estável.

OK, vamos passar para a definição do Material! Estou definindo a vista lateral 3D diretamente para o modo Rendered com o Strength do World background ajustado para 0, então inicialmente a pré-visualização ficará preta. Em um Image editor à esquerda, coloquei uma imagem de referência, enquanto no centro tenho o Material editor com o Domain, que possui um nó Principled Volume.

Como sabemos dos tutoriais anteriores, aumentar o Emission Strength e atribuir uma cor uniforme ao campo Emission Color nos dá um resultado muito decepcionante. Vimos como usar Blackbody, mas agora é realmente hora de aprender a usar o modo Emission.

No episódio anterior, aprendemos que o simulador de fluidos armazena informações para cada Voxel. Esses dados podem ser recuperados usando nós Attribute, digitando os nomes dos atributos no campo apropriado. No entanto, materiais volumétricos têm um nó dedicado chamado Volume Info, que fornece esses atributos como saídas.

Ao conectar a saída Flame ou a saída Temperature à entrada Emission Strength, a aparência da chama muda drasticamente. A saída Flame fornece valores melhor interpolados em comparação com a saída Temperature, o que também torna a resolução do Domain mais evidente.

Por esse motivo, vou usar Flame.

As saídas Flame e Temperature também podem ser usadas para Emission Color, especialmente se colocarmos um nó Color Ramp entre elas. Dessa forma, podemos alterar a cor da chama em diferentes pontos com base nas informações contidas nos Voxels do Domain.

Estou usando a informação Flame para o Color Ramp e, portanto, para o parâmetro Emission Color do Material. Neste ponto, a tarefa é definir os níveis de cor e transparência dos pontos do Color Ramp. Para isso, você pode usar o Color Picker do Blender para amostrar cores diretamente da imagem de referência.

Tenha em mente que as cores dos vários pontos também podem incluir níveis de transparência, que são muito úteis para as partes externas da chama, onde frequentemente vemos uma região semitransparente antes da borda, que é mais opaca.

Você também precisará escolher cuidadosamente a interpolação entre os Color Stops.

Entre essas opções, a mais extrema é Constant, que faz a transição abrupta de um Color Stop para outro. Não é muito realista, mas pode ser usada para representações mais artísticas.

Se este tutorial sobre Materials parece curto, é apenas porque estamos nos baseando nas informações e parâmetros que estudamos nos tutoriais anteriores.

Neste ponto, já sabemos o suficiente para começar a definir diferentes formas de chama por meio dos parâmetros de Fluid tanto do Domain quanto dos objetos Flow, e sua aparência visual usando Blackbody ou Emission, com os vários nós fornecidos pelo Blender.

Não se limite à configuração que acabei de mostrar. Experimente também outros nós de Material. Por exemplo, você pode adicionar um nó Math configurado como Multiply ou Power para modificar o Emission Strength, alterando a informação proveniente de Flame. Além disso, os parâmetros desses nós podem receber keyframes, então você pode animar a intensidade da chama por meio desses nós alterando o Material, sem precisar ajustar os campos do componente Fluid da simulação.

Antes de encerrar este tutorial, deixe-me mostrar como criei três objetos Inflow com três cores diferentes dentro do mesmo Domain. O resultado não é perfeito, mas vou usá-lo como oportunidade para demonstrar outro caso de uso para nós. Em particular, o Color Ramp.

Como sabemos, o Material deve ser definido no nível do Domain, porque ele é gerado a partir dos Voxels do Domain. Isso significa que não podemos atribuir diferentes nós Blackbody aos objetos Inflow dentro dele.

No entanto, um dos campos dos objetos Inflow é Smoke Color, definido no painel Inflow.

Essa cor pode ser recuperada no Shader do Domain por meio do nó Volume Info, especificamente usando a saída Color.

Usando esse campo como Factor em um nó Mix Shader, podemos atribuir diferentes nós Principled Volume a diferentes Voxels dependendo da cor de fumaça definida para eles.

Mas o Mix Shader sozinho simplesmente misturaria os dois Shaders meio a meio, então precisamos usar um Color Ramp com uma separação nítida entre as cores vindas do Volume Info.

Para alcançar isso, defino o método de interpolação como Constant.

Em seguida, atribuí três cores diferentes aos campos Color dos três objetos Inflow: branco, cinza e preto, da esquerda para a direita.

O primeiro Color Ramp separa o preto das outras cores. Preto corresponde a 0, então é enviado para a primeira entrada Shader do primeiro nó Mix Shader, que neste caso está conectado a um nó Principled Volume com um Blackbody Tint vermelho.

Também estou ativando Denoise na pré-visualização 3D para definir melhor a cor dos elementos na vista Rendered.

A segunda entrada Shader do Mix Shader está conectada a um nó Principled Volume com um Blackbody Tint azul. Então, neste ponto, se a cor da fumaça for preta, obtemos um Blackbody vermelho.

Se a cor da fumaça não for preta, obtemos um Blackbody azul.

Em seguida, vem outro nó Mix Shader, que recebe como entrada outro Color Ramp, configurado especificamente como Constant com um Color Stop colocado exatamente no ponto médio da rampa.

Neste caso, se a cor da fumaça estiver entre preto e cinza, a primeira entrada Shader do segundo Mix Shader é usada. Esse Shader era o resultado da distinção anterior entre preto e cinza, então a cor final será vermelha ou azul.

Se, em vez disso, a cor da fumaça estiver entre cinza e branco, então a segunda entrada Shader do segundo Mix Shader é usada. Essa entrada está conectada a um nó Principled Volume com um Blackbody Tint verde.

Assim, o objeto com branco como Smoke Color será renderizado em verde.

Claro, este não é o único método que você pode usar para criar esferas flamejantes com duas ou três cores diferentes, mas quis mostrá-lo como um exemplo de uso. Como mencionei antes, a separação não é perfeita, então encorajo você a sugerir ajustes ou configurações alternativas nos comentários caso encontre outras soluções!

Pesquisar nos Tutoriais

Digite uma frase ou várias palavras-chave separadas por vírgulas para pesquisar.

Modelos 3D, tutoriais e recursos de computação gráfica de Francesco Milanese. As licenças de uso dos modelos 3D podem ser adquiridas nas lojas externas indicadas pelos links nas respectivas páginas, conforme os termos de licença aplicáveis. Francesco Milanese — Número de IVA: 06321250877. Contato: info@francescomilanese.com


INFORMAÇÕES DE POLÍTICA DE PRIVACIDADE AVANÇADAS E USO DOS FICHEIROS DE COOKIES