Co to znaczy upiec lightmapę? Słyszałem o tym w Unity3d i ponownie znalazłem wtyczkę LightUp do szkicowania, która wypala lightmap.
Z tego, co obserwuję, wypalona mapa świetlna nadaje obiektowi 3D znacznie bardziej realistyczny charakter. Czy celem jest wypalenie światła na obiekcie, aby uzyskać animację cg, którą widzisz na wstępnie renderowanych animacjach?
Odpowiedzi:
Gdy masz w grze statyczne (nieruchome) światło, masz dwie opcje renderowania tego światła. Możesz to zrobić tak samo jak dynamiczne światło; to znaczy, przeprowadź go przez potok cieniowania, który obliczy jego wpływ na wszystko wokół niego, każdą ramkę, w drodze do ekranu. Jest to oczywiście dość drogie. Lub redaktor może upiec światło na scenie.
To, co zawsze myślałem o pieczeniu, było być może prostszą wersją: w zasadzie edytor po prostu bierze tekstury wszystkiego wokół światła, oblicza wpływ światła na te tekstury (rozjaśnia je, może je pokoloruje, cienie itp.) i zapisuje je jako tekstury zastępcze do użycia. Więc wszystkie tekstury wokół „światła” wyglądają, jakby miały na sobie światło, ale w czasie wykonywania nie ma światła z punktu widzenia obliczeń; zasadniczo jest to złudzenie optyczne.
Jednak jedność wydaje się generować lightmapę . Jest to podobne do powyższego pojęcia, ale wypalone oświetlenie jest przechowywane osobno zamiast modyfikowania podstawowej tekstury, 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. Niskie zużycie pamięci), ponieważ nie miałyby światła wypalonego bezpośrednio w nich, dlatego mogłyby pozostać kafelkami, a moduł cieniujący byłby bardzo lekki, szczególnie w porównaniu do obróbki światło jako dynamiczne.
Światło oczywiście musi być statyczne, aby to działało; oznacza to, że nie można go przesunąć podczas gry, ponieważ światło zostało wypalone w teksturach. Ponadto na żadnych dynamicznych obiektach w pokoju (takich jak postać gracza) nie będzie świeciło światło, dlatego musi istnieć jakiś wyjątek, w którym światło jest renderowane dla obiektów dynamicznych, ale nie jest (ponownie) renderowane na statyczna sceneria.
źródło