O que significa “assar luzes”?

36

O que significa assar lightmap? Ouvi isso no Unity3d e, novamente, encontrei este plug-in do LightUp para esboços que fazem o lightmap.

Pelo que observei, o mapa de luz cozido dá ao objeto 3d uma sensação muito mais realista. O objetivo de iluminar o objeto é dar a aparência de animação cg que você vê nas animações pré-renderizadas?

Kim Jong Woo
fonte
Além disso, sempre que você assa alguma coisa, seja física, iluminação ou qualquer outra coisa. Isso significa que você configurou algo que levará muito tempo para renderizar / processar em tempo real ou deseja que seja reproduzido da mesma maneira todas as vezes; portanto, faça isso apenas uma vez e salve os resultados para uso posterior e porque todos os cálculos são feitos, exibindo o que foi cozido é rápido e sempre o mesmo em todas as etapas.
AttackingHobo
AttackingHobo, é uma ótima maneira de colocá-lo. Eu entendo isso agora. Mas curioso, como seria a física? O Luxrender produz renderizações fotorrealistas porque pode calcular a física da luz?
Kim Jong Woo
1
A física pode ser preparada para cenas complexas, simulando e armazenando todas as posições dos objetos e rotações, etc., a cada passo do tempo. Em vez de recalcular todos os valores novamente ao vivo, eles são apenas reproduzidos a partir dos valores armazenados.
AttackingHobo

Respostas:

53

Quando você tem uma luz estática (sem movimento) em um jogo, você tem duas opções para renderizar essa luz. Você poderia renderizá-lo da mesma forma que uma luz dinâmica; isto é, alimente-o através do pipeline de sombreador que calculará seu efeito em tudo ao seu redor, em cada quadro, a caminho da tela. Isto é obviamente muito caro. Ou, um editor pode colocar a luz em cena.

O que eu sempre pensei em assar talvez fosse uma versão mais simples: basicamente, o editor pega as texturas de tudo ao redor da luz, calcula o efeito da luz nessas texturas (ilumina-as, talvez as cores, sombras etc.) e os salva como texturas de substituição para usar. Portanto, todas as texturas ao redor da "luz" parecem ter uma luz lançada sobre elas, mas em tempo de execução, na verdade, não há uma luz do ponto de vista do cálculo; é uma ilusão de ótica, essencialmente.

A unidade, no entanto, parece estar gerando um mapa de luz . Isso é semelhante à noção acima, mas a iluminação cozida é mantida separadamente, em vez de modificar a textura subjacente, e presumo que um shader mescla os dois no tempo de execução. Isso teria a vantagem de manter a vantagem de texturas lado a lado (ou seja, baixo uso de memória), pois elas não teriam a luz diretamente nelas, portanto, poderiam permanecer lado a lado, e o shader seria muito leve, especialmente se comparado ao tratamento de leve como dinâmico.

Obviamente, uma luz precisa ser estática para que isso funcione; ou seja, você não pode movê-lo durante o jogo, porque a luz foi inserida nas texturas. Além disso, quaisquer objetos dinâmicos na sala (como o personagem do jogador) não terão a luz brilhando sobre eles; portanto, deve haver algum tipo de exceção, onde a luz é renderizada para objetos dinâmicos, mas não (re) renderizada. o cenário estático.

Ricket
fonte
12
E, na maioria das vezes, como a iluminação é suave, o mapa de luz pode ser salvo em resolução menor que o restante das texturas, ainda parece bom, mas é renderizado mais rapidamente e consome menos memória.
AttackingHobo
+1, esta é uma resposta muito boa e abrangente, obrigado. :)
Xeo