Jak skonstruować realistyczny efekt „widzenia w podczerwieni”?


20

Jak byś zajął się budowaniem realistycznego efektu widzenia w podczerwieni za pomocą shaderów? Przez realistyczne rozumiem taki, który wygląda realistycznie, jak ten przykład .

Mam pomysł na zrobienie tekstury, aby określić, ile ciepła emituje materiał, a następnie określić za pomocą iloczynu normalnego i wektora widoku, ile tego ciepła dociera do widza, ale nie jestem nawet pewien, czy w ten sposób widzenie termiczne nawet działa, więc chciałem sprawdzić, czy istnieje lepsze podejście, zanim zacznę wdrażać coś, co może być całkowicie błędne.


3
nie, dzięki podczerwieni możesz założyć, że wszystko jest rozproszonym emiterem o różnych natężeniach, więc po prostu podziel z kwadratem odległości do bliższych obiektów, które wydają się jaśniejsze
maniak zapadkowy

wystarczy spakować wartości termiczne do tekstury. lub mieć osobną teksturę, jeśli chcesz bardziej zaawansowany.
Tordin

1
@ratchetfreak: Musisz podzielić przez kwadrat odległości dla źródeł punktowych (lub rzeczy, które przybliżasz jako źródła punktowe). W przypadku obiektów rozszerzonych należy utrzymywać stałą luminancję (odczyt: jasność na piksel), a kąt bryłowy (odczyt: liczba pikseli na ekranie) pokryty przez obiekt spada jako odwrotny kwadrat odległości z powodu perspektywy.
Ilmari Karonen,

Odpowiedzi:


25

Jest IR, a potem IR. Zakres długości fal światła zwanych powszechnie „ podczerwienią ” rozciąga się od krawędzi ludzkiego zakresu widzenia (około 700 nm) do 1 mm = 1 000 000 nm.

Odpowiedź Filipa jest poprawna dla światła „bliskiej podczerwieni” (około 700 do 1400 nm), które jest w zasadzie tak samo jak normalne światło widzialne, z tym wyjątkiem, że jest niewidoczne dla nieuzbrojonego oka ludzkiego. Aby modelować widzenie w bliskiej podczerwieni, wystarczy zastąpić tekstury obiektu i kolory źródła światła alternatywnymi, które modelują ich odbicia i natężenia światła przy różnych długościach fal niż zwykle.

Jednak na podstawie sformułowania pytania i filmu, do którego się łączysz, wydajesz się bardziej zainteresowany zakresem „podczerwieni termicznej” (8 000 do 15 000 nm), który odpowiada szczytowi widma promieniowania cieplnego większości przedmiotów codziennego użytku , w tym ludzkie ciało. Promieniowanie to nadal zachowuje się pod wieloma względami jak „światło” i może być modelowane przy użyciu standardowych technik grafiki komputerowej (w przeciwieństwie do fal radiowych , w których długości fal stają się wystarczająco długie, aby standardowe założenia optyki zaczęły się załamywać), ale świat widziany w podczerwieni termicznej ma swoje cechy szczególne:

  • Jak wspomniano powyżej, większość obiektów będzie świecić w podczerwieni termicznej. W przypadku światła widzialnego można ogólnie założyć, że istnieje tylko kilka rzeczywistych źródeł światła, a wszystko inne tylko odbija światło emitowane przez inne źródła. W przypadku termicznej podczerwieni, w zależności od wybranej wybranej długości fali, często dzieje się odwrotnie.

  • I odwrotnie, większość powierzchni dość skutecznie absorbuje termiczną podczerwień. To z kolei rozgrzeje je, powodując, że sami ponownie będą emitować więcej podczerwieni. W efekcie wygląda to tak, jakby prawie każda powierzchnia była fosforyzująca .

  • Widmo termiczne IR (tj. „Kolor”) emitowane przez większość powierzchni będzie zależeć głównie od ich temperatury. Wewnętrzna emisyjność materiału powierzchniowego ma również wpływ, ale względnie ograniczony.

Tak więc, w porównaniu do normalnego widzenia w świetle, modelowanie realistycznego termicznego widzenia w podczerwieni wymagałoby większego nacisku na globalne oświetlenie i dynamicznie zmieniające się wartości emisyjności. W zależności od ustawienia możesz tu nieco oszukać: na przykład w przypadku scen statycznych funkcje globalnego transferu termicznego promieniowania można wstępnie obliczyć raz i zapisać w statyczną mapę świetlną , tak jak w przypadku fałszywego globalnego oświetlenia widmo widzialne.

Jeśli chcesz symulować widok za pomocą kamery termograficznej w swojej grze, polecam przynajmniej następujące rzeczy:

  • Rysuj i / lub oblicz specjalne tekstury emisyjności IR i / lub odbicia dla swoich obiektów. Zwróć szczególną uwagę na emisyjność ciepłych obiektów (takich jak ludzie lub maszyny), która powinna odpowiadać ich temperaturze powierzchni. Współczynnik odbicia jest stosunkowo mniej ważny.

  • Prawdopodobnie będziesz chciał użyć tylko jednego kanału widmowego (tj. Narysuj wszystko w trybie monochromatycznym) odpowiadającego całkowitemu strumieniowi termicznemu IR. Możesz przetworzyć obraz ponownie, odwzorowując uzyskane wartości skali szarości na gradient fałszywego koloru, aby zasymulować tradycyjny podział gęstości używany dla obrazów termicznych.

  • Rozważ wyraźne śledzenie temperatury twoich powierzchni, tak aby np. Miejsce na ziemi, na którym leżała osoba, pozostanie ciepłe (a więc świecące w podczerwieni) przez chwilę, nawet po tym, jak osoba się wyprowadzi. Istnieje kilka sposobów, aby sobie z tym poradzić (np. Śledzenie temperatury na wierzchołek, dodawanie kalkomanii dla przejściowych lokalnych zmian temperatury itp.) Z różnymi kompromisami między realizmem a kosztami obliczeniowymi. Prawdopodobnie nie ma potrzeby, aby to bardzo realistyczny, ale nawet mając efekt ten prezent w ogóle byłby miły akcent.


+1 naprawdę dobra odpowiedź! Szczególnie podoba mi się twoja ostatnia uwaga, w ogóle tego nie rozważałem i myślę, że masz rację, byłby to bardzo miły akcent, który może nawet pomóc odwrócić uwagę użytkownika od faktu, że reszta może nie być całkowicie realistyczna.
Mikael Högström

Oba były dobrymi i pomocnymi odpowiedziami, ale twoje pomogły mi bardziej konkretnie, kierując mnie w stronę patrzenia na różne długości fal widma IR i dynamicznie dostosowując wartości emisyjności. Ale skąd do cholery wiedziałeś o tym wszystkim o czymś tak odległym od twórcy gier? Pracowałem z IRV w prawdziwym życiu i nie znałem połowy tego :)
Mikael Högström

Wikipedia. :) Nie, poważnie, wiedziałem, że w pobliżu podczerwieni nie jest to samo co IR termiczne i interesowałem się śledzeniem promieni i innymi fantazyjnymi technikami renderowania, więc wiedziałem, że mają one zastosowanie do modelowania radiacyjnego transferu ciepła. Większość reszty właśnie podniosłem wzrok. Wydaje mi się, że ten odcisk termiczny był kiedyś filmem na YouTube.
Ilmari Karonen,

11

To, co zwykle widzisz ze świata, to wizualna część światła, która odbija się od przedmiotów. Zielony obiekt odbija tylko zielone światło, czerwony obiekt tylko czerwone światło, a niebieski obiekt tylko niebieskie światło. Podczerwień można uznać za czwarty kolor, którego twoje oczy nie dostrzegają. Kamera na podczerwień sprawia, że ​​światło podczerwone jest widzialne, postrzegając je za pomocą czujnika i przekształcając obraz w podczerwieni na długości fali, które można zobaczyć.

Podobnie jak niektóre materiały są mniej więcej jaskrawe na czerwono, zielono lub niebiesko, są one również różnie jasne na podczerwień. Jasność podczerwieni może, ale niekoniecznie musi odpowiadać jasności w świetle widzialnym.

Oto scena w widzialnym i IR. Zwróć uwagę, że liście drzew są znacznie jaśniejsze w podczerwieni niż pnie, ale jasność w podczerwieni różnych części fasady budynku jest podobna w świetle widzialnym i podczerwonym.

Możesz stworzyć dwie wersje wszystkich swoich tekstur: teksturę RGB dla światła widzialnego i alternatywną teksturę monochromatyczną dla podczerwieni. W trybie normalnym używasz tekstury RGB, aw trybie IR - tekstury IR.

Możesz również rozważyć użycie różnych źródeł światła w trybie IR. Słońce wytwarza tyle samo światła podczerwonego, co światło widzialne. Ale sztuczne źródła światła (takie jak lampy halogenowe lub diody elektroluminescencyjne) wytwarzają niewiele promieni podczerwonych lub prawie ich wcale, więc nie oświetlają niczego w podczerwieni. Z drugiej strony istnieją źródła światła, które są znacznie silniejsze w podczerwieni (takie jak otwarty ogień) lub widoczne tylko w podczerwieni (gorące obiekty, które nie są wystarczająco gorące, aby świecić na czerwono. Lub sztuczne źródła światła podczerwonego. Czy wiesz, że kiedy nosisz gogle na podczerwień, możesz użyć pilota telewizora jako latarki?). Ciekawym elementem rozgrywki mogą być różne warunki świetlne w świetle normalnym i IR.


Nigdy tak naprawdę nie rozważano źródeł światła podczerwonego. Wydaje mi się, że można uzyskać fajne efekty z resetowaniem IRV, gdy patrzy się prosto na źródło IR ...
Mikael Högström,

Powyższe zdjęcie pokazuje promieniowanie UV, ale nadal zapewniałoby fajne efekty, aby mieć widzenie w nocy UV lub w podczerwieni. Zmusiło mnie to do myślenia, ponieważ niedawno przetestowałem moduł cieniujący, który wygląda całkiem fajnie.
SICGames2013

2
@ SICGames2013 Jak myślisz, dlaczego to ultrafiolet? Mam go z niemieckiego wikipedii o promieniowaniu podczerwonym . Opis obrazu mówi, że wyświetla on długość fali od 700-1000 nm.
Philipp

Zakres 700-1000 to podczerwień, ale powyższy obraz wygląda w ultrafiolecie tylko z powodu fioletu. Kamery na podczerwień, takie jak Sony lub wojskowe, mają albo biało - szarawy kontrast, albo po prostu głębiej w spektrum podczerwieni z wykrywaniem ciepła ciała; mapowanie zakresu temperatur osoby za pomocą palety kolorów. Dzięki noktowizorowi Sony jest szary, ale teraz nadają mu zielony odcień. Wojskowe gogle noktowizyjne zabarwiły się na zielono, aby użytkownik mógł lepiej widzieć obrazy po uderzeniu elektronów w ekran fosforowy w tylnej części tuby.
SICGames2013,

1
@ SICGames2013 Gdy poważnie myślisz, że pokazuje widmo ultrafioletowe, ponieważ obraz ma fioletowy odcień, nie zrozumiałeś znaczenia „infra” lub „ultra” w tych kategoriach.
Philipp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.