Menu główne

Strona główna
Archiwum artykułów
Artykuły tematycznie
Wyślij news'a
Tutoriale PL


Galeria

Galeria
Standard Gallery
Gold gallery
5 ostatnich prac
Prace top 10


Zasoby

Bitwy
Pliki
Linki
Ankiety
Szukaj


Fora dyskusyjne

Nasze Forum
Forum3D.pl
ilahi

Kontakt

Napisz do nas
Poleć nas
nukrox

Serwis

O Redakcji
Statystyki
Top 10
nukro

Statystyka

Otrzymaliśmy
7557335
odsłon strony od 1 maj 2003


Tutoriale w języku polskim


Tutoriale: Xpresso - tornado

Wysłany przez borys

Modul Thinking Particles zostal dodany dopiero do Cinemy 4D R8, i daje on bardzo duza kontrole na efektami z użyciem partycli. W ponizszym tutorialu postaram sie pokazać jak wykorzystać a co najwazniejsze zrozumiec działanie tego modulu. Tutorial ten pokazuje jak wykorzystujac Thinking Particles stworzyc efekt Tornada. Podczas czytania (korzystania) zalecam do zwracania uwagi na dołączone screen'y, są bardz pomocne.



Download: Plik ze scena



Krok 1: Zaczynamy od stworzenia dwóch emiterów, oraz pustego obiektu, aby mozna pozniej w latwy sposób nawigowac emiterami. Tworzymy wiec pusty obiekt wybierajac w menu: Objects>Null Object, i zmieniamy nazwe tego obiektu na Emitery.

Tworzymy taga XPresso dla emiterów, wybierajac w Object Manager menu: File>New Expression>Xpresso Expression. W ten sposób stworzylismy taga, wiec teraz otwieramy Xpresso Editor.

Metoda Drag and drop przenosimy nasz obiekt 'emitery' do Xpresso Editor tworzy sie wezel. Wstawiamy do niego nasze dwa emitery Position i Global Matrix, wybierajac: Cordinates>Position>Position oraz Global Matrix.

Teraz tworzymy dwa obiekty (w Xpresso editor) PStorm które znajdziemy w X-Pool wybierajac: System Operators>Thinking Particles>TP Generator>PStorm. Wszystkie operatory Thinking Particles znalesc mozna w System Operators>Thinking Particles.

Tworzymy Emitter Alignment i wstawiamy go do dwóch wezlów PStorm. Laczymy 'Position' z 'Emitter Position', a takze laczymy 'Global Matrix' z 'Emitter Alignment'.

Przemieszczamy obiekt 'emitery' wg osi Y = do wartosci = 1000 i obracamy o -90 stopni.

Krok 2: Teraz grupujemy obiekty w Xpresso editor, przypisujac do odpowiednich grup. Tworzymy Particle Birth dla obydwu obiektów PStorms, a takze tworzymy dwa PGroup wybierajac Thinking Particles>Standard>PGroup.

Laczymy obiekty 'Particle Birth' z pojedynczymi 'PGroup'. Z okna Xpresso otwieramy ustawienia 'Thinking Particles i tworzymy inne grupy, menu: Custom>Thinking Particles Settings.

W oknie z ustawieniami klikamy prawym przyciskiem myszy na napis 'All' i dodajemy trzy grupy.

Zmieniamy nazwy grup na: Tornado Group, Tornado 1, i Tornado 2. Nastepnie umieszczamy 'Tornado 1' i 'Tornado 2' w Tornado Group.

Przeciagamy 'Tornado 1' do pierwszego 'PGroup', oraz przeciagamy 'Tornado 2' do drugiego 'PGroup'.

Krok 3: Gdy juz mamy emitery przypisane do róznych, potrzebujemy zmienic ustawienia w 'PStorm'. Wybieramy 'PStorm' przypisane do 'Tornado 1'. Zmieniamu nastepujace wartosci: W Type wpisujemy 'Rectangle', Count=1500, Life=150 F, Speed=300, X Size=400, Y Size=400.

W 'PStorm' przypisanym do 'Tornado 2'. Wstawiamy takie wartosci jak wyzej za wyjatkiem Count=1000.

Otwieramy ponownie okno ustawien Thinking Particles, klikamy prawym na 'Tornado 2' i wybieramy Settings.

W oknie ustawien zmieniamy kolor na np zielony. Kolor jaki zostanie wybrany nie jest tak wazny, dzieki niemu beda widoczne róznice pomiedzy dwoma grupami.

Krok 4: Tworzymy pusty obiekt: Objects>Null Object i zmieniamy mu nazwe na motion albo ruch.

W opcjach ustawien obiektu (Coordinates) przy P.Y wstaw wartosc=400. Upewnij sie, ze w linii czasowej suwak jest w klatce 0, wtedy klikamy w Coordinates prawym przy wartosci R. H i wybieramy Animation>Add Keyframe.

W suwaku animacji przechodzimy do klatki 150 (jezeli jest 90 to w project settings CTRL+D ustawiamy dlugosc 150). Gdy juz jestesmy wklatce 150 wstawiamy wartosc=10000 w R. H, oraz dodajemy klatke kluczowa (keyframe) dla tej wartosci.

Krok 5: W tym momencie mamy juz z-animowany obiekt, dodajemy kolejny obiekt 'Particle Geometry' do sceny wybierajac z menu: Plugins>ThinkingParticles>Particle Geometry.

Tworzymy dwa wezly 'PMotionInheritance' w Xpresso editor wybierajac:Thinking Particles>TP Dynamic>PMotionInheritance; a takze dwa wezly 'PPassi' Thinking Particles>TP Initiator>PPassi.

Teraz wrzucamy nasze obiekt 'motion' (lub 'ruch' w zaleznosci jak go nazwalismy) do wezlów 'PMotionInheritance'. Takze do wezlów PPass wrzucamy 'Tornado 1' (do górnego) oraz Tornado 2 do dolnego wezla PPass. Nastepnie laczymy wezly PPass pojedynczo z wezlami PMotionInheritance.

Wybieramy wezel PMotionInheritance polaczony z 'Tornado 1'. Zmieniamy typ na 'Cylinder' oraz Radius na 300, w celu zmiany rozmiaru emitera. Zmieniamy takze 'Cylinder Axis' na Y, a takze 'Cylinder Height' na 500.

Zmieniamy ustawienia gradientów wezla PMotionInheritance, drugi suwak 'Distance Gradient' na jasny szary R=200, G=200, B=200.

'Cylinder Gradient' okresla dlugosc, lewy suwak gradientu kontroluje srodek obiektu, a prawy suwak decyduje o koncach obiektu. Wiec teraz dodamy troszke zmiennosci w ksztalcie 'particli'. Na poczatek dodajmy trzy jeszcze trzy suwaki do 'Cylinder Gradient', dwów z nich zmieniamy kolor na ciemny szary R=100, G=100, B=100. Pozostale trzy zmieniamy na calkowicie biale, oraz ustawiamy jak na rys. po prawej.

Dla 'Scale Gradient' dodajemy jeden suwak i zmieniamy pierwszy na calkowicie czarny, drugi na bialy. Ustawiamy suwaki jak na rys. po lewej.

Krok 6: Teraz wybieramy drugi wezel PMotionInheritance, który jest polaczony z 'Tornado 2'. Nastepnie zmieniamy: 'Inheritance' na 90%, Type na Cylinder, Radius na 300, Cylinder Axis na Y, Cylinder Height na 500.

Dla 'Distance Gradient' zmieniamy: lewy suwak na jasny szary R=185, G=185, B=185, prawy suwak na ciemny szary darker gray R=70, G=70, B=70.

'Cylinder Gradient' ustawiamy w miare podobnie jak w poprzednim wezle PMotionInheritance. Dodajemy trzy suwaki, zmieniamy dwóm z nich kolor na na ciemny szary R=80, G=80, B=80. Pozostale trzy zmieniamy na calkowicie biale, ustawiamy ja na rys. po prawej.

Info: Nie jest koniecznoscia aby ustawiac te same wartosci, podane powyzej zostaly uzyte przy tworzeniu tutorialu.

Krok 7: W momencie gdy tornado styka sie z ziemia w góre wzlatuje pyl, wiec teraz postaramy sie stworzyc tego typu efekt. Tworzymy obiekt 'Plane' jako podloze wybierajac z menu: Objects>Primitive>Plane.

Rozmiar obiektu 'Plane' ustawiamy na 2500x2500. Zmieniamy nazwe na 'floor'.

W Xpresso editor tworzymy nowy wezel 'PPass' wybierajac Thinking Particles>TP Initiator>PPassi a nastepnie wrzucamy do niego 'Tornado Group'. Tworzymy takze wezel PGetData wybierajac: Thinking Particles>TP Helper>PGetData. Laczymy 'Thinking Particles' z wezla 'PPass' z 'Particle' w wezle PGetData.

Teraz tworzymy: wezel 'Vector2Reals' wybierajac: Xpresso>Adapter>Vector2Reals, wezel 'Compare' wybierajac: Xpresso>Logic>Compare, wezel 'PDie' wybierajac: Thinking Particles>TP Standard>PDie, wezel 'PStorm' wybierajac: Thinking Particles>TP Generator>PStorm, a takze wezel dla obiektu Floor.

Wezel PGetData musi otrzymac wszelkie informacje o grupe particli które sa do niego przypisane, dlatego potrzebujemy okreslic ich pozycje, tworzymy port wychodzacy 'Position' w wezle 'PGetData', a nastepnie laczymy 'Position' z portem 'Input' w wezle 'Vector2Reals'.

Teraz nalezy ustawic pozycje particli wg osi Y z osia Y obiektu 'Floor'. Tworzymy port wychodzacy 'Position Y' dla wezla 'Floor'. Laczymy 'Position Y' z 'Input 2' w wezle 'Compare'. Nastepnie 'Y' wychodzacy z wezla 'Vector2Reals' laczymy z 'Input 1' w wezle 'Compare'.

Wchodzimy do ustawien wezla 'Compare' i ustawiamy 'Function' na <= (mniejsze badz równe). Teraz gdy pozycja wg osi Y jest mniejsza badz równa, od pozycji obiektu 'Floor' object.

Gdy particle uderzaja w obiekt 'Floor' musza sie zatrzymac a nowe automatycznie wygenerowac, aby wytworzyc efekt pylu. Tworzymy porty 'On' wchodzacy do wezlów 'PDie' oraz 'PStorm' a nastepnie laczymy 'Output' z wezla 'Compare' z tymi dwoma portami.

Aby spadajace particle znikaly, grypa particli musi byc przyporzadkowana do odpowiedniej grupy która spowoduje ich zanik. Laczymy 'Particle' wychodzace z grupy 'Tornado' w wezle 'PPass' z 'Particle' wchodzacymi do wezla 'PDie' node. Takze laczymy 'Position' wychodzacy z wezla 'PGetData' z 'Emitter Position' wchodzacym do wezla 'PStorm'.

Krok 8: W wlasciwosciach wezla 'PStorm' ustawiamy nastepujace wartosci: Birth Type na Shot, Shot na 10, Life na 20 F, Life Variation na 50%, Speed na 250, Speed Variation na 90%, X FOV na 180, Y FOV na 180.

Wezel 'PStorm' nie okreslonej pozycji dlatego tworzymy: 'Null Object' i zmieniamy nazwe na Alignment. Tworzymy wezel dla obiektu 'Alignment' i w nim tworzymy port wychodzacy 'Global Matrix'.

Kolejne potrzebny nam port to 'Emitter Alignment' wychodzacy z wezla 'PStorm'. Laczymy 'Global Matrix' z 'Emitter Alignment' w 'wezle PStorm'. Zaznaczamy obiekt 'Alignment' i obracamy go o 90 stopni wzgledem 'P'.

Krok 9: Ostatnia rzecza jaka musimy wykonac jest przyporzadkowanie particli do ich wlasnej grupy. W ustawieniach 'Thinking Particles' dodajemy grupe pod innymi grupami. Klikamy prawym przyciskiem myszy na nowej grupie i otwieramy jej ustawienia, zmieniamy nazwe na Dirt a takze zmieniamy kolor na np brazowy.

Tworzymy kolejny wezel 'PGroup' wybierajac z menu: Thinking Particles>TP Standard>PGroup, a takze tworzymy 'Particle Birth' wychodzace z wezla 'PStorm'. Laczymy 'Particle Birth' z 'Particle' w wezle 'PGroup'.

Przenosimy grupe 'Dirt' na góre wezla 'PGroup'.

Krok 10: Ostatnia rzecz jaka musimy wykonac to sprawic aby particle podazaly za okreslonym obiektem. Tworzymy pusty obiekt 'Null Object' zmieniamy mu nazwe na np:'Follow'. Tworzymy wezel dla stworzonego wlasnie obiektu a takze wezel 'PPositionFollow' wybierajac z menu: Thinking Particles>TP Dynamic>PPositionFollow.

Zaznaczamy wezel 'PPositionFollow' i zmieniamy typ na 'Spring', nastepnie ustawiamy: Spring Speed na 10%. Wstawiamy takze wchodzacy port 'Follow Position' do wezla.

Tworzymy teraz wychodzacy port 'Global Position' dla wezla 'Follow node'. Laczymy 'Global Position' z 'Follow Position' wezle 'PPositionFollow'. Takze laczymy port 'Particle' wychodzacy z grupy 'Tornado' wezla 'PPass' z 'Particle' wezla 'PPositionFollow'.

Jezeli wszystko jest odpowiednio polaczone nasz obiekt tornada powinien podazac za obiektem 'Follow' gdy bedziemy go przesuwac wzgledem osi X lub Z. W pliku ze scena jest jeszcze jedna scena gdzie obiekty poruszaja sie po plaszczyznie wg osi X i Z, w róznych kierunkach.



Oryginalny tutorial znajduje sie pod tym adresem.


 
Pokrewne linki

· Więcej o Tutoriale w języku polskim
· Napisane przez borys


Najczęściej czytany artykuł o Tutoriale w języku polskim:
Dla początkujących - modelowanie


Oceny artykułu

Wynik głosowania: 5
Głosów: 4


Poświęć chwilę i oceń ten artykuł:

Wyśmienity
Bardzo dobry
Dobry
Przyzwoity
Zły


Opcje


 Strona gotowa do druku Strona gotowa do druku


RSS

Użyte znaki towarowe i loga graficzne są własnością odpowiednich firm, instytucji czy osób prywatnych.
Redakcja nie odpowiada za treść komentarzy oraz postów na forum, są one własnością użytkowników.
Serwis zbudowano przy wykorzystaniu systemu portalowego PHP-Nuke.
Wszystkie prawa zastrzeżone.
Wykonanie i prowadzenie www.BORYS.org

design for firefox