Por que o nó Alpha Over torna minha imagem mais brilhante?
Em um projeto Cycles no Blender 2.9, eu quero que todos os objetos recebam luz branca do ambiente, então eu defino World Properties -> Surface -> Color para white.
Mas eu quero que o fundo do resultado final seja azul escuro, então marquei Propriedades de renderização -> Filme -> Transparente, e usei um nó Alfa Sobre no compositor para obter meu fundo azul.
Esta é a imagem renderizada original com um fundo transparente:

E esta é a imagem com o fundo azul composto em:

Como você pode ver, o modo Alpha Over torna a imagem muito mais brilhante. Mas eu não quero isso: quero apenas a imagem original com um fundo azul.
O que eu tentei:
- Marcar "Converter Premul" (não deve ser necessário, porque a imagem renderizada já contém um canal alfa pré-multiplicado)
- Alterar manualmente "Fac" (que tem um comportamento inesperado: leva um valor extremamente baixo (0,0001) para tornar o primeiro plano transparente. Eu esperava que o primeiro plano fosse 50% transparente em Fac = 0,5)
- Conecte a saída Alpha do nó Render Layers à entrada Fac do nó Alpha Over (não deve ser necessário, porque o canal alfa já deve estar na própria imagem)
- Definir o brilho da lâmpada do Sol, que também está na minha cena, para 0. Tudo isso não resolveu meu problema.
Minha pergunta: Como faço para obter a imagem renderizada na frente de um fundo azul, sem tornar a imagem renderizada mais brilhante?
Qualquer ajuda é muito apreciada!
Respostas
Uma coisa que você pode fazer para reduzir o brilho exagerado nas partes semitransparentes é usar o Alpha Convert Node no Compositor . Coloque-o entre Render Layers e Alpha Over e defina-o como "Straight to Premul". Isso reduz muito o brilho em áreas transparentes.
A transparência na renderização ainda não se parecerá com a transparência no nó do visualizador .
Para obter esse resultado, você precisa fixar os valores RGB da imagem, por exemplo, usando um nó Color> Mix com Clamp ativado. Então você pode multiplicar a imagem por branco puro ou adicionar preto puro e então a saída terá todos os pixels brilhantes fixados em branco e a transparência alfa funcionará nisso. A questão é, se você quer isso, por que o brilho é tão alto?
Embora você tenha dito, você ajustou a força da Lâmpada Solar para 0 e mesmo isso não mudou muito, o arquivo que você forneceu tinha um sol com uma força de 1000. No Blender, um sol mesmo com apenas uma força de 10 é muito brilhante.
Portanto, renderizar seu arquivo com o cubo e um sol de 1000 resultou em áreas semitransparentes ao redor do cubo, que tinham valores RGB acima de 150 ou mesmo 200 em uma transparência de 60% -80%, o que dá pixels muito além do branco. E é por isso que tudo é muito mais claro do que na visualização Pano de fundo.
Você deve definir o sol bem mais baixo para obter o resultado desejado. Se seus objetos parecem cinzas em vez de brancos e é por isso que você aumentou o valor do sol, tente definir View Transform> Standard em vez de Filmic no Gerenciamento de cores .