Techniki Multimedialne Laboratorium galeria w 3ds Max, animacja Na poprzednich zajęciach zaimportowaliśmy model galerii do programu 3ds Max oraz narzuciliśmy odpowiednie materiały na obiekty. Teraz postaramy się wykonać animację złodzieja, który będzie przekradał się przez korytarz z włączoną latarką, a następnie otworzy drzwi i wejdzie do pomieszczenia galerii. Nie będziemy wykonywać jednak animacji postaci, gdyż będziemy niejako patrzeć oczami złodzieja. Ustawienie świateł Zanim przejdziemy do właściwej animacji musimy przygotować pewne elementy. Pierwszym z nich będą światła, które rozbłysną w galerii w momencie, w którym zostanie zaalarmowana ochrona. Ustawimy je w taki sposób, aby rozświetlały wiszące na ścianach obrazy. W panelu bocznym wybieramy Create / Lights / Target Light i wstawiamy do sceny w podobny sposób jaki umieszczaliśmy tam kamerę za pomocą kliknięcia i przeciągnięcia. Światło targeted, podobnie jak kamera targeted posiada cel mały prostokąt na końcu linii łączącej go ze źródłem światła. Dzięki temu możemy precyzyjnie wybrać obszar, który ma zostać oświetlony. Ustawiamy źródło światła pod sufitem, natomiast jego cel kierujemy na obraz na ścianie. W tym momencie światło świeci równomiernie we wszystkich kierunkach, wolelibyśmy jednak, aby koncentrowało się głównie na obrazie, w podobny sposób jak reflektory sceniczne. W tym celu musimy zmienić jego typ przy wybranym świetle przechodzimy w panelu bocznym do zakładki Modify i w grupie General Properties odnajdujemy listę rozwijaną Light Distribution (Type). Wybieramy w niej wartość Spotlight. Można zauważyć, że ikona światła zmieni się, oraz pojawi się stożek świetlny, określający w jakim obszarze światło będzie widoczne.
Manewrując parametrami Hotspot/Beam oraz Falloff/Field możemy tak ustawić parametry stożka świetlnego, aby odpowiadały naszym potrzebom. Hotspot określa obszar, w jakim światło świeci z maksymalną jasnością (wewnętrzny żółty stożek), natomiast Falloff to obszar w jakim intensywność światła maleje liniowa od wartości maksymalnej do 0 (zewnętrzny brązowy stożek). W właściwym ustawieniu świateł może nam pomóc zmiana trybu wyświetlania na bardziej dokładny. W parametrach okna widoku (w lewym górnym rogu) można zmienić tryb z Shaded na np. High Quality i dzięki temu widzieć miejsce padania światła na ścianę. Tryb Standard Tryb High Quality
Tryb DX Mode W analogiczny sposób oświetlamy pozostałe obrazy. Być może na niektóre z nich konieczne będzie zastosowanie więcej niż jednego światła. Aby zapewnić jednakowe parametry każdego z ustawianych świateł możemy je sklonować. Wybieramy jednocześnie cel i źródło światła, a następnie przy włączonej komendzie Select and Move przytrzymujemy klawisz Shift i przesuwamy kopię światła. W okienku, które się pojawi zaznaczamy Instance, aby utworzona kopia była sprzężona parametrami z oryginałem. Należy mieć jednak na uwadze, że zmiana stożka świetlnego w jednym ze świateł spowoduje taką samą zmianę w instancjach. Możemy również dodać pod sufitem światła ogólne, które rozświetlą całą galerię po zaświeceniu świateł na obrazy.
Animacja Po tych wstępnych przygotowaniach może przejść do właściwej animacji. Będziemy animować ruch złodzieja (w tej roli kamera typu Target), który z latarką będzie poruszał się po korytarzu i galerii. Ustawienie czasu trwania animacji Na początek ustawimy sobie czas trwania animacji. Domyślnie jest to 100 klatek, co daje nam 3-4 sekundy, w zależności od formatu filmu (domyślnie jest to amerykański NTSC, czyli 30kl/s). Włączamy okno Time Configuration (na dolnym pasku, obok przycisków do manipulacji widokiem). Zostawiamy domyślne 30 klatek na sekundę i w sekcji Animation wpisujemy w pole End Time wartość 900, tyle bowiem klatek będzie trwała nasza animacja. Trajektoria ruchu kamery Następnym krokiem będzie narysowanie ścieżki, po której będzie poruszać się złodziej-kamera. W tym celu najlepiej przełączyć się do widoku z góry (Top). W panelu bocznym wybieramy Create, klikamy ikonę Shapes upewniamy się, że w liście rozwijanej mamy wybrany typ Splines i naciskamy przycisk Line. Przełącza nas on w tryb rysowania linii. Zaczynamy ją gdzieś na końcu korytarza, przeprowadzamy przez cały korytarz, drzwi, a następnie wokół galerii. Na samym końcu, gdy drzwi będą się z hukiem otwierać warto ustawić złodzieja gdzieś w ich okolicy. Musimy zadbać, żeby nasza ścieżka ruchu miała gładki kształt, o płynnej, mało-zmiennej dynamice (bez gwałtownych zawijasów), dlatego jeśli tak nie jest trzeba ją zmodyfikować. Przełączmy się do zakładki Modify, aby dostosować odpowiedni kształt ścieżki możemy dokonać jej edycji na różnych poziomach struktury. Jeśli chcemy edytować naszą ścieżkę na poziomie wierzchołków musimy włączyć przycisk Vertex w rolecie Selection, wówczas można stosować do wybranych wierzchołków różne transformacje, jak na przykład operacje przesuwania narzędziem Select and Move. Dla wybranego wierzchołka krzywej można wywołać podręczne menu (prawy klawisz myszy), w którym poprzez wybranie jednej z opcji: Bezier Corner, Bezier, Corner, Smooth można określić kształt jaki krzywa przybierze przechodząc przez ten wierzchołek. Edycja krzywych na poziomie
segmentów (włączony przycisk Segment ) polega na modyfikowaniu wybranej części krzywej między dwoma wierzchołkami. Na tym poziomie edycji można również stosować transformacje obrotu, skalowania i przemieszczenia. Na samym końcu tworzenia naszej ścieżki trzeba zadbać o to by znalazła się ona na odpowiedniej wysokości. W tym celu należy ją podnieść na pozom około 2/3 wysokości drzwi (przyjmijmy, że na tej wysokości znajduje się oczy złodzieja). Tak skonstruowana krzywa posłuży nam jako ścieżka ruchu złodzieja. W kolejnym kroku utworzymy kamerę Physical Camera w analogiczny sposób jak na poprzednich laboratoriach. Tworzymy ją gdzieś w początku korytarza i podnosimy mniej więcej na wysokość ścieżki (pamiętając o celu). Aby kamera poruszała się po narysowanej ścieżce, przechodzimy do panelu Motion (przy wyselekcjonowanej kamerze) i naciskamy przycisk Motion Paths. Rozwijamy grupę Conversion Tools, w polu End Time (klatka zakończenia ruchu) wpisujemy 850 i ustawiamy liczbę próbek na 60. Potem naciskamy przycisk Convert From i wybieramy naszą ścieżkę. Kamera zostanie automatycznie ustawiona na jej początku oraz zostaną stworzone klatki kluczowe dla ruchu (widoczne na dolnym pasku animacji w postaci czerwonych kwadracików). Przesuwając suwak animacji możemy zaobserwować ruch kamery wzdłuż ścieżki. Animacja celu kamery Jak można zauważyć, zmiana położenia dotyczy w tym momencie jedynie samej kamery, natomiast jej cel (punkt, na który patrzy kamera) pozostaje cały czas w tym samym miejscu. Zajmiemy się więc również i jego animacją, gdyż jest to punkt widzenia złodzieja, a więc chcielibyśmy, by rozglądał się on po wnętrzu galerii podczas skradania się. Do animacji celu kamery użyjemy klatek kluczowych (keyframing). W każdej klatce kluczowej ustawimy żądaną pozycję celu, a program dokona interpolacji położenia między kolejnymi klatkami
kluczowymi, tworząc płynny ruch. Najpierw jednak musimy przełączyć się do widoku z kamery, aby na bieżąco kontrolować elementy, które znajdują się w kadrze. W tym celu wybieramy jedno z okien widoku, klikamy nazwę widoku w lewym górnym rogu i z listy wybieramy Cameras -> nazwa kamery. Widok w oknie zostanie przełączony na widok z kamery. W innej rzutni ustawimy w ten sam sposób widok z góry (Top), a by na bieżąco kontrolować pozycję kamery na ścieżce. Upewniamy się, że znajdujemy się w klatce 0 (suwak u dołu ekranu) i włączamy tryb Auto Key (przycisk pod paskiem animacji z prawej strony). W trybie tym każda zmiana parametrów obiektu (np. przesunięcie lub obrót) zostanie zapisana automatycznie do klatki kluczowej (na pasku animacji pojawi się czerwony kwadracik w klatce, w której aktualnie się znajdujemy). Używając narzędzia Select and Move, przesuwamy cel kamery w pożądane miejsce, przesuwamy się o kilka klatek dalej, a następnie ustawiamy mu nowe położenie, tak, aby jego animacja była płynna, bez gwałtownych skoków i zbyt szybkich przejść (śledzimy na bieżąco widok z kamery). Szczególnie musimy o tym podczas przechodzenia przez drzwi. Zmian położenia celu najlepiej dokonywać na przemian w widoku Top i widoku z kamery. Klatki kluczowe można edytować (usuwać, przesuwać na pasku animacji). Zmiana jest możliwa po zaznaczeniu klatki (zmieni wtedy kolor na biały) klatki przesuwamy za pomocą myszy, natomiast usuwamy za pomocą klawisza Delete. Animacja latarki Złodziej poruszający się po galerii będzie się posługiwał latarką (jak to złodzieje mają w zwyczaju), ponieważ, we wnętrzu będą panować ciemności. Jako latarki użyjemy światła Target Light z parametrem Light Distribution ustawionym na Spotlight, tak jak w przypadku reflektorów na obrazy. Jego źródło ustawiamy przy kamerze, w połowie jej wysokości (złodziej trzyma latarkę w
ręce), a cel kierujemy w to samo miejsce, co cel kamery. Musimy też ustawić parametry światła (Multiplier, Faloff, Hotspot) tak, by przypomniało latarkę. Ostatnim krokiem będzie podlinkowanie latarki do kamery, tak by poruszała się razem z nią. Wybieramy latarkę i klikamy ikonę Select and Link. Przeciągamy do kamery lub wybieramy ją z listy Select by Name. W tym momencie kamera jest rodzicem, czyli wszystkie ich zachowania będą przenoszone na dziecko czyli latarkę. Tę samą operację należy wykonać łącząc cel latarki z celem kamery. Warto teraz przeglądnąć animację i zmodyfikować klatki kluczowe celu latarki tak, aby ruch był bardziej naturalny. Otwieranie drzwi W pewnym momencie złodziej przechodzi przez drzwi. Aby nie musiał robić tego, gdy będą zamknięte dobrze by było zaanimować ruch otwarcia. Najpierw jednak musimy przeprowadzić procedurę linkowania elementów klamki do skrzydeł drzwi tak, aby wraz z otwarciem drzwi poruszyła się również klamka. Robimy to w analogiczny sposób jak podłączenie ruchu latarki do ruchu kamery. Spróbujmy teraz otworzyć drzwi. Ustawiamy widok tak, aby widzieć drzwi od strony korytarza, wybieramy Select and Rotate i próbujemy obrócić wokół osi pionowej. Może się okazać, że punkt obrotu nie będzie się znajdował w futrynie, ale zupełnie gdzie indziej:
Musimy to zmienić za pomocą modyfikacji punktu Pivot. Izolujemy drzwi (prawy przycisk -> Isolate Selection), przechodzimy do zakładki Hierarchy i klikamy przycisk Affect Pivot Only. Przesuwamy punkt pivot w taki sposób, aby znajdował się przy zewnętrznej krawędzi framugi drzwi. Po wyłączeniu Affect Pivot Only można sprawdzić, czy drzwi otwierają się prawidłowo. Teraz możemy przeprowadzić animację otwarcia. Przechodzimy do klatki, w której kamera zbliża się do drzwi i przy włączonej funkcji kluczowania obracamy je w momencie zbliżania się złodzieja. Animacja świateł W pewnym momencie złodziej usłyszy dźwięk otwieranych drzwi i aby nie zostać od razu zauważonym zgasi latarkę. Tę czynność również powinniśmy zaanimować. Przechodzimy do jednej z końcowych klatek, do momentu, w którym złodziej jest obrócony w stronę drzwi. Wybieramy światło latarki, włączamy funkcję Auto Key i odnajdujemy w panelu bocznym w zakładce Modify parametr Intensity. W odpowiednim dla złodzieja momencie zmieniamy jego wartość na 0, wokół spinerów powinny się pojawić czerwone obwódki. W tym momencie jednak intensywność światła latarki będzie się zmienić liniowo od klatki pierwszej do obecnej. Aby to poprawić możemy np. przesunąć klatkę kluczową intensywności światła z klatki pierwszej do poprzedzającej wyłączenie. W podobny sposób przeprowadzimy animację włączania świateł w momencie otwarcia się drzwi pod koniec animacji. Rendering z kamery Upewniamy się, że okno z widokiem z kamery jest aktywne (posiada wokół złotą obwódkę) i naciskamy przycisk Render Setup na górnym pasku (lub z menu górnego Render / Render Setup). Wszystkie najczęściej używane parametry zawierają się w zakładce Common. Zakres renderingu (Common Parameters -> Time Output). Zmieniamy domyślną opcję Single (pojedyncza klatka) na Active Time Segment (wszystkie klatki). Pozostałe opcje służą do renderowania wybranego zakresu animacji lub tylko niektórych klatek i zakresów. Rozdzielczość (Common Parameters -> Output Size). Sami ustawiamy rozdzielczość, w jakiej ma się wyrenderować nasz obrazek lub wybieramy jeden z gotowych wzorców. Zapis do pliku (Common Parameters -> Render Output). Gdy klikniemy na przycisk Files pojawi się okno zapisu pliku. Wybieramy w nim lokalizację, nazwę oraz typ pliku, do którego zapisany zostanie obraz po wyrenderowaniu. W przypadku pojedynczej klatki można ją zapisać dopiero po wyrenderowaniu, jeżeli nie wybraliśmy wcześniej żadnego pliku do zapisu.
Wystarczy kliknąć na ikonkę dyskietki w oknie renderingu. Jeżeli chodzi jednak o animację, to w ten sposób można zapisać tylko pojedynczą, ostatnią klatkę, tak więc, jeśli nie wybierzemy wcześniej pliku do zapisu, cały efekt renderingu zostanie utracony. Informuje nas o tym okno dialogowe z ostrzeżeniem, jeżeli rendering ma dotyczyć jakiegoś zakresu animacji, a plik do zapisu nie został wybrany. Teraz wystarczy tylko nacisnąć przycisk Render i czekać (czasem baaaardzo długo) na wynik.