GI,
FG oraz HDRI w Mayi z zastosowaniem Mental Ray 1.5 for Maya
Oryginalny
tytuł: Global Illumination in Maya (with MentalRay 1.5)
Autor oryginału: Toni Bratincevic -
tbratinc@foi.hr
-
http://www.3dluvr.com/intercepto
Tłumaczenie: Przemysław 'HeavY' Orłowski
Wstęp
Dzisiaj prawie wszystkie
liczące się programy do grafiki 3D w jakiś sposób mają dołączoną
obsługę GI. Standardowego renderera Mayi nie wspomaga jednak jakikolwiek
rodzaj GI i wielu ludzi nie może się z tym pogodzić, dlatego AW
zdecydowało się w wspomóc Mayę jednym z najbardziej zaawansowanych
rendererów na dzień dzisiejszy czyli Mental Ray'em. Jeśli ktoś z
was używał wcześniej XSI, wie jak potężny jest Mental Ray. Jedną
z najbardziej interesujących cech Mental Ray'a zintegrowanego z
Mayą jest to iż potrafi on obliczyć dodatkowe światło rozprzestrzeniające
się po scenie, co jest inaczej nazywane globalną iluminacją (GI).
W tym tutorialu będę próbował opisać jak stworzyć sceny wykorzystujące
Globalną Iluminację. W tym tutorialu jest sporo obrazków więc jeśli
wszystkiego co napisałem nie zrozumiesz odrazu, obrazki powinny
wyjaśnić wszystko.
Mental Ray posiada dwa sposoby obliczania dodatkowych świateł rozprzestrzeniających
się po scenie, jednym jest Globall Illumination a drugim Final Gather.
W pewnych sytuacjach możesz używać jednego z tych rozwiązań ale
najlepsze efekty uzyskuje się dzieki połączeniu obu technik. Global
Illumination polega na wystrzelaniu ze światła fotonów i śledzeniu
ich rozkładu w scenie. To jest szybkie rozwiązanie i dzięki niemu
możemy uzyskać dobre dodatkowe oświetlenie sceny ale nie jest ono
tak dokładne jak byśmy tego chcieli. I dlatego musisz łączyć pierwszy
sposób z Final Gather'ingiem. Cel Final Gather'ingu jest taki jak
w przypadku Global Illumination ale sposób podejścia do procesu
całkiem inny. Final Gather'ing jest wyliczany na podstawie punku
widoczności i nie jest on wyliczany na podstawie źródła światła
tak jak Global Illumination. Gdy pierwsze promienie uderzą w dany
punkt na obiekcie, Final Gather jest aktywowany i tworzy dodatkowe
promienie w scenie zbierające informacje o kolorze dookoła punku
dla którego chcemy wyliczyć kolor.
W tym tutorialu będziemy używać dwóch rodzajów scen dla których
będziemy tworzyć GI oraz FG. Kilka pierwszych scen reprezentować
będzie sceny pokojowe,domowe a drugi typ scen to sceny plenerowe,
czyli sceny na wolnym powietrzu. Dla pierwszej sceny domowej przejdziemy
wszystko krok po kroku, a przy pozostałych scenach wypunktujemy
satysfakcjonujące nas wartości do stworzenia GI oraz FG. Dla scen
plenerowych pokażę jak FG może być używany dalej lecz już w połączeniu
z HDRI przy oświetlaniu sceny.
Pierwsze czego potrzebujesz to ściągnąć Mental Ray'a ze strony AW.
Po zainstalowaniu go, uruchom Mayę i przejdź do Window -> Setting/Prefferences
-> Plug-in Manager by sprawdzić czy Mayatomr jest załadowany.
Jeśli nie to zaznacz Loaded. Jeśli chcesz używać Mental Ray'a na
codzień to zaznacz Auto Load. Po tym wszystkim przejdź do interfejsu
Rendering i ustaw Mental Ray'a jako standardowy renderer - Rendering
-> Render Using -> mental ray.
Scena Domowa 1
Na początku potrzebujesz
stworzyć scenę która będzie używana jako przykładowa scena domowa.
Stwórz prosty sześcian Create > Polygon Primitives > Box.
Potem przeskaluj go w osi Z i zwiększ podział powierzchni na 6 4
10, powinieneś uzyskać sześcian podobny do sześciana na rys.1.

Teraz aby zwiększyć
złożoność obiektu wytłoczymy jego wszystkie faces poza tymi które
znajdują się na przodzie. Przejdź do menu Polygons > Tool Options
i sprawdź czy opcja Keep Faces Together jest niezaznaczona. Jesli
jest niezaznaczona zaznacz poligony jak na rys.2.

Teraz przejdź do Edit
Polygons > Extrude Face i za pomocą tego polecenia oraz manipulatora
stwórz obiekt podobny do tego na rys.3.

Teraz obróć widok w
oknie tak abyś widział nie wytłoczony przód obiektu. Zaznacz 8 środkowych
faces na tej stronie obiektu i usuń je. Teraz obiekt powinien mieć
dziurę tak jak na rys.4

Teraz musimy stworzyć
światło typu spot light Create > Lights > SpotLight. Światło
zostało stworzone w środku sceny więc trzeba go przesunąć, przeskalować
i obrócić tak aby było ustawione jak na rys.5.

Zmień wyświetlanie
w oknie na Shaded, i obróć kamerę tak aby była w środku obiektu,
tak jak na rys.6.

Teraz przejdź do Attribute
editor przy zaznaczonym świetle aby zmienić kilka opcji. Na początek
zmień Decay Rate na Quadratic. Ja używam Quadratic Decay Rate w
wielu przypadkach aby uzyskać jak najbardziej realistyczne efekty.
Możesz również zostawić Decay Rate bez zmian i poeksperymentować
trochę. Więc jeżeli zmieniłeś DR na Quadratic ustaw Intensity na
około 120.
W zakładce Shadow > Raytrace Shadow Attributes zaznacz Use Raytrace
Shadows to spowoduje tworzenie ostrych cieni typu Raytraced Shadows.
Potem możesz użyć Area light dla uzyskania bardziej realistycznych
cieni.
Następną sprawą którą powinniśmy się zająć to stworzenie shadera
typu Lambert i przypisania go do naszego obiektu. Gdy przypiszesz
już szader do obiektu zmnień jego kolor na jakiś pomarańczowy odcień.
Teraz czas przejść do ustawiania GI... Są dwie zakładki które będą
nas interesować jedna znajduje sie w Attribute Editor światła a
druga w Mental Ray Rendering Globals > Options . Pierwszą rzeczą
jaką zrobimy będzie zmiana kilku opcji w ustawieniach światła dzięki
temu nasze świato będzie emitować fotony. W tym celu zaznacz jedyne
światło typu spotlight w scenie i napiśniej CTRL + A. Pojawi się
okno Attribute Editor przejdź do zakładki MentalRay > Caustic
and Global Illumination i włącz Emit Photons. Gdy to zrobisz część
opcji poniżej stanie się dostępnych. Jak widzisz są tam trzy parametry
Energy, Exponent, Physical. Energy i Exponent są podobnymi opcjami
... są używanie one do obniżania i podnoszenia ogólnej jasności
efektu GI w scenie.
Jeżeli zrenderowałbyś teraz swoją scenę uzyskał byś taki sam efekt
jaki uzyskasz bez całej zabawy w GI. Dlaczego? Ponieważ musimy włączyć
GI w ustawieniach globalnych Mental Ray'a. Przejdź do Window >
Rendering Editors > Render Globals (mental ray). Gdy okno sie
otworzy przejdź do zakładki Quality i naciśnij przycisk z szachownicą
leżący po prawej stronie opcji Render Quality. Teraz przejdziesz
do innego menu o nazwie mentalrayOptions1. W tym właśnie menu włączymy
GI. Aby to zrobić przejdź do zakładki Caustics/Global Illumination
i włącz opcję Global Illum, to włącza liczenie GI w scenie. Stwórzmy
teraz przykładowy obrazek na któreym zobaczymy co się stanie jeśli
włączymy GI. Pierwszy obrazek pokazuje Rendering bez GI drugi już
zrenderowany przy użyciu GI.

Bez GI
|

GI
|
Jak widzisz jest już
duża ilość dodatkowego światła w scenie, ale jedynym problemem jest
to iż nie uzyskaliśmy satysfakcjonującej nas jakości renderingu.
Zapamiętaj po ustawieniu GI możemy użyć Final Gather'ingu dla uzyskania
lepszej iluminacji. Do wyregulowania GI służą wcześniej zauważone
przez ciebie najprawdopodobniej opcje w AE (Attribute Editor) światła
i MentalRay Globals > mentalrayOptions1. Opcje w ustawieniach
światła służą do kontroli ilości fotonów oraz jasności efektu GI
w scenie, zaś opcje w MentalRay Globals są używane do wyregulowania
samego efektu GI, np jak wiele fotonów będzie skupione i przemieszane
w punkcie x kiedy renderer będzie wyliczał iluminację, lub jak duży
ma być obszar z którego fotony będą "zbierane". To wszystko
będzie demonstrowane potem.
Aby wyregulować GI na początku zmnienimy pewne opcje w AE światła.
Więc naciśnij CTRL + A i przejdź do opcji Caustic and Global Illumination.
Jak widzisz parametr Global Illum Photons jest już teraz dostępny.
Ta opcja mówi rendererowi jak wiele fotonów GI ma być "wystrzelonych"
w scenę. Im więcej fotonów użyjesz tym lepsza jakość ale czas renderingu
również dłuższy. Naszym celem jest uzyskanie satysfakcjonująco szybkiego
rozwiązania dla GI dlatego nie będziemy używać zbyt wielu fotonów.
Gdy patrzysz sie wyrenderowanej scenie, zobaczysz że jasność sceny
przy włączonym GI jest wygórowana. A przecież nie chcemy tego ponieważ
gdy włączymy jeszcze Final Gather który wprowadza dodatkowe oświetlenie
do sceny obraz stanie się zbyt jasny. Aby zmnienić wpływ GI na scenę
zwiększymy wartość Exponent do wartości 3.5. Aby pokazać ci jak
parametry Exponent oraz Energy wpływają na scenę stworzyłem kilka
obrazków.

Energy 8000
Exponent 2
|

Energy 8000
Exponent 2
|

Energy 8000
Exponent 3
|

Energy 8000
Exponent 3.5
|

Energy 2000
Exponent 2
|

Energy 4000
Exponent 2
|

Energy 6000
Exponent 2
|

Energy 10 000
Exponent 2
|
Jak możesz zauważyć zabawa wartościami Exponent i Energy daje podobne
efekty. Więc które rozwiązanie z powyższych może być najlepsze ?
Obrazek o parametrach Energy 8000 and Exponent 3.5. Jest za ciemny
? Tak to prawda, ale pamiętaj że FG podnosi jasność sceny. Jeżeli
chcielibyśmy używać tylko GI pomijając FG wtedy prawdopodobnie wybralibyśmy
Energy 8000 i Exponent 3 albo coś około tych wartości. Ale teraz
ustaw parametr Exponent na 2.8 by lepiej widzieć jak GI wpływa na
scenę, a potem kiedy skończymy konfigurować GI zmienimy spowrotem
na 3.5.
Prawdopodobnie zadajesz sobie pytanie, co się stanie gdy zwiększę
ilość fotonów w scenie. Poniżej są obrazki.

Energy 8000
Exponent 3
Glob Ill Photons 1000
|

Energy 8000
Exponent 3
Glob Ill Photons 10000
|

Energy 8000
Exponent 3
Glob Ill Photons 100000
|

Energy 8000
Exponent 3
Glob Ill Photons 1000000
|
Pierwszy obrazek jak widać nie posiada wystarczająco dużo fotonów,
więc jest prawdopodobnie nieużyteczny. Drugi i trzeci dają zadowalające
rezultaty i wyliczanie fotonów nie zabierało zbyt wiele czasu. Ostatni
wydaję sie być najlepszy jakościowo ale zabiera za dużo czasu na
wyliczenia w stosunku do wcześniejszych. Który z nich powinniśmy
użyć ? Ten który zawiera się pomiędzy drugim a trzecim czyli trzeba
ustawić ilość fotonów GI na wartość ok 50000. A oto co otrzymaliśmy.

Energy 8000
Exponent 3
Glob Ill Photons 50000
Teraz trochę o szumie widocznym na obrazku. Aby pozbyć się nieprzyjemnego
szumu przejdź do RenderGlobals (MentalRay) > mentalrayOptions1.
Teraz będziemy troszeczkę się bawić parametrami Global Illum Accuracy
i Global Illum Radius i zobaczymy jak one wpływają na obrazek. Co
robi parametr Global Illum Accuracy ? Mówi on rendererowi ile fotonów
zbierze się z otaczającej przestrzeni kiedy bedzie liczona intensywność
GI i punkcie który cieniujemy. Drugi parametr określa jak duża jest
przestrzeń z której fotony są zbierane. Obrazki jak zwykle powiedzą
więcej niż słowa.

Global Illum Accuracy 1
Global Illum Radius 0
|

Global Illum Accuracy 50
Global Illum Radius 0
|

Global Illum Accuracy 100
Global Illum Radius 0
|

Global Illum Accuracy 300
Global Illum Radius 0
|

Global Illum Accuracy 100
Global Illum Radius 0
|

Global Illum Accuracy 100
Global Illum Radius 0.1
|
Global Illum Accuracy 100
Global Illum Radius 0.2
|
Global Illum Accuracy 100
Global Illum Radius 0.5
|
Na pierwszym obrazku widzisz wiele plamek w scenie. To są właśnie
fotony. Jeżeli Global Illum Accuracy wynosi 1 intensywność fotonów
nie jest łączona razem. Dlatego jest tak wiele plamek na obrazku.
Jeżeli zwiększysz wartość Global Illum Accuracy, więcej fotonów
będzie się skupiać razem i mieszać dając uśrednioną wartość. To
jest właśnie sytuacja na obrazkach 2, 3 i 4. Możesz równiez zauważyć
że zwiększanie watrości Global Illum Accuracy powyżej 100 nie daje
większego efektu więc możesz pozostawić tą wartość.
Teraz jeżeli Global Illum Radius pozostawisz jako 0 renderer automatycznie
ustawi wartość jaką będzie uważał za najlepszą. Tak jest w przypadku
pierwszego obrazka w 3 wierszu. Ale to nie jest najlepsze rozwiązanie
w naszej sytuacji, więc będziemy musieli ustawić to sami. Zwiększając
poziom Global Illum Radius iluminacja staje się coraz bardziej właściwa
dla sceny. W ostatnim obrazku z Global Illum Accuracy 100 i Global
Illum Radius 0.5 uzyskujemy najprawdopodobniej najlepsze wyniki.
Poziom szumu na odpowiednim poziomie i każda część obrazka jest
oświetlona wystarczająco. Dlatego właśnie powinniśmy wżywać tych
ustawień.
To jest koniec częsci dotyczącej ustawień GI. Teraz jest czas na
to by wprowadzić Final Gather'ing i podnieść jakość iluminacji.
Ale wcześniej wróć do AE światła i ustaw Exponent na 3.5.
Przejdź do mentalrayOptions1 w RenderGlobals (MentalRay), przejdź
do sekcji Final Gather i włącz Final Gather. Są tam trzy bardzo
ważne parametry Final Gather Rays, Min Radius and Max Radius. Jako
domyślne ustawienie tych parametrów jest przyjęte 1000 0 0. Wszystkie
trzy parametry mają ogromny wpływ na szybkość renderingu. FG Rays
jest liczbą promieni w scenie szacujących wartość Final Gather'ingu.
Większa ilość promieni podnosi jakość ale i znacznie obniża szybkość
renderingu. Max i Min Radius informują renderer w jakim promieniu
w cieniowanego punktu mają być zbierane informacje o otaczającym
świetle. Jeżeli ich wartości śą równie 0 to renderer wtedy sam szacuje
wartości dla nich obu. Ale w tym przypadku my ustawimy je sami.
Zobacz na kilka obrazków gdzie zmieniano te rzy parametry.
Czas 1m 36s
Final Gather Rays 100
|
Czas 2m 17s
Final Gather Rays 200
|
Czas 2m 57s
Final Gather Rays 300
|
Czas 3m 24s
Final Gather Rays 400
|

Czas 1m 27s
Final Gather Rays 100
Mix Radius 0.01
Max Radius 1
|

Czas 0m 51s
Final Gather Rays 100
Mix Radius 0.05
Max Radius 1
|
Czas 0m 31s
Final Gather Rays 100
Mix Radius 0.1
Max Radius 1
|
Czas 0m 21s
Final Gather Rays 100
Mix Radius 0.5
Max Radius 1
|

Czas 1m 21s
Final Gather Rays 100
Mix Radius 0.1
Max Radius 0.1
|

Czas 0m 41s
Final Gather Rays 100
Mix Radius 0.1
Max Radius 0.2
|

Czas 0m 32s
Final Gather Rays 100
Mix Radius 0.1
Max Radius 0.5
|

Czas 0m 31s
Final Gather Rays 100
Mix Radius 0.1
Max Radius 1
|
Jak pewenie zauważyłeś więcej promieni FG wystrzelonych w scenę
zwalnia rendering ale podnosi jakość końcową. I jeżeli Min i Max
Radius jest zwiększany to czas renderingu skraca się. Dla osiągnięcia
najlepszej jakości/szybkości musisz znaleźć najbardziej odpowiednie
ustawienia.Patrząc na obrazki powyżej możesz oszacować jak ustawić
ilość promieni, możesz ustawić ich ok 300. Kiedy będziemy zwiększać
ilość FG Rays prędkość renderingu będzie spadać, więc trzeba ją
będzie skompensować parametrami Max i Min Radius dla których zmienimy
wartości np na Min 0.25 i Max 1. Teraz jeśli zrenderujesz obrazek
powinieneś otrzymać coś takiego.

Czas 0m 50s
Final Gather Rays 300
Mix Radius 0.2
Max Radius 1
Wygląda to dobrze i rendering był też stosunkowo szybki... więc
osiągnelismy swój cel. Na koniec przejdź do mentalrayOptions1 do
zakładki Sampling Quality i ustaw parametr Max Samples na 2 i włącz
Jitter. Następnie przejdź do RenderGlobals (Maya Software) i zwiększ
rozdzielczość do 800 600. To wszystko naciśnij Render i pozwól Mentalowi
czynić jego powinność.
Jeżeli chcesz podnieść realizm sceny możesz użyć area Light zamiast
spot Light. To daje bardziej zblurowane i bardziej realistyczne
cienie. Aby to zrobić przejdź do AE swiatła i poniżej MentalRay
> AreaLight włącz Area Light. Ten obrazek został wyrenderowany
bez Area Light.

Czas 4m 41s
Rozdzielczość 640 x 480 - Max Samples 2 + Jitter
Final Gather Rays 250
Mix Radius 0.25
Max Radius 1
Scena domowa 2
Do tej pory przechodziliśmy
krok po kroku przez pierwszą część tego tutoriala, tym razem przejdziemy
trochę szybciej. Nasza następna scena będzie trochę inna od pierwszej,
ale również będzie sceną domową. Zerknij poniżej na geometrię i
ustawienie świateł.


POBIERZ
SCENĘ
Jak widzisz są tam
dwa światła i dwa otwory którymi światło wpada do środka. Geometria
jest prosta ale rozkładanie się światła będzie trochę bardziej skomplikowane
niż w scenie pierwszej. Teraz trochę o swiatłach. To po lewej stronie
jest określone za pomocą paramertów: Color 1 0.708 0.326 Intensity
800 Decay Rate Quadric, a drugie światło po prawej stronie: Color
0.486 0.829 1 Intensity 500 Decay Raye Quadric.
OK więc zabierajmy sie do roboty i przetestujmy pewne ustawienia
GI. Przypiszemy GI dla obu świateł. Poniżej są obrazki przedstawiające
ustawienia GI dla lewego światła potem dla prawego a następnie dla
obu.

Światło lewe
Energy 8000
Exponent 1.1
Global Illumination Photons 20 000
|

Światło prawe
Energy 8000
Exponent 1.3
Global Illumination Photons 20 000
|

Oba światła
Na obrazku z prawej strony widać jednak jakiś szum. Aby polepszyć
trochę efekt GI przejdź do mentalrayOptions1 i zmnień Global Illum
Accuracy na 100 a Global Illum Radius na 5. To wygładzi GI i jeżeli
to wyrenderujesz uzyskasz coś takiego.

Global Illum Accuracy 100
Global Illum Radius 5
Wygląda to dobrze więc teraz zajmiemy się konfiguracją FG. Jak już
wcześniej przeczytałeś opcje FG znajdują się w RenderGlobals (MentalRay)
> mentalrayOptions1 w zakładce Final Gather. Jeżeli pozostawisz
wartości domyślne uzyskasz efekt jaki jest widoczny na pierwszym
rysunku poniżej.

Czas 6m 54s
Final Gather Rays 1000
Mix Radius 0
Max Radius 0
|

Czas 1m 33s
Final Gather Rays 100
Mix Radius 0
Max Radius 0
|

Czas 1m 55s
Final Gather Rays 250
Mix Radius 0.1
Max Radius 5
|

Czas 1m 12s
Final Gather Rays 180
Mix Radius 0.3
Max Radius 5
|
Pierwszy jest najprawdopodobniej najbardziej dokładnym rendringiem
ponieważ paramety Rays wynisi 1000 ale przez to również rendering
jest bardzo wolny. Drugi wykorzystuje dziesięć razy mniej promieni
od pierwszego, dlatego w scenie widzimy plamy. Dla 2 pierwszych
obrazków pozostawiłem paramtry Min i Max na poziomie 0 więc renderer
sam je ustawiał. W kolejnych 2 renderingach dalej się trochę bawiłem
wartością Rays i zmieniłem wartości Min i Max. Jak możesz zauważyć
na trzecim obrazku zwiększyłem wartość Min aby wygładzić efekt FG,
ale nie za dużo, ponieważ są tam gdzieniegdzie jeszcze plamy na
ścianach i skrzynkach. Naszym celem jest uzyskanie podobnej iluminacji
jak na pierwszym obrazku ale ze zmniejszonym czasem renderingu.
Czwarty obrazek jest chyba tym czego potrzebujemy. Szybkość renderingu
jest zbliżona do pozostałych a i efekt iluminacji w scenie wygląda
całkiem nieźle. Jest tam co prawda kilka niedociągnięć w niektórych
obszarach więc jeżeli przeszkadza co to, to możesz kontynuować udoskonalanie
rozświatlania sceny.
Zerknij poniżej na wyrenderowany w wyższej rozdzielczości obrazek.

Czas 4m 0s
Rozdzielczość 640 x 480 - Max Samples 2 + Jitter
Final Gather Rays 180
Mix Radius 0.3
Max Radius 5
Scena plenerowa
W takich scenach istnieją
dwa główne źródła światła, niebo - niebieskie światło i słońce -
jasno żółte światło. Słońce może być zasymulowne jako pojedyncze
źródło światła a światło nieba jako ogromna kula dookoła sceny.
Ale jak ta kula może oświetlać obiekty ? Taki trik moża uzyskać
dzięki algorytmowi FG, i kula z przypisanym szaderem poprostu "świeci".
Jak stworzyć ten efekt zobaczysz potem. W niektórych sytuacjach
użycie samego FG wystarcza do oświetlenia sceny. Problemy przychodzą
dopiero wtedy gdy niektóre partie sceny nie są kierunkowo oświetlone
przez słońce lub niebo. Wadą FG przyrównując do rozwiązań globalnej
iluminacji w innych rendererach jest to że nie można ustawić maxymalnej
energii dla promieni FG w scenie. I przez to musimy posługiwać się
fotonami używanymi przy wyliczeniach GI.
Więc zabierajmy się do pracy. W naszej scenie użyjemy prostego modelu
który jest przedstawiony poniżej.

POBIERZ
SCENĘ
Zanim zabierzemy się
za pracę ze światłem słonecznym, powinniśmy stworzyć dwie kule otaczające
świątynię. Wewnętrzna kula będzie niewidoczna dla użytkownika i
posłuży jako źródło oświetlenia a druga kula będzie widoczna i nie
będzie dawać żadnego efektu oświetlania sceny. Więc stwórzmy pierwszą
kulę i przeskalujmy ją na 40 40 40. Otwórz Hypershade'a w jakimś
oknie i stwórz szader Lambert, przypisz go do kuli którą właśnie
zrobiłeś. Przejdź do Edytora Atrybutów tego szadera i ustaw Diffuse
na 0 a Incadescence na kolor nieba. Ja użyłem R 0.269 G 0.38 B 0.537.
Możesz nawet zmienić nazwę tego szadera na coś w rodzaju Kula_wewnętrzna.
Kiedy to zrobisz przejdź do okna widokowego i zaznacz tą kulę, otwórz
Edytor Atrybutów i przejdź do nurbsSphereShape1, otwórz zakładkę
Render Stats i wyłącz Cast Shadow, Receive Shadow, Primary Visibility,
Visible in Refraction i Visible in Reflection. To ukryje twoją kulę
i kiedy włączysz FG, renderer będzie używał jej jako źródła światła.
Po tym jak stworzyłeś pierwszą sferę nadszedł czas na drugą, stwórz
ją i przeskaluj na 41 41 41. Teraz również stwórz następny szader
Lambert i przypisz go do nowej kuli. W Edytorze Atrybutów zmnień
wartości Diffuse i Color szadera na 0, a Incadescence ustaw taki
jaki chcesz. Ta sfera będzie widziana podczas renderingu ale nie
będzie dawała żadnych efektów świetlnych. Dlaczego robie to wszystko
na dwóch kulach jeżeli mogę to zrobić na jednej? Poniweaż jeżeli
robisz wszystko tak jak dotychczas masz większą kontrolę nad ilością
wyemitowanego oświetlenia przez niebo do sceny (pierwsza sfera)
oraz kontrolę nad wyglądem nieba na renderingu (druga sfera). Jeżeli
wynrenderowałbyś teraz scenę zobaczyłbyś coś takiego.

Bez FG i GI
Więc jak zmusić naszą pierwszą sferę do tego by była źródłem światła?
Rozwiązanie tkwi w zastosowaniu Final Gather'ingu. Tak jak to jest
również wspomniane wcześniej przejdź do RenderGlobals(MentalRay)
i zakładki Quality i kliknij na przycisku z szachownicą znajdującym
się obok Render Quality. Kiedy mentalrayOptions1 się otworzy przejdź
do zakładki Final Gather i włącz Final Gather. Aby mieć szybki podgląd
tego co do tej pory zrobiliśmy ustaw Final Gather Rays na 100 i
zrenderuj scenę.

Efekt SKYLIGHT używając Final Gather
Teraz już wiesz jak stworzone niebo odziaływuje na scenę. I to jest
właściwie koniec tworzenia światła z nieba.
Następnym krokiem jest stworzenie światła słonecznego. Aby to zrobić
stwórz światło typu Spotlight. Prawdopodobnie zapytasz dlaczego
nie użyjemy światła typu Directional które tworzy oświetlenie podobne
do światła słonecznego. Używamy światła Spotlight dlatego że światło
Directional nie może być używane do obliczania GI. I dlatego musimy
przesunąć to światło daleko od modelu aby uderzające model promienie
były prawie równoległe.
Teraz gdy masz już stworzone to światło przesuń je poza świątynię,
gdzieś w pobliżu krawędzi sfery wewnętrznej ( X 18.6 Y 23.23 Z 15.58),
i skieruj światło na świątynię. Teraz przejdź do Edytora Atrybutów
światła i ustaw jego kolor na jasno pomarańczowy (R 1 G 0.87 B 0.57)
i ustaw Intensity na 0.75. Zmień również Cone Angle na 90 i w zakładce
Shadow > Raytrace Shadow Attributes włącz Use Raytrace Shadow.
Teraz jeśli wyrenderujesz scenę zobaczysz coś takiego.

Efekty SKYLIGHT i SUNLIGHT przy FG
Wygląda ok, ale trzeba jeszcze podkręcić FG ale tym zajmiemy sie
później. Teraz przypomnij sobie jak mówiłem że nie możemy zwiększyć
energii promieniom FG tak jak można to uczynić w innych rendererach.
I skutkiem tego jest wada na rysunku powyżej, przestrzeń wewnątrz
świątyni nie jest oświetlona a powinna jeśli przyjrzysz się kilku
realnym przykładom. I dlatego potrzebujemy pomocy GI.
Aby ustawić GI przejdź do Edytora Atrybutów światła i w zakładce
mental ray > Caustics and Global Illumination włącz Global Illum.
Gdy skończysz możesz zrobić testowy render. Zobaczysz że po włączeniu
GI nie będzie większych zmian w oświetleniu ciemnej przestrzeni
w scenie. Jest tak ponieważ GI jest zbyt ciemne w tym przypadku,
i aby było ono bardziej widoczne w Edytorze Atrybutów światła zmniejsz
wartość parametru Exponent na 1.6 i wyrenderuj scenę.

FG oraz GI
I to jest to czego chcemy! Teraz kiedy mamy ustawione FG i GI naszą
ostatnią modyfikacją będzie dopieszczenie wartości parametrów w
obu metodach. Kiedy pierwszą część tego tutoriala przechodziliśmy
krok po kroku, to tym razem podam wam jakich wartości powinniście
użyć. Pierwszą rzeczą jaką powinniście zrobić to zwiekszyć wartość
Global Illum Photons do 50000, Global Illum Accuracy na 250 i Global
Illum Radius na 3. To troche zwolni rendering ale uzyskamy wysoką
jakość iluminacji. Dla Final Gather'ingu ustaw Final Gather Rays
na 250, Min Radius na 0.75 a Max Radius na 8.
Kiedy używamy pojedynczego światła typu Spotlight do symulacji światła
słonecznego, tworzy ono zbyt ostre cienie co nie jest zbyt realistyczne,
i dlatego użyjemy mentalowego Area Light. Przejdź do Edytora Atrybutów
światła potem do zakładki mentalray > Area Light i włącz Area
Light i ustaw jego typ na Sphere. W opcjach samplowania możesz zwiększyć
jakość cieni jeśli chcesz, ale możemy je zostawić teraz tak jak
są. Jeśli przełączysz się do trybu wyświetlania siatkowego w oknie
widokowym zauważysz sferę dookoła światła ta sfera reprezentuje
rozmiar Area Light. Jest ona teraz trochę za mała więc przeskalujmy
ją na 2 2 2. To wszystko, teraz możemy wyrenderować końcowy obrazek
w wysokiej rozdzielczości.

Końcowy rendering
Czas 4min 5sec przy rozdzielczości 480x360
Używanie obrazów HDRI
Na koniec będziemy
się zajmować wykorzystaniem obrazów HDRI w renderingu. Zakładam
że wiesz co to są obrazy HDRI (skrót od High Dynamic Range Image).
Jeśli nie wiesz odwiedź http://www.debevec.org/.
Final Gather'ing jest naszą kluczową metodą renderingu gdy chcemy
wykorzystać obrazy HDRI. W tej metodzie nie używamy świateł i jedyne
oświetlnie sceny pochodzi z otaczającej scenę sfery do której jest
przypisany obraz HDRI. FG zbiera wszystkie informacje z obrazu HDRI
i oświetla scenę.
Na początek pobierz kilka obrazów HDRI. Kilka jest tutaj http://www.debevec.org/Probes/.
Do tego tutoriala użyjemy obrazów The Uffizi Gallery, Florence z
podanej strony więc proszę ściągnijcie je. Pobierzcie również mały
program o nazwie HDRShop z http://www.debevec.org/HDRShop/.
Teraz możemy zabrać się do pracy. Uruchom HDRShop i otwórz obraz
.hdr jaki ściągnąłeś. Ponieważ obraz HDR jest mapą kątową, a chcemy
ją przypisać do kuli, przekształcimy ją na Latitude/Longitude Map.
Aby tego dokonać przejdź do Image > Panorama > Panoramic Transformations.
Po lewej stronie gdzie jest ustawione żródło pliku ustaw Format
na Light Probe a po prawej stronie ustaw Format na Latitude/Longitude
i naciśnij OK. Po pewnym czasie wyskoczy nowe okno ze stworzoną
mapą. Klikij Save As i wybierz format Radiance HDR i zapisz plik.
Maya nie wspiera wyświetlania obrazów HDR w oknach widokowych jeśli
jakiś z nich przypiszesz do obiektu.
Przełącz się do Mayi i załaduj prostą scenę którą stworzyłem.
POBIERZ
SCENĘ
Jeśli przeglądniesz
scenę zauważysz że do wszystkich obiektów jest przypisany szader
Blinn. Jest tak ponieważ szader Lambert nie może odbijać otoczenia,
a właśnie tego chcemy - pięknego renderingu z wykorzystaniem HDRI
który powstaje również dzięki odbijaniu otoczenia przez obiekty.
Zauważysz również że jest jedno światło w scenie którego Intensity
jest równe 0. Jest ono potrzebne ponieważ gdy nie mamy żadnego światła
w scenie renderer sam tworzy jedno światło a tego przecież nie chcemy.
Teraz stwórz kulę do której przypiszemy obraz HDR. Przeskaluj sferę
na 20 20 20. Gdy to zrobisz stwórz jeden materiał Labmert i przypisz
do sfery. Przejdź do Edytora Atrybutów tego szadera i wprowadź kilka
zmian. Kliknij na 'szachownicy' obok parametru Ambient Color i w
zakładce 2D Textures kliknij na File. Kiedy otworzy się okno z ustawieniami
pliku, kliknij na ikonce folderu znajdującej się po prawej stronie
Image Name i wybierz obraz .hdr jaki zapisałeś wcześnej. Również
w Hypershade przyłącz output color z pliku do kanału color szadera
Lambert. Obraz jest zmapowany na sferę ale nie jest zmapowany prawidłowo.
Przejdź do węzła place2DTexture tego obrazu i ustaw Rotate Frame
na 90. Teraz Obraz jest zmapowany poprawnie. Zgodnie z tym czego
dowiedziałeś się wcześnej włącz Final Gather'ing. Przed testowym
renderingiem ustaw jeszcze FG Rays na 100 aby rendering był szybszy.
Twój rendering będzie najprawdopodobniej wyglądał tak.

Czas 0 min 59 sec
Finalgather Rays 100
Min Radius 0
Max Radius 0
Nieźle ale gdzieniegdzie są jeszcze jakieś plamy, musimy więc trochę
'podkręcić' FG. Ponieważ chcemy wykorzystać tylko FG bez GI, 100
promieni nie będzie wystarczające, więc ustawimy większą wartość,
może około 300-400. Ja użyłem 350 w tym przypadku.

Czas 1 min 37 sec
Finalgather Rays 350
Min Radius 0
Max Radius 0
Jest tutaj dużo mniej plam niż w poprzednim przypadku, czas renderingu
nie wzrósł bardzo. Aby wygładzić obraz jeszcze bardziej zwiększymy
FG Rays na 500 i ustawimy Min Radius na 0.3 a Max Radius na 8. Oto
rezultat.

Czas 1 min 22 sec
Finalgather Rays 500
Min Radius 0.3
Max Radius 8
Jest on lepszy niż ostatni. Jednak obraz jest trochę za ciemny,
więc zwiększymy rozświetlenie sceny. Aby to zrobić przejdźmy do
Hypershade, zaznaczmy węzeł File przyłączony do naszego szadera
Lambert i kliknijmy na nim dwa razy aby wejść do Edytora Atrybutów
tego węzła. Otwórz zakładkę Color Balance i kliknij na prostokącie
z kolorem przy parametrze Color Gain. Kiedy pojawi się okno Color
Chose ustaw V na 1.7 i kliknij Accept. To zwiększy jasność obrazu
HDRI i oświetlenia sceny. Czasem obrazy HDRI używane do oświetlania
sceny mogą być za ciemne, więc jeśli to będzie miało miejsce zwiększ
ich jasność wedle swojego uznania. A oto końcowy rendering.

Czas 5min 15 sec
Rozdzielczość 480x360 przy Max Samples 2
Final Gather Rays 500
Min Radius 0.3
Max Radius 8
I to jest koniec :-) Mam nadzieję że mój tutorial wam pomógł. Jeśli
macie jakieś sugestie lub pytania piszcie do mnie na adres tbratinc@foi.hr
18
stycznia 2003
Tutorial
przetłumaczony dla: www.maya3d.users.pl
|