Modos de mesclagem descrevem como a saída do material atual será mesclada sobre o que já está sendo desenhado no plano de fundo. Em termos mais técnicos, ele permite que você controle como a engine combinará esse material (Cor de origem) com o que já está no buffer de quadros (Cor de destino) quando esse material for renderizado na frente de outros pixels.
Opções de modo de mesclagem são encontradas no painel Detalhes com o restante das Propriedades de Material base:
Este documento usa uma esfera posicionada entre a câmera e uma parede para demonstrar os vários modos de mesclagem. Ao alterar o modo de mesclagem no material da esfera, você pode ver como o objeto se mescla com os pixels atrás dele.
Opaco
O modo de mesclagem Opaco é o mais direto e provavelmente o que você usará com mais frequência. Ele define uma superfície através da qual a luz não passa nem penetra. Isso é perfeito para a maioria dos plásticos, metais, pedras e a maior parte de outros tipos de superfície. Da perspectiva da câmera, a esfera dourada oclui completamente a parede atrás dela.
Com máscara
O modo de mesclagem Mascarado é usado quando você precisa controlar seletivamente a visibilidade de forma binária (ligado/desligado). Por exemplo, considere um material que simule uma cerca ou grade de arame. Você terá algumas áreas que parecem sólidas, enquanto outras são invisíveis. Esses materiais são perfeitos para o modo de mesclagem Mascarado.
Um gráfico de Materiais com máscara é mostrado abaixo, com uma textura listrada em preto e branco conectada à entrada Máscara de opacidade. As partes brancas da máscara são renderizadas, enquanto as partes pretas estão invisíveis. Não há níveis intermediários de opacidade ao usar um material mascarado.
Aqui está esse material na perspectiva da câmera:
É importante ter em mente a diferença entre transparente e não renderizado. Uma superfície transparente, como o vidro, ainda interage com a luz na forma de reflexos (especularidade). Os pixels selecionados no modo Mascarado simplesmente não são desenhados; você não verá reflexos nessas áreas. Se quiser reter reflexos ou aspectos especulares, a melhor prática é usar o modo de mesclagem Translúcido ou considerar criar um Material em camadas.
Além disso, como esses recursos não são renderizados na área mascarada, eles não são calculados, resultando em economias de desempenho na GPU.
Máscara de recorte de opacidade
Ao usar o modo de mesclagem Com máscara, você precisa prestar atenção especial à propriedade Valor de corte da máscara de opacidade. Essa propriedade contém um valor escalar de 0-1 que controla qual valor da textura da máscara de opacidade será usado como ponto de corte, além do qual nenhum dos pixels mais escuros será renderizado.
Valor do clipe de máscara de opacidade (arraste o controle deslizante para visualizar.)
No exemplo acima, como o material tem sua propriedade Dois lados definida como True (selecionada), você pode ver o interior da caixa.
Além disso, apesar do exemplo interativo mostrado aqui, a propriedade Valor de corte da máscara de opacidade não foi projetada para ser alterada em tempo de execução.
Translúcido
O modo de mesclagem Translúcido é usado para objetos que requerem alguma forma de transparência. Isso difere do modo de mesclagem Mascarado, pois permite níveis variados de translucidez.
Esse modo de mesclagem funciona obtendo um valor ou textura de Opacidade e aplicando-o à superfície de modo que as áreas pretas fiquem completamente transparentes, as áreas brancas fiquem completamente opacas e os vários tons de gradação resultem em níveis de transparência correspondentes. No exemplo, um gradiente de preto para branco é inserido na entrada Opacidade, resultando em uma esfera que é totalmente transparente na parte superior da malha e gradualmente atinge a opacidade total na parte inferior.
Uma consideração importante ao usar materiais translúcidos é que eles atualmente não aceitam especularidade. Isso significa que você não verá reflexos ao longo da superfície. No entanto, tais reflexos podem ser falsificados usando um Cubemap em uma rede de nós semelhante a esta. A textura de Cubemap é simplesmente adicionada sobre a Cor base.
"Additive"
O modo de mesclagem Aditivo simplesmente usa os pixels do Material e os adiciona aos pixels do plano de fundo. Isso é muito semelhante ao modo de mesclagem Linear Dodge (Adicionar) no Photoshop. Isso significa que não há escurecimento. Como todos os valores de pixels são somados, os pretos serão renderizados apenas como transparentes. Esse modo de mesclagem é útil para vários efeitos especiais, como fogo, vapor ou hologramas.
Assim como no modo de mesclagem Translúcido, este modo de mesclagem não respeita a especularidade (ou seja, reflexos). A natureza aditiva da mesclagem provavelmente significa que você não a usará de qualquer maneira, mas é possível simular um efeito de reflexo usando o método Cubemap mostrado acima na seção Translúcido.
Na imagem abaixo, uma segunda esfera foi adicionada à cena. Observe que, onde as duas esferas se sobrepõem, os pixels são adicionados e, portanto, iluminados.
Uma desvantagem dos materiais aditivos é que muitas vezes eles são difíceis de ver contra planos de fundo de cores claras. Uma visão lateral das esferas demonstra isso.
Uma solução é usar o modo de mesclagem AlphaComposite, que pode melhorar a saturação e a visibilidade em cenas claras.
Modular
O modo de mesclagem Modular multiplica o valor do material contra os pixels do plano de fundo. O comportamento é muito semelhante ao modo de mesclagem Multiply no Photoshop e produz um efeito de escurecimento.
No gráfico acima, o modelo de sombreamento de materiais está definido como Não iluminável e o modo de mesclagem como Modular. Um vetor Constant3 é conectado à entrada Emissiva para definir a cor da superfície.
Observe novamente que, com várias esferas, os pixels que se sobrepõem são multiplicados e ficam mais escuros.
O modo de mesclagem Modular é mais adequado para certos efeitos de partículas, mas convém tomar cuidado, pois ele não aceita iluminação ou translucidez separada.
Composição alfa
O modo de mesclagem AlphaComposite permite controlar como as partes do material são mescladas. Com alguma configuração de material e lógica, você pode controlar quais partes são mescladas de forma aditiva e quais são mescladas de forma translúcida usando a entrada de opacidade do material. O AlphaComposite multiplica a cor subjacente da cena pelo inverso da opacidade do material. Assim, quando o material for adicionado à cor da cena, as áreas de alta opacidade parecerão mais saturadas e cheias do que as mais opacas.
AlphaHoldout
O modo de mesclagem AlphaHoldout permite que você "retenha" o alfa de um material, perfurando os objetos diretamente atrás dele no espaço de exibição. A imagem a seguir mostra o layout da câmera e da cena para uma implementação de AlphaHoldout.
A câmera.
Uma malha estática em primeiro plano atua como o objeto de "perfuração". O Material de AlphaHoldout é aplicado a esta malha. Este material deve usar o modelo de sombreamento Não iluminável.
Uma superfície receptora (através da qual você pretende criar um orifício) é colocada atrás do objeto AlphaHoldout; nesse caso, uma parede de tijolos. O material na superfície receptora DEVE usar os modos de mesclagem Translúcido, Aditivo, Modular ou AlphaComposite. Um material AlphaHoldout não pode agir sobre um material Opaco.
O plano de fundo da cena, que ficará visível através do orifício.
Da perspectiva da câmera, você verá um orifício transparente na superfície receptora, tornando visíveis os objetos atrás dela.
Como o material AlphaHoldOut está em um recurso de malha estática separado, você pode movê-lo facilmente no editor ou animá-lo no jogo.
Fórmulas do modo de mesclagem
| Modo | Descrição |
|---|---|
Opaco | Cor final = Cor de origem. Isso significa que o material será desenhado sobre o plano de fundo. Esse modo de mesclagem é compatível com iluminação. |
Com máscara | Cor final = Cor de origem se OpacityMask > OpacityMaskClipValue; caso contrário, o pixel será descartado. Esse modo de mesclagem é compatível com iluminação. |
Translúcido | Cor final = Cor de origem * Opacidade + Cor de destino * (1 - Opacidade). Esse modo de mesclagem NÃO é compatível com iluminação dinâmica. |
Aditivo | Cor final = Cor de origem + Cor de destino. Esse modo de mesclagem NÃO é compatível com iluminação dinâmica. |
Modular | Cor final = Cor de origem x Cor de destino. Esse modo de mesclagem NÃO é compatível com iluminação dinâmica ou neblina, a menos que seja um material de decalque. |
AlphaComposite (alfa pré-multiplicado) | Cor final = Cor de origem + Cor de destino * (1 - Opacidade de origem). |
AlphaHoldout | Cor final = Cor de destino * (1 - Opacidade de origem). Esse modo de mesclagem NÃO é compatível com iluminação dinâmica. |