Co to znaczy piec lightmapę? Słyszałem to w Unity3d i ponownie znalazłem tę wtyczkę LightUp do szkicowania, która wypala lightmapę.
Z tego co zaobserwowałem, wypalona lightmapa nadaje obiektowi 3D znacznie bardziej realistyczny wygląd. Czy celem jest wypalanie światła na obiekcie w celu nadania animacji cg wyglądu, jaki widzisz na wstępnie renderowanych animacjach?
Komentarze
- Poza tym za każdym razem, gdy pieczesz coś, czy to fizyka, oświetlenie czy cokolwiek innego. Oznacza to, że skonfigurowałeś coś, co zajmie dużo czasu, aby renderować / przetwarzać w czasie rzeczywistym, lub chcesz, aby za każdym razem grało w ten sam sposób, więc robisz to tylko raz i zapisujesz wyniki do późniejszego wykorzystania, a ponieważ wszystkie obliczenia zostały zakończone, wyświetlenie tego, co zostało upieczone, jest szybkie i zawsze takie samo we wszystkich rozgrywkach.
- AttackingHobo, to świetny sposób na określenie tego. Teraz to rozumiem. Ale ciekawi, jak można upiec fizykę? Czy Luxrender generuje fotorealistyczne renderowanie, ponieważ może obliczyć fizykę światła?
- Fizykę można opracować dla złożonych scen, symulując i zapisując wszystkie pozycje obiektów, obroty itp. Dla każdego kroku czasowego. Następnie zamiast ponownego obliczania wszystkich wartości na żywo, są one po prostu odtwarzane z zapisanych wartości.
Odpowiedź
Kiedy w grze masz statyczne (nieruchome) światło, masz dwie opcje renderowania tego światła. Można to uczynić tak samo, jak dynamiczne światło; to znaczy przepuścić go przez potok modułu cieniującego, który obliczy jego wpływ na wszystko dookoła, każdą klatkę w drodze na ekran. Jest to oczywiście dość drogie. Albo redaktor może wtopić światło w scenę.
To, co zawsze myślałem o pieczeniu, było prawdopodobnie prostszą wersją: w zasadzie edytor po prostu bierze tekstury wszystkiego wokół światła, oblicza efekt światła na tych teksturach (rozjaśnia je, być może koloruje je, cienie itp.) i zapisuje je jako tekstury zastępcze do użycia. Tak więc wszystkie tekstury wokół „światła” wyglądają tak, jakby rzucały na nie światło, ale z punktu widzenia obliczeń w rzeczywistości nie ma tego światła; zasadniczo jest to złudzenie optyczne.
Jednak wydaje się, że jedność generuje lightmapę . Jest to podobne do powyższego pojęcia , ale pieczone oświetlenie jest utrzymywane osobno, zamiast modyfikować teksturę leżącą pod spodem, i zakładam, że moduł cieniujący łączy te dwa elementy w czasie wykonywania. Miałoby to tę zaletę, że zachowałoby przewagę tekstur kafelkowych (tj. niewielkie zużycie pamięci) mieć światło wpalone bezpośrednio w nie, więc mogłyby pozostać wyłożone kafelkami, a moduł cieniujący byłby bardzo lekki, szczególnie w porównaniu do traktowania światła jako dynamicznego.
Światło oczywiście musi być statyczne, aby to zadziałało; to znaczy, nie można go przesuwać podczas gry, ponieważ światło zostało wtopione w tekstury. Ponadto żadne dynamiczne obiekty w pokoju (takie jak postać gracza) nie będą świecić na nich, więc trzeba być jakimś wyjątkiem, gdy światło jest renderowane dla obiektów dynamicznych, ale nie jest (ponownie) renderowane w statycznej scenerii.
Komentarze
- I przez większość czasu, ponieważ oświetlenie jest miękkie, mapa światła może być zapisana w niższej rozdzielczości niż reszta tekstur, nadal wygląda dobrze, ale renderuje się szybciej i zajmuje mniej pamięci.
- +1, to jest bardzo miła i obszerna odpowiedź, dziękuję. 🙂