Neste quarto tutorial da série sobre fogo e fumaça com o simulador de Fluid no Blender 4.5, vamos analisar em detalhes os parâmetros dos três tipos de objetos Flow usados na simulação física de fogo e fumaça.
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.
A versão em vídeo deste tutorial não está disponível no momento neste idioma, mas está disponível em inglês selecionando o idioma correspondente na parte superior da página.
Transcrição do vídeo
Olá a todos! Neste quarto tutorial da série sobre fogo e fumaça com o simulador de Fluid no Blender 4.5, vamos analisar em detalhes os parâmetros dos três tipos de objetos Flow usados na simulação física de fogo e fumaça.
Na cena que estou usando, há algumas toras colocadas dentro de uma lareira. Essas toras formam um único objeto mesh, que vamos configurar como Inflow. Já criei um Domain para a simulação, envolvendo apenas o volume da lareira.
Eu atribuo às toras um componente Fluid do tipo Inflow. O modo Fire And Smoke inclui tanto os parâmetros de Smoke quanto de Fire, então escolho essa combinação para analisar todos eles. Mais adiante vou indicar quais parâmetros pertencem apenas a Smoke e, portanto, não estão disponíveis em simulações somente de Fire. Como você pode ver, não há muitos parâmetros.

Por padrão, o Flow Behavior está definido como Geometry. Como sabemos pelos episódios anteriores, esse modo produz uma explosão inicial de chama e fumaça, depois da qual o objeto deixa de emitir fogo e fumaça. Pode ser útil para explosões ou jatos únicos de fumaça, mas no nosso caso precisamos do modo Inflow. De qualquer forma, exceto pela caixa de seleção Use Flow, Geometry e Inflow compartilham os mesmos parâmetros, então vamos examiná-los usando o Inflow.
No episódio anterior, você já viu que, para controlar a quantidade de chamas produzidas, podemos ajustar o parâmetro Fuel. No nosso caso, podemos reduzi-lo um pouco para gerar chamas vivas, mas não excessivas, ou reduzi-lo bastante para criar brasas incandescentes.

Vou reduzir um pouco o tamanho do Domain e aumentar a resolução. Antes de examinar os parâmetros do Inflow, vamos ver como fazer a fumaça dentro da lareira desaparecer usando um objeto Outflow.
Objetos Outflow são meshes que fazem com que os elementos da simulação de Fluid, sejam fogo ou fumaça, desapareçam ao colidir com eles. Estou adicionando um Plane simples para usar como Outflow, posicionando-o no topo da lareira, onde a fumaça normalmente subiria pela chaminé. Objetos Outflow, assim como objetos Inflow, não precisam necessariamente estar visíveis na renderização. Então estou desativando a visibilidade do objeto Outflow tanto na visualização do 3D Viewport quanto no render final. A partir de agora, vou selecioná-lo pelo Outliner.
Em seguida, adiciono um componente Fluid ao objeto, defino o tipo como Smoke Flow e o Behavior como Outflow.
Esse tipo de objeto tem poucos parâmetros, e na verdade eles também estão presentes nos objetos Geometry e Inflow, então vou descrevê-los brevemente.
A opção Is Planar deve ser ativada se o objeto não tiver volume ou, de modo geral, se não for fechado. Como o Plane é exatamente esse tipo de objeto, habilito essa opção.
O parâmetro Use Flow permite ativar ou desativar o Inflow ou Outflow e pode ser animado, sendo útil se você quiser criar emissão ou remoção intermitente ou não contínua de fogo e fumaça em uma animação.
O parâmetro Sampling Substeps define o número de etapas adicionais da simulação calculadas entre os quadros, melhorando a qualidade da simulação. É muito útil em simulações rápidas e mesmo um valor baixo, como 3, produz diferenças perceptíveis. Surface Emission e Volume Emission fornecem deslocamentos para o ponto de emissão ou captura de fogo e fumaça em relação à superfície ou ao volume do objeto, mas nesta situação não precisamos deles. Falaremos sobre Flow Source mais adiante.
Ao reproduzir a simulação, percebemos que no início tudo parece correto, mas em certo momento um pouco de fumaça consegue escapar para cima. Aumentar o número de Substeps não muda a situação.

Tornando o Plane visível novamente na 3D View e mudando o ponto de vista, a solução fica clara: o Plane é pequeno demais, então em determinado momento parte da fumaça escapa para fora e sobe. A única solução é redimensionar corretamente o Plane e tentar novamente.

Agora vamos examinar em detalhes os parâmetros do objeto Inflow, exceto aqueles que já vimos com o Outflow.
Smoke Color na verdade se refere à cor da fumaça na visualização do 3D Viewport, porque a cor da fumaça no render é definida em outro lugar. Atribuir uma cor diferente aqui pode ser útil para identificar a fumaça com mais facilidade em cenas complexas ou para usar esse atributo do objeto no Shading a fim de alterar cores ou outros aspectos do Domain Material.
O campo Absolute Density vem ativado por padrão e, em geral, é melhor mantê-lo assim, pois garante que haja apenas uma determinada densidade máxima de fogo e fumaça dentro do Domain.
Se for desativado, o fogo e a fumaça podem aumentar drasticamente, às vezes resultando em uma espécie de incêndio descontrolado. Aqui o efeito é limitado pela presença do Outflow, então vou remover temporariamente esse objeto do Domain para mostrar como as chamas aumentam. Desativar Absolute Density pode ser útil em alguns cenários, mas na maioria dos casos não é, então vou ativá-lo novamente.
Os parâmetros Initial Temperature e Density se referem à fumaça, portanto não estão disponíveis em simulações somente de Fire. Density se refere à quantidade de fumaça a ser emitida, e valores mais altos correspondem a volumes maiores. Na cena que estou usando, está sendo emitida fumaça demais, então vou reduzir esse valor.
O parâmetro Initial Temperature define a diferença entre a temperatura da fumaça e a do ambiente ao redor, controlando a velocidade com que os gases sobem. No entanto, seu efeito está ligado a um parâmetro do Domain chamado Buoyancy Heat, então vamos analisá-lo com mais profundidade em outro episódio.
Até agora, fiz os objetos Inflow emitirem chamas por toda a superfície, mas é possível limitar a emissão apenas a certas partes dos objetos selecionando vértices em um Vertex Group e depois especificando o nome desse Vertex Group no campo dedicado do componente Flow.
Outra ferramenta que permite adicionar variação à emissão das chamas é Texture, encontrada na parte inferior do painel Inflow. Aqui podemos atribuir uma Texture e, principalmente, usar o campo Offset, que define qual “fatia” de uma Texture procedural será usada.
Textures procedurais como Clouds ou Noise não são imagens bidimensionais, mas volumes tridimensionais reais.
Ao animar o valor de Offset ao longo da Timeline, como estou mostrando na tela, deslocamos a Texture verticalmente, usando um padrão diferente a cada momento para a emissão.
Isso dá às chamas uma aparência menos uniforme. O problema desse sistema é que geralmente são necessárias várias tentativas para encontrar a combinação certa de tipo de Texture e variação de Offset antes de alcançar um bom resultado.

As ferramentas do grupo Initial Velocity permitem dar às chamas uma direção e velocidade iniciais. Os campos têm nomes bastante intuitivos, então não há muito mais a acrescentar, mas ainda assim vou mostrar um exemplo prático com outra cena em um episódio posterior.
Por fim, temos o campo Flow Source, que permite escolher entre Mesh e Particles.
O significado é simples: até agora usamos Mesh para emitir fogo e fumaça a partir de objetos, possivelmente limitando as superfícies de emissão com Vertex Groups.
Mas os objetos também podem ter sistemas de partículas e, às vezes, podemos querer que sejam essas partículas, e não o emissor, que produzam fogo e fumaça.
Nesse caso, precisamos selecionar Particles como Flow Source e, claro, especificar qual sistema de partículas da mesh irá controlar a simulação.
Como você pode imaginar, podemos atribuir um componente Flow à geometria ou a um sistema de partículas do objeto selecionado.