WEBESTEEM | BATTLE AREA | FORUM
art & design
webesteem magazine | nr 3 | grafika
art & design
art & design

Nie ma światła
bez cienia
- tak jest w rzeczywistości - natomiast jak to się ma do programów 3D? ... nijak

3D

Oświetlenie i (prawie)wszystko
z nim związane

 

Pierwotnie artykuł ten miał być rozwinięciem pierwszego tekstu umieszczonego przeze mnie w Art&Design... niemniej kiedy się zabrałem do napisania go - wyszło, że w samej tematyce światła jest wystarczająco dużo treści do wypełnienia jednego artykułu.

Przyznaję, że skłoniły mnie do tego zarówno wątek na forum, jak i maile od niektórych z Was, w których często poruszana jest właśnie kwestia prawidłowego oświetlania sceny.

Garść teorii

Jak ostatnio pisałem - programy 3D w rzeczywistości opierają się na matematyce i fizyce, a nie na wyczuciu pędzelka czy ołówka ;) Co za tym idzie - robiąc grafiki trzeba znać trochę teorii.

Światło samo w sobie jest w rzeczywistości cząsteczkami (tzw. fotony)... Jaki ma to wpływ na widzenie przez nas świata? Zasadniczy. Isaac Newton odkrył, że białe światło można rozdzielić na podstawowe kolory.

Każdy materiał częściowo odbija cząsteczki światła, a częściowo je pochłania - w ten sposób potrafimy rozróżnić kolory, jak również materiał z którego zrobiony jest dany obiekt. Wg tej teorii idealnie biały kolor (zaznaczmy od razu, ze w naturze nie ma idealnie czystych kolorów) w 100% odbija światło , a idealnie czarny w 100% je pochłania.

Ale po co te informacje o kolorach, skoro mam mówić o świetle? Mianowicie jak przeanalizujecie tą teorię, zauważycie że kolory przez nas postrzegane są zależne od tego w jaki sposób i w jakim świetle będziemy je oglądać. Jest to właśnie ten problem, z którym często walczą fotografowie, czy.... graficy 3D :)

Światła w programach

Podobnie jak w rzeczywistości - w większości programów 3D rozróżniamy różne typy świateł. Dzięki temu mamy możliwość zasymulowania praktycznie każdego rodzaju oświetlenia. Z czego i do jakich celów korzystamy? Wedle uznania;) ale najczęściej wygląda to tak:

Distant - światło kierunkowe; równomiernie oświetlające wszystko w jednym kierunku od źródła światła.

Point - światło punktowe, z reguły dopełniające . Wg analogii do świata rzeczywistego światłem takim jest zwisająca z sufitu żarówka :)

Spot - światło punktowe. generalnie dokładnie tak samo działa jak reflektory samochodowe, czy światła sceniczne. Światło rozchodzi się w formie stożka - tak jak to ma miejsce w rzeczywistości.

Area - światło równomiernie wypełniające scenę. Można porównać je do naszego słońca i sposobu w jaki oświetla ziemie - nie można wyraźnie oddzielić miejsca gdzie pada światło, a gdzie nie.

Oświetlenie sceny

Oświetlanie najlepiej zacząć od ustawienia światłą wypełniającego scenę... czegoś co spowoduje w miarę równomierne oświetlenie całości przy bardzo słabym natężeniu. Do tego celu najlepiej służą światłą typu Area lub Linear. Pamiętajmy tylko, żeby wyłączyć cień dla tego światła. Jeśli teraz tego nie zrobimy - później można dostać białej gorączki szukając powodu dla którego powstaje nam gdzieś niezamierzony brud.

Następnie zastanówmy się który element sceny chcemy najbardziej wyodrębnić i w tym celu posłużmy się światłem typu spot lub omni ( w zależności od tego jaki chcemy osiągnąć efekt... jeśli reflektora, czy światła sztucznego - lepszy będzie spot .... natomiast światło naturalne najlepiej zasymuluje oświetlenie typu omni, które równomiernie rozchodzi się we wszystkich kierunkach).

Kolory świateł

Wracając na chwilę do teorii chciałem przypomnieć, że w rzeczywistości nie istnieje idealnie białe światło, którym raczą nas praktycznie wszystkie programy w ustawieniach domyślnych. Przez to rendery wykonane przez osoby mało dbające o ten aspekt pracy wyglądają tak plastikowo. Jako kolor ogólnego światła sceny najlepiej dać coś synchronizującego z porą dnia, czy ogólną atmosferą całej scenki. Natomiast przy oświetlaniu głównych obiektów najlepiej posłużyć się kołem kolorów (znaczy się dla oświetlenia obiektu wybieramy jeden kolor - natomiast dla światła dopełniającego - kolor leżący po przeciwnej stronie koła kolorów). Sztuczka ta umożliwia lepsze "wybicie" najważniejszych obiektów w scenie bez spowodowania, że wyglądają "jak z innej bajki".

Przy kolorach świateł jest jeszcze jeden użyteczny trick, którego niestety nie da się wykorzystać w naturze (wszystkie rzeczy które opisałem powyżej można również wykorzystać np. w fotografii)... a mianowicie - odjęcie światła :) Dzięki temu, że oprogramowanie 3D działa wykorzystując fizykę i matematykę teoretyczną - można zrobić rzeczy nierealne w rzeczywistości. Do czego można wykorzystać to udogodnienie? Mianowicie jeśli w scenie pojawi nam się światło gdzieś gdzie go nie chcemy - zamiast operować światłami już istniejącymi - robimy światło w kolorze czarnym (bądź o ujemnej intensywności) i kierujemy je tam gdzie chcemy się pozbyć oświetlenia (pamiętajmy żeby używać do tego spotów - w ten sposób mamy większą kontrolę nad procesem odejmowania).

Psychologia oświetlenia

Po zaznajomieniu się z poprzednimi problemami możemy przejść dalej - mianowicie jak wykorzystać światło do zrobienia odpowiedniego klimatu. Światło buduje nastrój. Dzięki niemu możemy zbudować w scenie dowolną atmosferę - od sterylności laboratoryjnych pomieszczeń - po zakurzone i tajemnicze zamczysko ;)

Generalnie wszyscy wiemy, że różnie reagujemy na rzeczy w zależności od ich oświetlenia . Pokój "zalany" światłem będzie nam się kojarzył z sterylnością i atmosferą biura, ten sam pokój oświetlony np. świeczką będzie sprawiał tajemnicze wrażenie . Natomiast jeśli umieścimy kilka świateł o niedużym natężeniu i ciepłych kolorach - automatycznie zacznie sprawiać wrażenie przytulnego. Jak to przenieść w świat 3D?

- używając świateł spot oświetlamy rzeczy "na ostro" Jeśli ma być coś ostre, wyraźne i "wybite na wierzch" - to jest najlepszy wybór. Te same światła z mniejszym natężeniem i odpowiednim ustawieniem rozmycia krawędzi zasymulują nam oświetlenie lamp (np. ulicznych) Przy użyciu efektów atmosferycznych - światła typu spot zostawia nam takie smugi jakie np. możemy zaobserwować w naturze w zakurzonych pomieszczeniach, czy jak prześwituje słońce przez chmury.

- dzięki światłom typu point (czy omni) uzyskujemy efekty miękkich świateł. Świetnie sprawdzają się jako światła dopełniające scenę, czy światła żarówek.

Pozostałe typy świateł raczej służą ogólnemu oświetleniu sceny i nie wpływają np. na nastrój.

Fakeowanie GI

To jest chyba część artykułu, która najbardziej zainteresuje potencjalnych użytkowników... zresztą o rozwinięcie tego tematu zostałem poproszony po pierwszym artykule.

No cóż, próba oszukania widza tak, żeby myślał, że ma do czynienia z Global Ilumination wiąże się z tym, że ponownie muszę powrócić na chwile do teorii.

Co to jest GI? Jest to próba zasymulowania rzeczywistego ruchu fotonów. W tym przypadku program nie wysyła informacji, że tu jest jasno, a tam ciemno, tylko traktuje światła jako emitery cząsteczek, które zawierają informację o świetle i odbijając się od obiektów i siebie nawzajem oświetlają scenę symulując rzeczywiste oświetlenie.

Z tego powodu rendery z użyciem GI są tak realistyczne i.... tak czasochłonne (komputer musi przeliczyć ruch i odbicia każdego fotonu).

Jednak przy odrobinie wiedzy fizycznej można skutecznie zasymulować rzeczywiste oświetlenie. Żeby to zrobić - wystarczy umieścić sferycznie sporą ilość świateł, które mając niewielkie natężenie oszukają ludzkie oczy. Na czym to polega? Po prostu światła te w pełni oświetlą obiekt który będzie wyglądał tak, jakby był oświetlany przez odbijające się fotony.

W większości programów najlepiej zrobić to tworząc wokół obiektu półkulę złożoną ze świateł typu distant lub spot o natężeniu rzędu kilku procent. Przy odrobinie wprawy można uzyskać efekt bardzo zbliżony do rzeczywistości.

Żeby efekt był jeszcze lepszy , to np. przy kompozycji zadbajmy o odpowiedni kolor świateł. Pamiętać należy, że dzięki temu jak powstają kolory (odbijanie się odpowiedniej długości fal) - powstaje jeszcze jeden efekt - a mianowicie efekt przyjęcia na siebie koloru z otoczenia.

Żeby efekt był jak najbardziej realistyczny - odpowiednim światłom w "półkuli" należy nadać kolor współgrający z otoczeniem. nie róbmy tego jednak "po całości" ... koloru tego naprawdę nie ma dużo - po prostu mała poświata.

Cienie

Nie ma światła bez cienia - tak jest w rzeczywistości - natomiast jak to się ma do programów 3D? ... nijak :) Dzięki temu, że jest to tylko program - sami możemy zadecydować które światło i w jaki sposób będzie dawało cień. Jest to wygodna opcja szczególnie kiedy chcemy zwrócić uwagę osoby oglądającej na jakiś konkretny element sceny.

Jednak z punktu widzenia oświetlenia bardziej nas w tej chwili interesuje to w jaki sposób programy liczą i pokazują cienie. Generalnie możemy wyróżnić dwa podstawowe typy cieni: "shadow map" i "raytracing shadows". Jaka jest między nimi różnica? W przypadku "raytracing shadows" cienie są liczone w ten sam sposób jak to wygląda w rzeczywistości. Program dokładnie liczy sposób w jaki rozchodzi się światło i jakie części obiektu dają cienie. Jest to sposób jednocześnie najlepszy - ale również czasochłonny.

W przypadku prostych obiektów czy części sceny nie mającej dużego znaczenia dla kompozycji, lepiej posłużyć się techniką "shadow map" . Działa ona w ten sposób, że program ogólnie oblicza kształt obiektu i "podejrzewa" w jaki sposób mniej więcej pokaże się cień. W rzeczywistości technika ta sprawdza się dość dobrze i nie ma dużych odstępstw od cieni "liczonych".

Jest jeszcze jedna ważna rzecz dotycząca cieni - a mianowicie sposób jego rozchodzenia się. W rzeczywistości cień nie jest jednostajny i ostro zakończony (nie ma ostrych krawędzi). Cienie rozchodzą się od obiektów na zasadzie gradientu. Przy samym obiekcie mają 100% pokrycia ... natomiast czym dalej - tym bardziej jest "przeźroczysty" i bardziej rozmyty.

To by było chyba tyle w tematyce oświetlania. Generalnie dużo więcej nie da się powiedzieć nie zagłębiając się w jakąkolwiek część wypowiedzi dużo głębiej. Więc poprzestanę na tym. Tradycyjnie w razie pytań czy wątpliwości zapraszam na forum, bądź do napisania maila.

Paweł Szynkiewicz

art & design
webesteem magazine | nr 3 webesteem magazine is a part of webesteem.pl  |  copyright © 2001-2004 webesteem.pl  
art & design