Abyśmy mogli skoncentrować się na pracy z nowymi funkcjami, przygotowałem plik projektu w zestawie materiałów towarzyszących: PSD_R21_VektorVolumen_start.c4d. Zawiera on obiekt kuli i dwa emitory cząstek, skierowane odpowiednio z góry i z dołu na kulę. Celem tego samouczka jest takie skonfigurowanie wylatujących cząstek, aby trafiały one w kulę i rozprzestrzeniały się w różnych kierunkach.
Przyjrzyjmy się krótko elementom sceny. Oba emitory cząstek mają takie same ustawienia: Wydzielają one 500 cząstek do klatki 300, przy czym czas życia cząstek wynosi 1000 klatek, co wystarcza aż do końca długości animacji.
Po kliknięciu przycisku odtwarzania widać, że cząstki obu emitorów przechodzą przez kulę niezakłócone. Chcemy to teraz zmienić.
Budowa pierwszego pola wektorowego
Rozpoczynamy od wygenerowania pierwszego pola wektorowego z geometrii narzuconej przez kulę. Ma ono kierować napływające cząstki z losowym wzorem wokół kuli.
Najpierw pobieramy twórcę woluminów z menu Wolumen.
Następnie przeciągamy obiekt kuli z menedżera obiektów jako podobiekt do twórcy woluminów. Obecnie jako typ wolumenu wciąż jest podana siatka odległościowa, dlatego twórca wolumenu obecnie tworzy naszą kulę z wokseli.
Aby zamiast kuli stworzyć pole wektorowe, po prostu zmieniamy typ wolumenu na wektor w odpowiednim menu.
Następnie zmieniamy bardziej zbiorczą podziałkę pola wektorowego poprzez rozmiar voxel. Wartość 5 cm w zupełności wystarczy do naszych celów.
Nasz dotychczasowy obiekt kuli dzięki wolumizerowi zamienił się teraz w promieniste pole nieskończonych wektorów.
Gdy przybliżymy się trochę do pola wektorowego, zobaczymy poszczególne wektory, wszystkie prostopadle do pozycji na powierzchni kuli. Wynikające siły zatem wskazują na zewnątrz z naszej kuli. Nie jest to jednak to, czego potrzebujemy do przekierowania cząstek wokół kuli.
Musimy zająć się zatem dwoma rzeczami: Wektory muszą leżeć równolegle do powierzchni kuli, a ponadto muszą posiadać losowy wzorzec, aby cząstki na powierzchni zostały skierowane w różne kierunki.
Dla wzorca losowego służy pole losowe, które pobieramy z menu Generuj>Pole.
Przeciągamy pole losowe jako podobiekt nad twórcę woluminów z menu obiektów. W dialogu ustawień twórcy woluminów pole losowe jest następnie wymienione jako warstwa powyżej naszej kuli.
Spójrzmy na widok 3D, gdzie oba pola wektorowe jeszcze nie działają dokładnie tak, jak potrzebujemy. Pole losowe powinno działać na kuli wskazanej poniżej niego na liście wektorów.
Aby to osiągnąć, wybieramy wpis pola losowego na liście obiektów w twórcy woluminów i w ustawieniach znajdujących się poniżej dla pola losowego ustawiamy przestrzeń generacji na obiekty poprzedzające.
Teraz pole losowe działa tak, jak zamierzaliśmy, na wszystkich wektorach dostarczanych przez kulę. Teraz musimy jedynie sprawić, aby chaotycznie obrócone wektory pokazywały wzdłuż powierzchni kuli.
Tryb mieszania pola losowego z kulą nadal nie jest do końca odpowiedni. Wybieramy metodę mieszania dla pola losowego jako iloczyn wektorowy w menu Tryb w liście obiektów. Ten tryb jest idealny do obliczania pionowej do dwóch wektorów krzyżowych.
Jak pokazuje nasze widok 3D, wektory w tym kroku przebiegają stycznie wokół naszej kuli, zgodnie z naszymi oczekiwaniami.
Użycie pola siłowego
Przygotowaliśmy pierwsze pole wektorowe dla trajektorii cząsteczek wokół kuli, ale jak dotąd cząsteczki nie zwróciły uwagi na nasze wektory.
Aby wektory w naszym własnoręcznie stworzonym polu mogły działać jako siły, potrzebujemy tzw. obiektu pola siłowego. Znajdziemy go w menu Symuluj>Siły.
Aby nasz wektorowy wolumen mógł działać jako pole siłowe, otwieramy okno ustawień pola siłowego, a następnie przeciągamy generator wolumenu na managera obiektów w polu obiektu pola siłowego. Gdy puścimy przycisk myszy, pojawi się małe menu wyboru, w którym wybieramy opcję obiekt wolumenowy.
Teraz nasz wektorowy wolumen zdefiniowany przez generator wolumenu powinien być widoczny w liście pól siłowych. Jak widzimy, pole siłowe również działa poprzez warstwy i tryby mieszania, co sugeruje nowe możliwości związane z obiektem pola siłowego.
Po uruchomieniu animacji przyciskiem odtwarzania, zauważymy, że cząsteczki są teraz wpływane przez nasze pole wektorowe.
To jeszcze nie jest pożądany efekt. Obecnie obiekt pola siłowego ma aktywną opcję dodaj do prędkości typu prędkości, więc cząsteczki są jedynie lekko odchylane. Chcemy jednak, aby cząsteczki zmieniały swoje kierunki zgodnie z wektorami, co możemy wybrać w menu typ prędkości.
Po tej zmianie animacja wygląda już lepiej. Wiele cząsteczek już znajduje swoją drogę po powierzchni kuli, ale niektóre są odbijane od kuli. Zauważamy także, że odbite cząsteczki poruszają się bardzo dziwnymi torami.
To ostatnie można łatwo naprawić, wybierając w ustawieniach obiektu pola siłowego generator wolumenu na liście obiektów i zmieniając w jego ustawieniach na stronie warstw, tryb próbkowania z najbliższego na liniowy. Dzięki temu nie będzie on po prostu zaokrąglany do najbliższego wokselu, lecz zostanie użyta średnia liniowa.
Po tej zmianie odbite cząsteczki poruszają się już znacznie swobodniej wokół kuli. Teraz zapewnimy, że także te cząsteczki pozostaną na powierzchni kuli.
Aby tor przemieszczających się po powierzchni kuli cząsteczek nie był zbyt skomplikowany, zwiększamy w ustawieniach obiektu pola losowego wielkość leżącego u podstawy szumu. Oczywiście każdy może eksperymentować dalej z ustawieniami pola losowego.
Jeśli wybierzemy obiekt pola losowego, możemy interaktywnie zmieniać parametr wielkości za pomocą własnego uchwytu w widoku 3D. Wybrałem wielkość 300 %, aby szum był wyraźnie widoczny przy wektorach.
Tworzenie drugiego pola wektorowego
Jak sugeruje nazwa naszego obiektu „Kula wewnętrzna”, oprócz właśnie ukończonego pola wektorowego dla wewnętrznej kuli, planujemy utworzyć drugie pole wektorowe dla zewnętrznej kuli. Ta druga, nieco większa kula ma na celu odesłanie ewentualnie odbitych cząsteczek z powrotem na powierzchnię wewnętrznej kuli.
Aby to osiągnąć, duplikujemy obiekt kuli, przeciągając go w manedżerze obiektów z wciśniętym klawiszem Ctrl, pozostawiamy go jako obiekt podrzędny w generatorze wolumenu i dodajemy nazwę „zewnętrzna”, aby odróżnić obie kule. Zewnętrznej kuli nadajemy również promień większy o 2 cm, aby cząsteczki miały więcej miejsca na poruszanie się.
Generator objętości wygenerował również pole wektorowe odpowiadające zewnętrznej kuli z listy istniejących obiektów.
Na liście obiektów w oknie dialogowym ustawień generatora objętości zewnętrzna kula teraz znajduje się na górze i zostanie wykonana jako ostatnia. Jednak chcemy, aby zewnętrzna kula została początkowo przepuszczona przez cząstki, a następnie nie wypuszczała już tych cząstek.
Organizując listę obiektów, przenosimy najpierw "kulę zewnętrzną" na dolną pozycję w kolejności. Ponieważ pole losowe działa na leżącą poniżej „kulę wewnętrzną”, chcemy jednak, aby było ono przetwarzane bezpośrednio po „kulie zewnętrznej”, więc po prostu tworzymy folder, do którego możemy przenieść pole losowe i kulę wewnętrzną. Klikamy przycisk folder- pod listą obiektów-.
Następnie przenosimy pole losowe i kulę wewnętrzną z listy obiektów generatora objętości za pomocą metody przeciągnij i upuść do tego nowego folderu.
Ponieważ zewnętrzna kula, której wektory stoją prostopadle do powierzchni kuli, działa jako pierwsza, cząstki, które na nią trafiają, są obecnie całkowicie odbijane. Aby odwrócić pole wektorowe zewnętrznej kuli, używamy filtrowania objętości, z których kilka jest dostępnych do pracy z wektorami. Menu filtrowanie objętości- znajduje się pod listą obiektów, a my wybieramy z niego filtr Odwrotny wektor-.
Chcąc, aby filtrowanie objętości działało wyłącznie na wektory zewnętrznej kuli, umieszczamy je metodą przeciągnij i upuść bezpośrednio powyżej „kuli zewnętrznej”..
Teraz wszystko powinno działać zgodnie z oczekiwaniami. Kliknięcie przycisku odtwarzania pokazuje, że wszystkie pola wektorowe są poprawnie skonfigurowane. Cząstki trafiają na kulę i rozprzestrzeniają się losowo po jej powierzchni.
Możemy jeszcze bardziej ożywić przepływ cząstek, animując wzór szumu w polu losowym.
Aby to zrobić, otwieramy okno dialogowe ustawień pol losowych<.>i> i ustawiamy prędkość początkową, w moim przypadku na 50%.
Przepływy cząstek stają się teraz krótsze dzięki animowanemu wzorowi szumu, rozbijają się na więcej miejsc.
Przekształcanie cząstek w ścieżki spline
Jako cząstki możemy teraz wysłać każdy z dowolnych – najchętniej małych – obiektów w podróż po powierzchni kuli. Alternatywą jest automatyczne narysowanie tras cząstek i przekształcenie ich w ścieżki spline. Do tego potrzebujemy obiektu Śledzący z menu MoGraph.
Aby przekształcić przepływy cząstek obu Emitterów w ścieżki spline, przeciągamy oba obiekty Emitter- za pomocą metody przeciągnij i upuść do pola połączenie Śledzącego w oknie dialogowym ustawień obiektu Śledzący.
Ponieważ Emittery z biegiem czasu generują całkiem sporo cząstek, ograniczamy długość ścieżek spline generowanych przez Śledzącego. W oknie dialogowym ustawień obiektu Śledzący wybieramy jako Ograniczenie „Koniec …”
… i ustawiamy długość ścieżek spline poprzez parametr Klatki. Wybrałem długość 100 klatek. Niższe wartości dają krótsze ścieżki spline.
Po kliknięciu przycisku odtwarzania możemy teraz obserwować, jak animowane ścieżki spline generowane przez Śledzący przesuwają się po powierzchni kuli.
Dla potrzeb wstępu tego samouczka stworzyłem duplikat obiektu kulistego i pokryłem go czerwonym materiałem. Oprócz obiektu Śledzącego- możemy wyłączyć widoczność wszystkich innych obiektów w Menadżerze obiektów.
Aby generować obiekty trójwymiarowe z torów spline generowanych przez obiekt Tracer-, możecie podporządkować obiekt Tracer- na przykład razem z obiektem Koło- obiektowi Sweep-. Jednak w tym przypadku zwróćcie uwagę na liczbę cząsteczek i ich czas życia, ponieważ w przeciwnym razie komputer bardzo szybko się wyłączy...