Renderizando um espelho falso

Aug 31 2020

Estou tentando descobrir como ter um espelho falso em minha cena.

O personagem A passa por um espelho na parede, que deve refletir o quarto e tudo nele, exceto o personagem A. Em vez do personagem A, ele reflete o personagem B.

Então, basicamente, eu quero uma superfície reflexiva simples, mas:

  • O caractere A não deve ser visível no que a superfície reflete. Os reflexos devem ser reproduzidos como se o personagem A não estivesse na cena
  • O personagem B estará na cena, mas apenas visível na superfície reflexiva, não no mundo em si.

Aqui, gráfico bruto para mostrar o que quero dizer: D

Gráfico menos bruto aqui:

Isso é possível com o Blender? Estou familiarizado com todas as funcionalidades mais gerais, mas não consigo pensar em nada que possa fazer isso. Existem propriedades de dados que eu possa ajustar? Existe um modificador que vai conseguir isso? Truques da sonda de reflexão?

Pretendo usar o Eevee para a renderização, mas se Cycles conseguir isso melhor, posso trocar.

EDIT: Posso, é claro, escolher não usar uma superfície reflexiva, mas sim transmissiva, e apenas modelar o conteúdo do espelho atrás da superfície. Então, em vez de ter qualquer reflexo, vou apenas copiar e espelhar a geometria e fazer tudo manualmente, mas 1) isso é muito trabalho, 2) não é realmente uma resposta à pergunta técnica que estou fazendo.

Respostas

18 lemon Aug 31 2020 at 07:16

Você pode usar a saída "É um raio de reflexão" do nó "Caminho da luz" e conectá-la à entrada alfa do "shader Principled" .

Isso funcionará para Eevee e Cycles. Para Eevee, você precisa definir o "modo de mistura" para alfa hash na configuração do material.

Para aquele que se reflete no espelho, mas não é visível fora dele:

Para aquele que é visível apenas fora do espelho:

Para Eevee, defina ambos os objetos para hash alfa nas configurações de material:

9 moonboots Aug 31 2020 at 07:10

Você deve usar o nó Entrada> Light Path como um fator entre o material do objeto e um nó Transparente .

Para o seu cubo verde, use a saída Is Glossy Ray (não visível no espelho):

Para o cubo vermelho, use a saída Is Camera Ray (visível apenas no espelho):