Cosa significa "cuocere le luci"?


36

Cosa significa cuocere lightmap? L'ho sentito in Unity3d e ho trovato di nuovo questo plugin LightUp per sketchup che crea lightmap.

Da quello che osservo, la mappa luminosa al forno conferisce all'oggetto 3d un aspetto molto più realistico. Lo scopo di cuocere la luce sull'oggetto è quello di dare quell'aspetto di animazione cg che vedi su animazioni pre-renderizzate?


Inoltre, ogni volta che cuoci qualcosa, che si tratti di fisica, illuminazione o altro. Significa che hai impostato qualcosa che richiederà molto tempo per il rendering / l'elaborazione in tempo reale o che vuoi che giochi allo stesso modo ogni volta, quindi lo fai solo una volta e salvi i risultati per un uso successivo, e perché tutti i calcoli sono fatti, visualizzare ciò che è stato cotto è veloce e sempre lo stesso in tutti i playthrough.
Attaccando

AttaccareHobo, è un ottimo modo per dirlo. Lo capisco adesso. Ma curioso, come sarebbe cotto la fisica? Luxrender produce rendering fotorealistici perché possono calcolare la fisica della luce?
Kim Jong Woo,

1
La fisica può essere preparata per scene complesse simulando e memorizzando tutte le posizioni degli oggetti, le rotazioni ecc. Per ogni intervallo di tempo. Quindi, invece di ricalcolare nuovamente tutti i valori dal vivo, vengono riprodotti dai valori memorizzati.
Attaccando

Risposte:


53

Quando hai una luce statica (non in movimento) in un gioco, hai due opzioni per renderla. Potresti renderlo come una luce dinamica; vale a dire, alimentalo attraverso la pipeline dello shader che calcolerà il suo effetto su tutto ciò che lo circonda, ogni frame, sulla sua strada verso lo schermo. Questo è ovviamente piuttosto costoso. Oppure, un editore può infondere luce nella scena.

Quello che ho sempre pensato di cuocere al forno era forse una versione più semplice: sostanzialmente l'editor prende solo le trame di tutto ciò che circonda la luce, calcola l'effetto della luce su quelle trame (le illumina, forse le colora, le ombre, ecc.) e li salva come trame sostitutive da utilizzare. Quindi tutte le trame intorno alla "luce" sembrano avere una leggera dominante, ma in fase di esecuzione in realtà non c'è una luce dal punto di vista del calcolo; è essenzialmente un'illusione ottica.

L'unità, tuttavia, sembra generare una mappa luminosa . Questo è simile al concetto precedente, ma l'illuminazione al forno viene mantenuta separatamente invece di modificare la trama sottostante, e presumo che uno shader unisca i due in fase di esecuzione. Ciò avrebbe il vantaggio di mantenere il vantaggio delle trame piastrellate (cioè un basso utilizzo della memoria), poiché non avrebbero la luce infuocata proprio in esse, quindi potrebbero rimanere piastrellate e lo shader sarebbe molto leggero, soprattutto rispetto al trattamento del leggero come dinamico.

Una luce ovviamente deve essere statica perché funzioni; cioè, non puoi spostarlo durante il gioco, perché la luce è stata infornata nelle trame. Inoltre, tutti gli oggetti dinamici nella stanza (come il personaggio del giocatore) non avranno la luce che brilla su di loro, quindi deve esserci una sorta di eccezione, in cui la luce viene renderizzata per oggetti dinamici ma non (ri) resa su lo scenario statico.


12
E la maggior parte delle volte, poiché l'illuminazione è delicata, la mappa luminosa può essere salvata a una risoluzione inferiore rispetto al resto delle trame, è ancora bella, ma è più veloce e richiede meno memoria.
Attaccando

+1, questa è una risposta davvero bella ed estesa, grazie. :)
Xeo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.