DNT - czyli woda, ogień, ciecze, gazy...

 

Digital NatureTools - Areté Image Software - http://www.renderworld.com

Wszystkie zjawiska występujące w naturze takie jak woda, ogień, ciecze, gazy, pyły, są bardzo trudne do naśladowania w programach 3D. Niejednokrotnie spędzają sen z oczu grafikom starającym się je animować, a kiedy dorzucimy zjawiska fizyczne to staniemy przed niełatwym zadaniem jak oszukać widzów. Każdy z nas poświęcił wiele czasu, aby choć raz pobawić się cyfrową wodą i nigdy tak do końca nie był zadowolony z efektów, ponieważ natura jest niepowtarzalna i nieprzewidywalna wydawałoby się, nie do zbadania matematycznie zawsze płata nam figle. Ale nie martwmy się, z pomocą już od kilkudziesięciu lat spieszy nam firma Areté Image Software z pakietem produktów o nazwie Digital Nature Tools.

O tym, że jest to produkt high-endowy tych, którzy choć raz widzieli jego możliwości nie trzeba długo przekonywać natomiast dla niedowiarków trochę kultowych przykładów. Pamiętacie może film Luca Bessona, The Fifth Element, Piąty Element..? Na pewno!. A scenę przelatującego nad oceanem zachodzącego słońca futurystycznego frachtowca tg (statku miłości) prawda, że piękne? No i komputerowo wygenerowana woda, myślę że idealna. Natomiast chyba nikt się nie spodziewał, że DNT użyto w Titaniku reż. Jamesa Camerona - nie!!! - to banalne, chodzi mi o Adwokata Diabła Devils Advocate, reż. Taylor Hackford, uwaga!! zdjęcia - Andrzej Bartkowiak. Jest tam motyw uświadamiania kiedy ojciec i syn wychodzą na dach wieżowca a ich oczom (raczej naszym, aktorzy nic nie widzieli ) ukazuje się woda. Sprytnie wkomponowana, bo budzi respekt i podziw, a chce się powiedzieć, że prawie wylewa się na miasto widniejące w tle, a teraz biegiem do wypożyczalni, uwierzcie mi, warto to zobaczyć, film też. A filmie Wodny Świat Costnera przypomina się wam płynący olbrzymi statek z mnóstwem ludzi na pokładzie, tak naprawdę była to olbrzymia makieta, która poszłaby na dno gdyby nie wykorzystany DNT do wygenerowania otaczającego go oceanu. To by było na, tyle co udało mi się przypomnieć, przejdźmy do naszych mokrych spraw.

Wersje Demo

Firma Areté Image Software, http://www.areteis.com udostępnia wersje demonstracyjne swoich produktów a jest ich sporo;

Digital Nature Tools v4.0!!! zarówno na system operacyjny SGI jak i NT dla Mai 3.0

Digital Nature Tools Premiere v4.0 zarówno na system operacyjny SGI jak i NT dla Mai 3.0

SuperFlow bundle na system operacyjny NT dla Mai 3.0

Digital PyroTools 1.0 zarówno na system operacyjny SGI jak i NT dla Softimage 3.x

NatureFX v3.1 zarówno na system operacyjny SGI jak i NT dla Softimage 3.x

Complete Digital Nature Tools v3.1 oraz NatureFX v3.1 zarówno na system operacyjny SGI jak i NT dla Softimage 3.x

W przypadku Mai wersje ewaluacyjne mają limitowany batch render od klatki 1 do 30, a maksymalna rozdzielczość to 500x400 pixeli, jednakże w zupełności to wystarcza, aby zrozumieć jak potężnym narzędziem dysponujemy.

Na stronach firmy Sisyphus Software, http://sisyphus.com można pobrać Digital NatureTools dla 3D Studio max R 3.1.

Firma Dynamic Realities, http://dynamic-realities.com udostępnia NatureFX dla Lightwava

NatureFX Psunami dla Electric Image można pobrać ze stron Northern Lights Production, http://www.northernlightsprod.com

Jest jeszcze jeden produkt firmy Atomic Power http://www.atomicpower.com Psunami v1.0 dla Adobe After Effects.

Obecnie trwają pracę nad przeniesieniem PSUNAMI na platformę softimage XSI www.areteis.com

Obecnie wersje demo są dostępne też na stronie www.areteis.com

Warto odwiedzić stronę firmy i po wypełnieniu krótkiego formularza rejestracyjnego skopiować interesujące nas wersje, zapoznać się z możliwościami jakie śpią ukryte w oprogramowaniu ,a wiedza jaką zdobędziemy na pewno nam się bardzo przyda. Zwracam na to uwagę bo bardzo często zdarza się nam że szukamy jak szaleni jakiegoś pluginu, a możemy to zrobić w samym programie przy pomocy narzędzi na które patrzeliśmy przez kilka lat pracy z programem. Ponieważ zmiany i innowacje w oprogramowaniu następują tak szybko ,że użytkownicy Mai, Softimaga, 3D Maxa, nie są w stanie wydawać kolejnej walizki pieniędzy na uaktualnienia, a tym bardziej na nowe wersje wtyczek to pozostaje nam tylko cieszyć się, że tak szybko następuje rewolucja w narzędziach, którymi się posługujemy. I tak graficy zmuszeni są do pracy na różnych wersjach, dlatego zdecydowałem się wprowadzić trochę zamieszania i przybliżyć niespodzianki, jakie spotkamy przy pracy.

 

DNT 2.5

A teraz trochę wprowadzenia do pracy z pakietem DNT 2.5 i wersjami wyższymi.

Instalacja

Przewidziano jedynie ręczną instalacje. W przypadku NT należy rozpakować plik nfxmaya_v25_intel.zip do katalogu c:\drive.Utworzy się katalog c:\arente, w przypadku innego dysku/katalogu należy zmienić lokalizację, domyślnie i tak musimy ręcznie skonfigurować środowisko (Start, Settings, Control Panel, ikona System i w zakładce Environment ustawiamy):

Variable: ARETE_LOCATION, Value: c:\arete

Variable: RW_LOCATION, Value: %ARETE_LOCATION%\dntmaya2.5\RenderWorld\bin

W przypadku serwera dodajemy jeszcze,

Variable: LM_LICENSE_FILE, Value: 12563@SERVERNAME

Należy wypełnić i wysłać e-mailem formularz informacyjny w celu otrzymania licencji, potem konfigurujemy usługę serwera i uruchamiamy ją, następnie konfigurujemy plik licencji. Pozostaje nam tylko przekopiować z katalogu arente plik zakładki ( shelf_NFX.mel ) ,skonfigurować ścieżkę lokalizacji linią + NatureFX 2.5 c:\arete\dntmaya2.5\NatureFX, po uruchomieniu mai w zakładce Plug-in Manager zaznaczyć auto ładowanie i... gotowe.( rys. 1 )

rys. 1

rys. 2

 

To tak pokrótce, ponieważ dokładny opis 10 stron A4 krok po kroku zanudziłyby na śmierć każdego, jednakże w praktyce spełnia on swoje zdanie i nie powinniśmy mieć żadnych niespodzianek z instalacją. Podobnie instaluje się wersja 3.1 dla Mai 3 a także najnowsze dziecko Arente - Digital Nature Tools v4.0 dla Mai 3.x

Ikony - NatureFX Map

Po prawidłowej instalacji na półce z ikonami, (piękny jest nasz ojczysty język) pojawiają się kolejno,( rys.2 ) ocean, ripple, wake, swell, sun, sky, map, cloud, fill, rw1, rw2 i one dają nam kontrolę nad tworzeniem wodnego świata.

Pierwsze kroki

rys. 3

rys. 4

1 - Prosto i intuicyjnie klikamy na ikonę ocean. Pojawia się okno psunamiWaveEngine patrz ( rys. 3 ) i opis oraz w oknach widokowych siatka poglądowa, ( rys. 4)

2- Mamy już wodę teraz czas na światło, czyli ikonę sun - klikamy i otwiera się okno atrribute editor - z parametrami naszego światła kierunkowego-słońca.

3 - Teraz dodajemy atmosferę - ikona sky.

4 - 5 - Oczywiście dodajemy kamerę, możemy to zrobić wcześniej ,ale zawsze przed tworzeniem NatureFX Map - klikamy właśnie na tą ikonę i możemy teraz wybrać kombinacje psunami shader ( rys.4a ) dla wody właściwości optyczne+bump+displace, lub właściwości optyczne+bump, albo jedynie Właściwości optyczne+displace, my wybieramy pierwszą opcję, pojawia się

rys. 4a

atrribute editor- psunamiWaveOptics1, oraz zakładka Active perspective camera - tu musimy zdecydować, z której kamery wykonujemy rendering, ponieważ dla tej kamery jest tworzona mapa powielania siatki w miarę oddalania się od kamery oraz przypisane do niej właściwości optyczne takie jak np. mgła. Możemy zacząć już zabawę z fizycznym wyglądem naszego oceanu, ale najpierw zobaczmy jak domyślnie wygląda nasz świat. Teraz już tylko editors - render view - render i wybieramy nasza kamerę (domyślnie camera1) i naszym oczom ukazuje się nasz wodny świat ( rys5 ). Może odbiega estetycznie od naszych wyobrażeń, ale teraz zabieramy się do właściwej pracy. W Mai mamy tak dużo zakładek i parametrów, że nie trudno się pogubić. Bardzo przydatna i przyspieszająca pracę będzie uproszczona lista obiektów w scenie, czyli outliner ( rys. 5a ). Lub dla większej kontroli okno hypergraph. Klikając podwójnie na obiekcie w outlinerze wywołujemy attribute editor, który daje nam kontrolę nad najważniejszymi parametrami przypisanymi już do obiektu, światła, cząsteczek pól, sierści, itd. A teraz trochę magii cyfrowego oceanu, czyli najważniejsze okna DNT i z nich będziemy najczęściej korzystać, ponieważ znacząco wpływają na wygląd oceanu.

rys. 5

rys. 5a

 

NatureFX Psunami - NatureFXOcean

Po wciśnięciu ikony ocean pojawia się w oknach fragment siatki modelującej naszą wodę i attribute editor (ctrl, a).( rys. 3 i 4)

PsunamiWaveEngine - parametry siatki oceanu.

Cztery duże główne ikony calm - pogodnie, windy - wietrznie, stormy - burza, tempest - po burzy lub w czasie, dają nam pierwotne ustawienia, które możemy dalej zmieniać i tak: Okno atribute editor daje nam dostęp do zakładek.

Wind velocity - częstotliwość podmuchów.

Wind direction - kierunek wiatru, parametr ten znacząco wpływa na to czy fale przybliżają się do nas albo czy obserwujemy je, np. z płynącej łodzi.

Speed scaling - przyspiesza przemieszczenia grzbietów fal.

Hight scaling - dodatkowe wzmocnienie amplitudy wychyleń fali.

Time looping - powtarzanie cyklu fal.

Surface complexity - gęstość siatki, znacząco wpływa na szybkość

podglądu im wyższy parametr, tym wolniej, ale lepszy rendering w wyższej rozdzielczości.

W zakładce wave preview mesch size - możemy zwiększać lub zmniejszać wielkość siatki podglądu, daje nam to większą kontrolę nad sceną zanim dokonamy jakiegokolwiek podglądu, a najszybciej sprawdzimy jak faluje nasz ocean klikając prawym klawiszem myszy na suwaku czasu - ( Time Slider ) playbast i renderujemy avi, z okna widoku. Oczywiście, jeżeli dysponujemy szybkim komputerem przepraszam bardzo szybkim z bardzo dobrym OpenGL to wystarczy nam okno sceny.

PsunamiWaveOptics - parametry optyczne wody. ( rys. 6 )

rys.6

rys. 7

Reflected Color - parametr koloru odbić.

Upwelling color - zmienia kolor wody głębi oceanu.

Glitter color - kolor rozświetleń, czyli najjaśniejszych miejsc naszego oceanu

Reflections i refractions - parametry odbić i refrakcji, tu decydujemy czy woda ma być przezroczysta, w jakim stopniu i jak bardzo ma zniekształcać obiekty oraz trzema parametrami RGB sterujemy kolorem refrakcji.

 

NatureFX Sun

Ikona słoneczka i jej parametry - są niemal identyczne jak światła kierunkowego ale jeżeli zmienimy pozycję zmieni się także kolor naszego nieba im bliżej horyzontu tym niebo przybiera bardziej czerwony kolor.

Parametry słońca połączone są z parametrami otoczenia i nieba. Zresztą prawie wszystko połączone jest nicią zależności i wspólnych oddziaływań tak jak w przyrodzie.

 

NatureFX Air

Aby zobaczyć parametry odpowiedzialne za wygląd nieba wywołujemy outliner

klikamy dwa razy na obiekcie skyDome i w attribute editor przechodzimy do zakładki skyShader.

 

Sun/Sky Settings ( rys.7 )

Sky color bias - parametr odpowiedzialny za color i przejrzystość powietrza

jest zgodny z rozpraszaniem się światła w atmosferze.

Sky base height - wysokość bazowa nieba.

Sun intensity - intensywność słońca.

Sun size - wielkość słońca.

Horizont Tilt - parametr odpowiedzialny za gęstość rozświetlenia linii horyzontu.

Haze Settings

Activate Haze - włączanie - wyłączanie parametrów odpowiedzialnych za gęstość zamglenia linii horyzontu.

Rainbow settings - ustawienia tęczy

Rainbow radius - promień tęczy - jeżeli ustawimy ten parametr powyżej 90 stopni to otrzymamy wokół słońca efekt halo.

Underwater color - ocean color - kolor tła poniżej linii oceanu.

A teraz trochę przykładów, jeżeli chcemy obniżyć nasze słońce to wybieramy sun w outlinerze i w attribute editor zmieniamy wartości x y z na ( 165.0 , 0.3, -18.0 ) nasze słońce pojawi się tuż nad horyzontem a niebo przybierze kolor pomarańczowy, jeżeli x ustawimy na 179 słońce prawie zrówna się z horyzontem a niebo zapłonie czerwienią. A przy 180 sky shader nie będzie mógł przeliczać już światła i niebo stanie się czarne. Pamiętajmy, że kamera nie podąża automatycznie za słońcem, więc musimy ustawić ją ręcznie zgodnie z układem współrzędnych, oczywiście, jeżeli chcemy oglądać zachód słońca.

 

NatureFX Psyclone - NatureFX Cloud

Świat chmur piękny i prosty. Aby dodać obłok do naszej sceny przechodzimy do menu dynamics. Wybieramy particle tool ale wywołując tool setings (dla niewtajemniczonych jest to ten magiczny kwadracik) i w opcjach zmieniamy sketch interwal na 10, w oknie spray ujemy dowolny kształt particlami, zaznaczamy nasz obiekt (zielone podświetlenie), ( rys 8a ) i wciskamy ikonę cloud pojawia się zielony box rys i automatycznie zostaje przypisany szader, Wciskamy render i powinniśmy zobaczyć ( rys.8 )

rys. 8

rys. 8a

 

NatureFX Ripple

Zakładka riple pomoże nam zasymulować zjawisko swobodnego kołysania się obiektów pływających na wodzie, (rys.9). W celu utworzenia falowania musimy najpierw stworzyć tzw. (wodną scenę) patrz nasz pierwszy wodny świat.

rys. 9

rys. 10

rys. 11

Ikona ripple tworzy falę i otwiera okno z parametrami ripleShape.

Ripple setings - Start time - miejsce w czasie, w którym będzie zaczynał falować masz obiekt. Radius - promień określający wielkość. Velocity - odpowiada za głębokość początkowego dołka, riple location, domyślna lokalizacja w układzie współrzędnych, domyślnie jest ona locked (pomarańczowe podświetlenie ? ( rys.10 ), ale możemy ją odblokować nad podświetleniem X Location klikamy prawy klawisz myszy - break connection i to samo Dla Z Location Wstawiamy parametry naszej nowej lokalizacji i fala przesuwa się po oceanie tam gdzie chcemy zgodnie z wartościami dla xz dodatnimi lub ujemnymi.

 

NatureFX Swell

Swell - klikamy na ikonę i już możemy sterować parametrami naszej fali ( rys. 11 )

Height - wysokość fali

Direction - kierunek fali szczególnie przydaje się, jeżeli chcemy

pokazać, że fale przybliżają się do nas np. nad brzegiem morza, lub uderzają o skarpę.

Wavelength - odległość między wierzchołkami fali.

Trans widh - przesunięcie grzbietu fali

 

NatureFX Wake

Jeżeli potrzebujemy symulacji płynącego okrętu, motorówki, jachtu, katamaranu itp. ikona wake rozwiąże nasz problem.

Np. katamaran ma dwa kadłuby i zostawia dwa ślady na wodzie, nic prostszego klikamy na ikonę wake, odblokowujemy parametr wake location i przesuwamy nasz ślad o szerokość osi kadłubów, tworzymy drugi ślad, wciskamy play i nasz wirtualny katamaran już płynie. Podobnie możemy zrobić z obiektami dryfującymi, czyli ripple, dodać do tego falę swell oraz mieszać te wszystkie źródła zniekształceń wody, co daje nam niesamowite możliwości. Pamiętajmy jednak, że jeżeli masz ocean symuluje pogodę burzową to wake i ripple znikną nam w odmętach topieli i to już po kilku cyklach.

Parametry WakeShape

Speed - prędkość poruszania się obiektu.

Direction - kierunek kursu.

Hull lenght i width - wielkość kadłuba.

Keel depth - głębokość kila.

Wake location at start - pozycja początkowa.

 

DNT - Particle Fill

Jest to narzędzie do wypełniania obiektów ściankowych chmurami lub płynami. Tworzymy obiekt sferę, box, lub cylinder, wybieramy ten obiekt i wciskamy ikonkę fill, wypełnienie następuje automatycznie. Wersja 3.1 i 4.0 posiada dodatkowo moduły P_Liquid i DNT|Maya Particle Randomize do sterowania parametrami gęstości cząsteczek dla chmur i cieczy.

 

RenderWorld

Jest to narzędzie pomagające zarządzać całym pakietem DNT rys przedstawia opcje dostępne po wciśnięciu ikonek. Przede wszystkim służy do zapisania konfiguracji całej sceny, konfiguracji bath renderingu i animacji. ( rys.13 )

rys.13

rys. 14

rys. 15


 

DNT 3.1
Ponieważ w tej wersji pojawił się P_liquid, to troszkę o nim.

P_liquid

Zasada działania jest bardzo prosta zamienia cząsteczki (particles) na krople. Tworzymy cząsteczki emiterem lub sprayem, zaznaczamy obiekt, wciskamy ikonę liquid, pojawia się liquidShadingBox ( rys. 14 ) i zostaje przypisany szader liquidSG do cząsteczek następnie render, potem render perspectiv i gotowe, no nie do końca, bo zabawa dopiero się zaczyna, trzeba pobawić się szaderami, pooświetlać i dopiero wyjdą nam gluty to znaczy woda. ( rys.15 ) Gluty, bo pierwszy efekt nigdy nie jest taki jak byśmy chcieli.

DNT 4.0 ? !
Ostatnią wersję Digital Nature Tools 4 dla Mai 3.0 wzbogacono o następny żywioł, jakim jest ogień. Kompletny zestaw narzędzi i szaderów do tworzenia dymu i płomieni symulujący rzeczywistą dynamikę ognia. ( rys. 16 ) przedstawia menadżera ognia możemy w nim wybrać różne jego typy i bawić się nimi do zaśnięcia przy komputerach, co wydaje się niemożliwe !

rys. 16

rys. 17

P_Liquid do 10x szybsze ( particle-to-liquid ) generowanie powierzchni, czyli zamiana cząsteczek na krople a także dołączono wspomaganie raytracingu. Psyclone posiada teraz umiejętność rzeczywistego otaczania obiektów czyli ciało obce w chmurach, jeżeli dodam jeszcze, że możemy decydować czy światło ma przenikać przez chmurę czy być za nim, o czym nie wspomniałem wcześniej to panowie animatorzy do dzieła!

Psunami wzbogacono o curved wake, to znaczy, że nasz statek może teraz płynąć torem, który wyznacza dowolna krzywa!!!. ( rys.17 ) Tworzymy prostą scenę wciskając kolejno ikony sun, sky, ocean i w przypadku wersji DNT4 gird, selekcjonujemy krzywą i wciskamy ikonę C_Wake, otwieramy outlinera, wybieramy curvedWakeTransform, wciskamy shift i wybieramy naszą krzywą, na koniec animate, paths, Attach to Path. Wciskamy play i patrzymy jak ikona łódeczki przemieszcza się tworząc zakręcone fale. Trzeba tutaj nadmienić, że DNT jest wyjątkowy nie przelicza symulacji wody wszystko jest gotowe. Gigantyczna oszczędność czasu.!!!

Pyro

Widok samego menadżera ( rys. 16 ) spowodował we mnie chęć napisania osobnego artykułu dotyczącego tylko efektów pirotechnicznych. Zapraszam więc do lektury już wkrótce.

W podsumowaniu mogę dodać jedynie, że DNT jest najlepszym ognisto - wodnym produktem jaki udało mi się poznać. Jak widać firma Arete nie zasypuje gruszek w popiele. Już nie mogę się doczekać co będzie wkrótce. Symulacja zamarzania i topnienia wody (tworzenia się kryształków lodu), spalanie się ciał organicznych, dynamika materiałów sypkich, łamanie obiektów ?. Może pewnego dnia na naszym domowym komputerku zasymulujemy sobie taki świat jak nasz i do rana będziemy się zastanawiać dlaczego nasi wirtualni ludzie nie śpią tylko siedzą i knują?. Dobranoc.

Sebastian Szkudlarek 2002 e-mail www.smartviz.emapa.pl

- prosze o niewykorzystywanie tego artykułu/tutorialu bez wiedzy autora, czyli mnie -

All images by Areté Image Software All right reserwed www.areteis.com


27 kwietnia 2002

Tutorial umieszczony na www.maya3d.users.pl za zgodą autora