O que significa “ assar lâmpadas ”?

O que significa assar mapa de luz? Eu ouvi isso no Unity3d, e novamente encontrei este plugin LightUp para sketchup que cria lightmap.

Pelo que eu observo, o lightmap cozido dá ao objeto 3d uma sensação muito mais realista. O objetivo de cozinhar luz no objeto é dar aquela aparência de animação cg que você vê em animações pré-renderizadas?

Comentários

  • Além disso, sempre que você assar algo, seja sua física, iluminação ou qualquer outra coisa. Significa que você configurou algo que levará muito tempo para renderizar / processar em tempo real, ou quer que seja reproduzido da mesma forma todas as vezes, então você faz isso apenas uma vez e salva os resultados para uso posterior, e porque todos os cálculos são feitos, exibindo o que foi assado é rápido, e sempre o mesmo em todos os playthroughs.
  • AttackingHobo, essa é uma ótima maneira de colocá-lo. Eu entendo agora. Mas, curioso, como a física seria preparada? O Luxrender produz renderizações fotorrealísticas porque eles podem calcular a física da luz?
  • A física pode ser preparada para cenas complexas simulando e armazenando todas as posições dos objetos, e rotações etc. para cada passo de tempo. Então, em vez de recalcular todos os valores novamente ao vivo, eles são apenas reproduzidos a partir dos valores armazenados.

Resposta

Quando você tem uma luz estática (sem movimento) em um jogo, você tem duas opções para renderizar essa luz. Você pode 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, em seu caminho para a tela. Isso é obviamente muito caro. Ou um editor pode iluminar a cena.

O que sempre pensei em assar foi talvez uma versão mais simples: basicamente o editor apenas pega as texturas de tudo ao redor da luz, calcula o efeito da luz nessas texturas (as ilumina, talvez as colore, sombras, etc.) e as salva como texturas de substituição para uso. Assim, todas as texturas ao redor da “luz” parecem ter uma luz projetada sobre elas, mas em tempo de execução, na verdade não há uma luz do ponto de vista de cálculo; é uma ilusão de ótica, essencialmente.

O Unity, 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 suponho que um sombreador mescla os dois em tempo de execução. Isso teria a vantagem de manter a vantagem de texturas lado a lado (ou seja, baixo uso de memória), uma vez que não tenha a luz incorporada neles, portanto, eles poderiam permanecer lado a lado, e o sombreador seria muito leve, especialmente em comparação a tratar a luz como dinâmica.

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

Comentários

  • E na maioria das vezes porque a iluminação é suave, o mapa de luz pode ser salvo em resolução mais baixa do que o resto das texturas, ainda parece bom, mas é renderizado mais rápido e ocupa menos memória.
  • +1, isso é uma resposta muito boa e extensa, obrigado. 🙂

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *