Cosa significa creare lightmap? Lho sentito in Unity3d e ho trovato di nuovo questo plug-in LightUp per sketchup che crea lightmap.
Da quello che osservo, il lightmap cotto dà alloggetto 3D una sensazione molto più realistica. Lo scopo di cuocere la luce sulloggetto è per dare quellaspetto di animazione cg che vedi nelle animazioni pre-renderizzate?
Commenti
- Inoltre, ogni volta che cuoci qualcosa, che si tratti di fisica, illuminazione o qualsiasi altra cosa. Significa che hai impostato qualcosa che richiederà molto tempo per renderizzare / elaborare in tempo reale, o vuoi che venga riprodotto allo stesso modo ogni volta, quindi lo fai solo una volta e salvi i risultati per un uso successivo, e perché tutti i calcoli vengono eseguiti, visualizzare ciò che è stato preparato è veloce e sempre lo stesso in tutte le partite.
- AttackingHobo, questo è un ottimo modo per dirlo. Lo capisco adesso. Ma curioso, come sarebbe cotta la fisica? Luxrender produce rendering fotorealistici perché possono calcolare la fisica della luce?
- La fisica può essere preparata per scene complesse simulando e memorizzando una volta tutte le posizioni degli oggetti, le rotazioni, ecc. Per ogni passo temporale. Quindi, invece di ricalcolare nuovamente tutti i valori dal vivo, vengono semplicemente riprodotti dai valori memorizzati.
Risposta
Quando hai una luce statica (non in movimento) in un gioco, hai due opzioni per renderizzare questa luce. Potresti renderlo uguale a una luce dinamica; cioè, alimentalo attraverso la pipeline dello shader che calcolerà il suo effetto su tutto ciò che lo circonda, su ogni fotogramma, nel suo percorso verso lo schermo. Questo è ovviamente piuttosto costoso. Oppure, un editor può inserire la luce nella scena.
Quello che ho sempre pensato di cuocere era forse una versione più semplice: fondamentalmente leditor prende le trame di tutto ciò che circonda la luce, calcola leffetto della luce su quelle trame (le illumina, forse le colora, le ombre, ecc.) e le salva come trame sostitutive da utilizzare. Quindi tutte le trame intorno alla “luce” sembrano avere una luce proiettata su di esse, ma a il tempo di esecuzione in realtà non è leggero dal punto di vista del calcolo; è essenzialmente unillusione ottica.
Lunità, tuttavia, sembra generare una mappa luminosa . È simile alla nozione precedente , ma lilluminazione cotta 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 affiancate (cioè un basso utilizzo della memoria), poiché non lo farebbero fare in modo che la luce penetri direttamente in essi, quindi potrebbero rimanere piastrellati e lo shader sarebbe molto leggero, soprattutto se paragonato a trattare la luce come dinamica.
Una luce deve ovviamente essere statica affinché funzioni; vale a dire, non puoi spostarlo durante il gioco, perché la luce è stata incorporata nelle trame. Inoltre, qualsiasi oggetto dinamico nella stanza (come il personaggio del giocatore) non avrà la luce che splende su di loro, quindi è necessario essere una sorta di eccezione, in cui la luce viene renderizzata per oggetti dinamici ma non (ri) renderizzata sullo scenario statico.
Commenti
- E il più delle volte, poiché lilluminazione è tenue, la mappa di luce può essere salvata a una risoluzione inferiore rispetto al resto delle trame, ha comunque un bellaspetto, ma viene renderizzata più velocemente e richiede meno memoria.
- +1, questo è una risposta davvero bella ed esauriente, grazie. 🙂