Tworzenie renderowania okluzji otoczenia w języku Maya

Spisu treści:

Tworzenie renderowania okluzji otoczenia w języku Maya
Tworzenie renderowania okluzji otoczenia w języku Maya
Anonim

Tu, w kąciku z gadżetami, przepisy nie mają zbyt wiele sensu, ale pewnego wieczoru, gdy szukaliśmy porady na temat gotowania kurczaka z papryką cytrynową, przyszło nam do głowy, że moglibyśmy rozpocząć serię z innym rodzaj przepisów dotyczących cieniowania.

Całe „książki kucharskie” zostały napisane na materiałach i shaderach w Maya, UDK, 3DS Max, Vray itp.

To coś, z czym wielu początkujących ma problemy i nie bez powodu! Modyfikowanie szeregu tajemniczych parametrów, takich jak „siła zwierciadlana” i „rozproszona masa”, w celu naśladowania rzeczywistych materiałów, takich jak drewno, szkło, kamień lub płytki ceramiczne, nie jest łatwym zadaniem.

Więc oto jesteśmy

Rozpoczynając od ambient occlusion, zaczniemy wprowadzać ustawienia aplikacji dla niektórych popularnych, rzeczywistych materiałów, które są trudne do przybicia. W tej serii będziemy głównie używać Mayi, chociaż możemy zajrzeć do Unreal Development Kit raz lub dwa. Jesteśmy podekscytowani tą serią i spodziewamy się, że nauczymy się jej pisania równie dużo, jak ty ją czytasz!

Co to jest okluzja otoczenia?

Image
Image

Nie daj się zwieść tej nazwie – okluzja otoczenia jest w rzeczywistości dość prostym materiałem do zbudowania i jest niezwykle ważny.

AO jest nie tylko używany (dość uniwersalnie) do renderowania obrazów w toku, ale jest również często używany jako podstawa w komponowaniu i malowaniu tekstur, ponieważ pomaga wydobyć szczegóły i „podłoże” obiektów w scena przez ujednolicenie cieni.

Okluzja otoczenia jest formą samocieniującego się materiału, co oznacza, że działa nawet wtedy, gdy scena nie jest oświetlona. Teoretycznie jest to szczątkowe przybliżenie globalnego oświetlenia i ma naśladować sposób, w jaki światło rozprzestrzenia się po pomieszczeniu lub środowisku.

Rendery z okluzją otoczenia mają charakterystyczny „miękko zacieniony” wygląd z subtelnym przyciemnieniem w każdym miejscu, w którym dwie powierzchnie zbliżą się lub zetkną (naroża pomieszczenia, spód obiektów, drobne szczegóły itp.). Obrazy okluzji otoczenia są czasami nazywane „renderami gliny” ze względu na ich podobieństwo do modeliny.

Oto model, który wykonaliśmy na warsztaty w zeszłym roku, który wykorzystuje ambient occlusion, aby pokazać formę modelu (koncepcja broni autorstwa Diego Almazana).

Tworzenie Ambient Occlusion Shader:

Tworzenie shadera ambient occlusion dla podstawowych obrazów postępu jest dość łatwe i nie wymaga żadnych UV, map tekstur ani oświetlenia.

Istnieje wiele sposobów na zaimplementowanie tego efektu dla nieco innych wyników, ale ten, który tutaj przedstawimy, jest przyjemny i prosty, wymaga tylko jednego węzła Mental Ray i podstawowego materiału Lamberta.

Oto krótkie wyjaśnienie krok po kroku.

Otwórz okno Hypershade i utwórz nowy materiał Lamberta

Nadaj materiałowi nazwę - zwykle używamy czegoś takiego jak ambientOcclusion_mat.

Kliknij dwukrotnie materiał, aby otworzyć jego atrybuty materiału. W tym miejscu ustawimy większość parametrów modułu cieniującego.

Domyślnie kolorem rozproszenia materiału jest neutralna szarość, ale nie chcemy, aby rozjaśnienia były wyblakłe, więc przesuniemy wartość koloru w dół w kierunku ciemniejszego końca spektrum. Używamy 0, 0,.38 dla wartości HSV w atrybucie koloru, ale jest to kwestia osobistych preferencji.

Następną rzeczą, którą musimy zrobić, to podłączyć węzeł ambient occlusion do atrybutu żarzenia materiału

Kliknij w kratkę obok wpisu incandescence. Spowoduje to wyświetlenie okna węzła renderowania.

Pod zakładką Mental Ray kliknij texttures i znajdź mib_amb_occlusion na liście. Kliknij go, a węzeł otworzy się w edytorze atrybutów po prawej stronie ekranu.

Powinieneś zobaczyć listę atrybutów - te, które są dla nas ważne, to próbki, jasność/ciemność, rozproszenie i maksymalna odległość, jednak jedyną rzeczą, którą zmienimy, jest liczba próbek.

W węźle ambient occlusion liczba próbek kontroluje ilość szumu w renderowaniu

Pozostawienie próbek na 16 lub 32 będzie stosunkowo ziarniste, podczas gdy podniesienie wartości do około 64 lub 128 będzie wyglądało bardzo gładko. 32 próbki są dobre do testowania, ale jeśli planujemy pokazać obraz, zwykle użyjemy 64 lub 128.

Wypróbuj kilka renderów na różnych poziomach próbki, aby wyczuć różnice - może Ci się spodobać ziarnisty wygląd na dolnym końcu widma.

Oto obraz porównawczy, który wykonaliśmy przy użyciu środowiska zewnętrznego, które modelowaliśmy jakiś czas temu, pokazując różnicę między renderowaniem podstawowym Maya a renderowaniem ambient occlusion z 64 i 128 próbkami. Zobacz, o ile lepiej obraz wygląda z ambient occlusion?

Możesz również pobawić się innymi atrybutami, jeśli chcesz:

Jasne i ciemne kontrolują minimalne i maksymalne wartości w renderowaniu. Jeśli zauważysz, że Twoje światła są wyblakłe lub cienie są zmiażdżone, możesz użyć tych suwaków, aby to zrekompensować. Rozpiętość i maksymalna odległość zmienią odległość zaniku/okluzji między jasnymi i ciemnymi wartościami.

Idziesz! Mamy nadzieję, że dowiedziałeś się trochę o okluzji otoczenia i o tym, jak można ją wykorzystać jako miły materiał do prezentacji scen 3D.

Zalecana: