Mit jelent a fénytérkép sütése? Ezt hallottam a Unity3d-ben, és megint megtaláltam ezt a LightUp plugint a sketchup számára, amely fénytérképet süt.
Megfigyelésem szerint a megsütött fénytérkép sokkal reálisabb érzetet kölcsönöz a 3D-s objektumnak. Az a cél, hogy az objektumon fényt sütjünk, hogy megkapjuk azt a cg animációt, amelyet az előre renderelt animációknál láthatunk?
Megjegyzések
- Ezenkívül bármikor sütni valami, legyen az fizika, világítás vagy bármi más. Ez azt jelenti, hogy beállítottál valamit, amelynek előállítása / feldolgozása hosszú időbe telik, vagy azt akarod, hogy minden alkalommal ugyanúgy játsszon, tehát csak egyszer hajtod végre, és az eredményeket későbbi felhasználásra elmented, és az összes számítást elvégezzük, a sültek megjelenítése gyors és mindig minden játék közben ugyanaz.
- AttackingHobo, ez nagyszerű módja annak. Most már értem. De kíváncsi, hogyan sülne el a fizika? A Luxrender fotorealisztikus rendereket készít, mert kiszámíthatják a fény fizikáját?
- A fizika összetett jelenetekhez süthető úgy, hogy egyszerre szimulálja és tárolja az összes objektum helyzetét, forgatását stb. Aztán ahelyett, hogy újra újra kiszámolná az összes értéket, csak a lejátszott értékeket játssza le.
Válasz
Ha statikus (nem mozgó) fény van a játékban, két lehetősége van ennek a fénynek a megjelenítésére. Megadhatja ugyanúgy, mint egy dinamikus fény; vagyis táplálja át az árnyékolóvezetéken, amely kiszámítja annak hatását a körülötte lévő mindenre, minden képkockára, a képernyő felé vezető úton. Ez nyilván elég drága. Vagy egy szerkesztő be tudja sütni a fényt a jelenetbe.
Amit mindig a sütésre gondoltam, az talán egy egyszerűbb változat volt: alapvetően a szerkesztő csak felveszi a fény körül minden textúráját, kiszámítja a hatást a fényt ezeken a textúrákon (megvilágítja őket, esetleg kiszínezi őket, árnyékokat stb.), és helyettesítő textúrákként menti őket felhasználásra. Tehát a “fény” körüli összes textúra úgy néz ki, mintha fény lenne rajtuk, de a futásideje valójában nincs fény a számítás szempontjából; lényegében optikai csalódás.
Az Unity azonban úgy tűnik, hogy fénytérképet generál . Ez hasonló a fenti elképzeléshez. , de feltételezem, hogy a megvilágított világítás külön-külön kerül megtartásra a mögöttes textúra módosítása helyett, és feltételezem, hogy egy árnyékoló futás közben egyesíti a kettőt. Ennek az az előnye lenne, ha megtartaná a csempézett textúrák előnyét (azaz alacsony memóriahasználatot), mivel azok nem a fényt közvetlenül beléjük süssék, ezért csempézve maradhatnak, és az árnyékoló nagyon könnyű lenne, különösen ahhoz képest, hogy a fényt dinamikusan kezeljük.
A működéshez nyilvánvalóan statikusnak kell lennie; vagyis “nem mozgathatja játék közben, mert a fény be van sütve a textúrákba. A szoba bármely dinamikus tárgyának (például a játékos karakterének) nem fog rájuk világítani a fény, ezért legyen valamiféle kivétel, ahol a fény a dinamikus objektumokra kerül átadásra, de a statikus díszletekre (nem) kerül vissza.
Megjegyzések
- És Mivel legtöbbször lágy a világítás, a fénytérkép alacsonyabb felbontásban menthető, mint a többi textúra, még mindig jól néz ki, de gyorsabban nyújt és kevesebb memóriát igényel.
- +1, ez nagyon szép és átfogó válasz, köszönöm. 🙂