6. Kamera i cel Wykorzystane w ćwiczeniu modele pochodzą z http://sketchup.google.com/3dwarehouse oraz z ksiąŝki Rendering with Microstation. Przygotowanie Ściągnij spakowane pliki tekstur i rozpakuj je do folderu: \Workspace\standards\materials\pattern\ Wszystkie pliki tekstur powinny znaleźć się bezpośrednio w tym folderze (nie naleŝy tworzyć podfolderów). Ściągnij plik 6_kamera.dgn, zapisz go w folderze dgn projektu i otwórz go. Z Task List wybierz pozycję Animation. Otwórz równieŝ paletę Rendering. 1. Obsługa kamery Otwórz model kamera. W widoku izometrycznym (widok 2) włącz tryb Smooth. Otwórz okno narzędzia Define Materials (znane teŝ jako Material Editor). Zwróć uwagę, na widoczne w oknie pozycje: tablicę materiałów, palety oraz poszczególne materiały. Definicje materiałów są w tym przypadku zapisane wewnątrz pliku dgn są to tzw. materiały lokalne. Sygnalizują to wypełnione(na niebiesko lub Ŝółto) ikony. Aby materiały były poprawnie wyświetlane Microstation musi jednak mieć dostęp do zewnętrznych plików tekstur. Uwaga: Jeśli w widoku Smooth nie są widoczne tekstury materiałów (najlepiej sprawdzić to powiększając znacznie fragment rysunku) to naleŝy sprawdzić czy tekstury zostały poprawnie rozpakowane i czy ustawienia zmiennej MS_PATTERN obejmują folder z rozpakowanymi plikami. a. Perspektywa Narzędzie View Perspective dostępne jest w pasku kaŝdego z widoków. W widoku izometrycznym spróbuj wprowadzić perspektywę ręcznie opcją Change View Perspective klikając w widoku i powoli przesuwając wskaźnik myszy, a po ustawieniu odpowiedniej perspektywy klikając ponownie. Wprowadzenie perspektywy równoznaczne jest z włączeniem dla widoku kamery. Przy pomocy opcji Camera w atrybutach widoku wyłącz i włącz kamerę dla widoku izometrycznego. Spróbuj teraz wprowadzić perspektywę przy pomocy jednego z predefiniowanych ustawień narzędzia View Perspective (od Extra Wide do Telephoto Camera). Uwaga: Zoomowanie i dopasowywanie widoku nie przesuwa kamery a zmienia ustawienia perspektywy, do przesuwania kamery wykorzystywać będziemy inne narzędzia. Wyłącz kamerę opcją Camera Off. b. Narzędzie Setup Camera Kliknij prawym przyciskiem na pasku widoku w widoku izometrycznym i włącz ikonę narzędzia Setup Camera. Narzędzie to pozwala precyzyjnie wskazać połoŝenie kamery w widoku. W widoku Smooth włącz standardowy widok (np. Top). Włącz narzędzie Setup Camera. 1
Ustaw Standard Lens: Extra Wide oraz Camera Height: 1.5 WskaŜ widok w którym chcesz ustawić kamerę wybierz widok z trybem Smooth. WskaŜ połoŝenie kamery wybierz punkt połoŝony mniej więcej na środku kalenicy dachu mniejszego, oddzielnego budynku. Prawdopodobnie łatwiej będzie wskazać taki punkt w jednym z pozostałych widoków np. w widoku z góry lub w widoku obróconym wcześniej tak aby krawędź kalenicy była dobrze widoczna) WskaŜ połoŝenie celu kamery wybierz punkt połoŝony mniej więcej na środku drzwi głównych większego budynku. Utworzony widok powinien wyglądać mniej więcej tak: Zapisz ustawiony widok narzędziem Utilities > Saved Views jako widok z dachu. c. Narzędzie Define Camera Narzędzie Define Camera (z palety Rendering) to najbardziej zaawansowane a jednocześnie bardzo intuicyjne narzędzie do obsługi kamery w Microstation. Wszystkie widoki ustaw standardowo (Top, Isometric, Front, Right) i dopasuj kaŝdy z nich do zawartości (Fit View). Włącz Define Camera. Jako aktywny widok (Active View) ustaw widok z trybem Smooth (widok 2). Jako Projection ustaw Three Point. Włącz opcje Continuous View Update oraz Display View Cone. Mamy do wyboru 4 typy rzutowań (Projection): - Paralell rzutowanie równoległe, standardowo wykorzystywane podczas projektowania - One Point orientacja płaszczyzny celu moŝe być zupełnie niezaleŝna od orientacji widoku - Two Point stosowane w architekturze (zachowana pionowość linii) - Three Point typowa perspektywa (jak w aparacie fotograficznym) Szczegółowy opis odwzorowań jak i ich zastosowań znajduje się w Microstation Help. Zwróć uwagę, Ŝe po wybraniu aktywnego widoku, przy włączonej opcji Display View Cone, w pozostałych widokach widoczny jest View Cone ( stoŝek widoku ) czyli pomocniczy element rysunkowy wskazujący obszar pola widzenia kamery. 2
NajwaŜniejsze elementy View Cone to: Punkty: kamery, celu kamery, środka odcinka kamera cel. lewego dolnego naroŝnika płaszczyzny celu, punkty te moŝna przesuwać i zmieniać w ten sposób ustawienia kamery Linie: zielona to prawa górna krawędź widoku, czerwona to lewa górna krawędź widoku a linie niebieskie do dolne krawędzie widoku. Płaszczyzny: Ŝółta to płaszczyzna celu, biała i szara to płaszczyzny Front i Back Clip (widoczne tylko gdy Front Clip i Back Clip są w łączone w atrybutach widoku) W palecie narzędzia Define Camera dostępnych jest 9 trybów jego pracy: Uwaga: Tryb pracy narzędzia zaleŝy od ustawienia Reference Point punktem odniesienia jest albo środek kamery albo cel kamery Przetestuj kaŝdy trybów pracy kamery obserwując jednocześnie View Cone w pozostałych widokach. Pan obrór kamery (wokół osi pionowej kamery lub celu) Pan Horizontal ograniczenie obrotu do płaszczyzny poziomej Pan Vertical ograniczenie obrotu do płaszczyzny pionowej Roll obrót wokół osi łączącej kamerę i cel (zwykle unikamy tego obrotu) Dolly/Elevate przesuwanie kamery w górę i na boki Dolly przesuwanie kamery do przodu i do tyłu Lens Focal Length zmiana ogniskowej kamery (zbliŝenie/oddalenie punktu celu) Lens View Angle zmiana kąta widzenia kamery Pan/Dolly ruch przód/tył oraz obrót (symulacja spaceru z kamerą) Rozwiń zaawansowane opcje narzędzia przyciskiem More. Pod kolejnymi pozycjami kryją się wszystkie parametry liczbowe opisujące widok z kamery. W widoku 2 przywróć zapisany widok widok z dachu. Narzędziem Define Camera ustaw: Projection: Three Point Reference Point: Eye W grupie Camera Position: - Focal Distance: 50 W grupie Camera Orientation: - Camera Elevate: - 20 - Camera Roll: 0 (lub 360) W grupie View Information: - Angle Horizontal: 50 W grupie Display Depths: - Clip Dist. Back: 80 Włącz ustawienia oświetlenia globalnego Globar Lightning. Ustaw Ambient i Flasbulb na 0.5. Narzędziem Render zrenderuj widok 2 w trybie Ray Trace z włączonym antialiasingiem. Dostosuj jasność i kontrast. Narzędziem Utilities>Image>Save zrenderuj widok 2 w trybie Ray Trace z antialiasingiem włączonym do pliku 6_widok_dzien.jpg w formacie około 800x600. 3
W atrybutach widoku 2 włącz Clip Back. Włączona zostanie tylna płaszczyzna widoku, elementy poza tą płaszczyzną nie będą widoczne. W atrybutach widoku włącz Distance Cueing: Depth Cueing. Zrenderuj widok, dostosuj jasność i kontrast i zrenderuj do pliku 6_widok_noc.jpg. W atrybutach widoku zmień Distance Cueing: Fog. Zrenderuj widok do pliku 6_widok_mgla.jpg. Ustawienia Distance Cueing pozwalają dodać efekt ściemniania lub mgły. Im obiekt dalej od kamery tym bardziej zostaje przyciemniony lub zamglony. Pełne zaciemnienie występuje dla odległości Clip Back. Szczegółowe ustawienia stopnia i koloru zamglenia i zaciemnienia znajdują się w Settings>Rendering>General. d. Navigate View, Walk, Fly Są to 3 narzędzia stworzone do poruszania się z kamerą po modelach 3D. W pasku widoku 2 włącz narzędzia Navigate View, Walk i Fly. Przetestuj te narzędzia: Navigate View - przy pomocy myszy obracamy kamerę (Pan). Walk Fly - przy pomocy myszy chodzimy po modelu (Pan/Dolly). - ciągły ruch do przodu, przy pomocy myszy obracamy kamerę. Dodatkowo moŝemy korzystać z klawiatury (klawisze strzałek + przyciski Ctrl i Shift). Key-in: NAVIGATE FLY MOUSESPEED <wartość> i NAVIGATE VIEW MOUSESPEED <wartość> kontrolują prędkość ruchu. Szczegóły obsługi tych narzędzi w Microstation Help. 2. Kamera jako aktor a. Tworzenie kamery dla animacji Otwórz model samochod. W widoku 2 włącz tryb Smooth. Zaznacz samochód (celka) i narzędziem Create Actor utwórz aktora samochod. Jako środek układu aktora wskaŝ niebieską linię mniej więcej pod środkiem samochodu. Inne opcje domyślnie. 4
Zdefiniuj ścieŝkę dla aktora samochod narzędziem Define Actor Path. Start Time: 0 End Time: 300 Velocity: Accelerate Decelerate Narzędziem Animation Preview sprawdź poprawność ruchu aktora Utwórz kamerę narzędziem Create Animation Camera. Opcja Create Camera From View ma być wyłączona (słuŝy do tworzenia kamery z widoku). Wybierz: Standard Lens: Wide (szeroki kąt) Cell Scale: 10 (skala dla celki obrazującej kamerę) Jako punkt wstawienia kamery wskaŝ górny koniec Ŝółtej linii (mniej więcej na miejscu kierowcy samochodu). Kierunek kamery wskaŝ w poziomie, wprzód samochodu (zgodnie z orientacją samochodu). Nazwij kamerę: kam1-kierowca. Narzędziem Camera View włącz dla okna widoku nr 2 widok z utworzonej kamery. Utwórz jeszcze jedną kamerę o nazwie kam2-srodek, ustawienia identyczne jak przy poprzedniej kamerze, umieść ją na szczycie Ŝółtej, pionowej linii znajdującej się mniej więcej w środku obszaru objętego torem. Orientacja dowolna (moŝe być taka jak przy poprzedniej kamerze) b. Skryptowanie kamery Kamera animacji zanim zostanie wykorzystana musi posiadać skrypt. Włącz narzędzie Script Camera. Wybierz kamerę kam1-kierowca. Ustaw Start Time: 0 (klatka, od której kamera jest aktywna). Zwróć uwagę na pozostałe opcje ale pozostaw je domyślnie. Zatwierdź OK. Dla drugiej kamery skrypt zostanie utworzony później. Otwórz okno Animation Producer. Zwróć uwagę, Ŝe utworzona kamera znajduje się w 2 grupach elementów: View oraz Actors - kamera dla animacji jest specjalnym rodzajem aktora. Zobacz, Ŝe utworzony dla kamery skrypt znajduje się w grupie View. Kamera dla animacji moŝe posiadać 2 rodzaje skryptów specyficzne dla niej skrypty kamery oraz zwykłe skrypty aktora. Skrypty kamery opisują od jakiej klatki kamera staje się aktywną kamerą dla animacji, sposoby interpolacji i przejścia do widoków z innych kamer. Skrypty dla kamery jako aktora nie róŝnią się od skryptów dla zwykłych aktorów. c. Ruch kamery W oknie Animation Producer, w grupie Actors, metodą przeciągnij i upuść dołącz aktora kam1-kierowca do aktora samochod. Teraz kamera kam1-kierowca, ustawiona jako aktywna od klatki 0 animacji, będzie poruszać się razem z aktorem samochod. 5
Włącz warstwę Skycylinder. Jest o warstwa na której znajduje się cylinder otaczający elementy modelu z nałoŝonym na niego materiałem imitującym niebo. Włącz podgląd animacji w widoku 2 (wyłącz w tym widoku wyświetlanie elementów konstrukcyjnych i ACS Triad). Powinien być widoczny ruch samochodu z perspektywy kierowcy. 3. Animacja kamery metodą Saved Views a. Tworzenie Saved Views Wróć do modelu kamera. Do widoku 2 wczytaj zapisany widok widok z dachu. Korzystając z narzędzia Define Camera przesuń i obróć kamerę utwórz i zapisz 3 nowe widoki (w1, w2 i w3) prezentujące budynki z róŝnych pozycji kamery. Przykład: Uwaga: RóŜnice między kolejnymi widokami nie powinny być zbyt gwałtowne (np. nie przechodź od razu od widoku wprost na przód budynku do wprost widoku na tył budynku). b. Skryptowanie Saved Views Otwórz okno Animation Producer. W grupie View znajdź widoki Saved Views. Kliknij na widok z dachu prawym przyciskiem myszy i wybierz Script. Podaj: Start Time: 0 (klatka, dla której wyświetlany będzie wybrany Saved View) Interpolation: Spline (interpolacja przejścia od poprzedniego do obecnego Saved View) Velocity: Constant (prędkość przejścia od poprzedniego do obecnego Saved View) Utwórz skrypty dla pozostałych Saved Views (od w1 do w3) zwiększając za kaŝdym razem Start Time o 100. Pozostałe opcje zgodnie z pierwszym skryptem. Narzędziem Animation Preview włącz podgląd animacji w widoku 2. Jeśli animacja nie jest zadowalająca moŝesz zmodyfikować skrypt (przesunąć czas Start Time dla poszczególnych Saved Views) lub zmodyfikować i nadpisać zapisane wcześniej widoki Saved Views. Animacja metodą Saved Views jest bardzo prosta do wykonania. Nie zawsze daje dobre efekty ale bywa niezastąpiona w sytuacjach gdy ruch kamery jest skomplikowany a moŝliwości wykorzystania ścieŝek ograniczone. Zapewnienie płynności przejść między kolejnymi widokami wymaga zazwyczaj pracy metodą prób i błędów i ręcznej modyfikacji krzywych prędkości (Animation Producer>View>Velocity Graph). 4. Cel a. Tworzenie celu dla kamery Wróć do modelu samochod. 6
Narzędziem Create Target utwórz cel. Ustaw Cell Scale: 10. Umieść cel w dowolnym miejscu na dachu samochodu. Nazwij go cel1-samochod. Otwórz Animation Producer, w grupie Actors, metodą przeciągnij i upuść dołącz aktora cel1-samochod do aktora samochod. W grupie View dla kamery kam1-kierowca otwórz utworzony wcześniej skrypt (2 razy klik na wiersz ze skryptem w kolumnie Type). Zmień Start Time na 100. Zamknij Animation Producer. Cel podobnie jak kamera jest specjalnym rodzajem aktora. Jest to element konstrukcyjny i podobnie jak inne elementy konstrukcyjne zwykle nie jest widoczny w czasie animacji. Spełnia jednak bardzo waŝną rolę. Kamera z przypisanym do siebie celem zawsze zorientowana jest zgodnie z jego połoŝeniem Aby cel mógł zostać wykorzystany naleŝy utworzyć dla niego skrypt. b. Skryptowanie celu dla kamery Włącz narzędzie Script Target. Ustaw: Time: 0 (klatka, od której cel jest aktywny) Interpolation: Linear (interpolacja przy przejściu od poprzedniego celu) Velocity: Constant (prędkość przejścia od poprzedniego celu) Zaznacz Target Activated Object: kam2-srodek (aktor do którego przypisany będzie cel) Target: cel1-samochod (przypisywany cel) Kliknij aby zatwierdźić skrypt. Utworzony został skrypt celu dla kamery kam2-srodek. JednakŜe kamera ta nie ma jeszcze własnego skryptu. Utwórz go narzędziem Script Camera. Start Time: 0. Velocity: Infinite. Powtórz tworzenie skryptu dla kamery kam2-srodek tym razem jako Start Time podaj 200. Pozostałe ustawienia takie jak poprzednio. Narzędziem Animation Preview włącz podgląd animacji w widoku 2. Od klatki 0 do klatki 100 powinien być aktywny widok z kam2, następnie od 100 do 200 z kam1 i od 200 do 300 znów z kam2. Nagraj animację narzędziem Record. Rozmiar klatek: 400x300. Widok: 2. Render Mode: Smooth. Antialias: włączony Very Low. Pliki wyjściowe w folderze out aktywnego projektu (upewnij się, Ŝe nie ma w tym folderze plików z poprzednich ćwiczeń). Narzędziem Utilities>Image>Movies wczytaj klatki animacji i zapisz je jako plik 6_jazda.avi w folderze dgn. Usuń pliki klatek animacji z folderu out. Od wersji Microstation XM moŝliwe jest równieŝ tworzenie celu dla zwykłego aktora (nie kamery). Jeśli poruszymy celem aktor będzie się poruszał tak aby ujemny kierunek jego osi Z wskazywał zawsze cel. Funkcja ta jest szczególnie przydatna podczas tworzenia animacji zaleŝnych od siebie elementów. 7
Pytania i zadania: 1. Włącz Animation Producer i usuń skrypt celu dla kamery kam2. Utwórz nowy skrypt celu dla tej kamery jako cel wybierz aktora samochod. Czy zwykły aktor moŝe zostać wykorzystany jako cel dla kamery? 2. Aby w hierarchii aktorów poruszeni zostali wszyscy aktorzy naleŝy poruszyć aktora połoŝonego najwyŝej czy najniŝej w hierarchii? 3. Jakie analogie zauwaŝasz między animacją aktorów metodą Keyframe a animacją kamery metodą Saved Views? 4. W oknie Animation Producer otwórz skrypt dla kam2. Pozostaw Start Time: 100 ale zmień Velocity na Constant. Jak teraz zachowuje się kamera między klatkami 0 i 100? 5. WydłuŜ 2 krotnie czas trwania animacji (Animation Producer>File>Scale Script). Jakie 2 sposoby skalowania skryptu animacji są dostępne wewnątrz tego narzędzia? 6. Włącz narzędzie Define Camera, ustaw projekcję Three Points, kąt widzenia 60 stopni. Kamerę ustaw tak aby widzieć cały samochód z tyłu i lekko od góry. Utwórz z ustawionego widoku kamerę kam3 (Create animation camera z opcją Create camera from view). Włącz Animation Producer i wyłącz (odznacz opcję Enable) skrypty dotychczasowych kamer (w grupie View). Utwórz skrypt dla kam3 od 0 klatki. Dołącz kamerę kam3 do aktora samochod. Włącz podgląd animacji. 7. W oknie Animation Producer włącz Tools>Parameters. W tym oknie moŝna zdefiniować parametry pomocne w czasie tworzenia animacji. Utwórz parametr predkosc i przypisz mu wartość 30*tSeconds. Przejdź do edycji skryptu ścieŝki (Path) dla aktora samochod. Włącz pole Path Distance i wprowadź w nie nazwę zdefiniowanego parametru. Aktor powinien teraz poruszać się z prędkością zdefiniowaną w utworzonym parametrze. Jaka to jest prędkość km/h? Zadanie trudniejsze: 8. Spróbuj wykonać animację w której jeden samochód będzie holował drugi samochód. Dołącz do modelu samochod model dodatek i wykonaj Merge Into Master (połączenie dołączonego modelu z otwartym modelem). Potrzebne będzie utworzenie 2 kolejnych aktorów z liny oraz samochodu nr 2, przy czym układy obu tych aktorów powinny zostać ustawione na przedzie tych elementów i obrócone tak aby ujemny kierunek ich osi Z wskazywał tył elementu (aktor to element typu Named group układ aktora moŝna przesuwać i obracać jak zwykły element składowy Named group, przy czym trzeba zwrócić uwagę na blokadę grupy graficznej). Aktorzy powinni zostać dołączeni do siebie: samochod > lina > samochod2. Na tym etapie moŝna wykonać podgląd animacji. Aby animacja taka wyglądała realistycznie konieczne będzie zastosowanie celów dla 2 nowych aktorów. Cel, oddzielny dla kaŝdego z tych aktorów, powinien zostać umieszczony w tylnej ich części tak aby na niego wskazywał ujemny kierunek osi Z odpowiedniego aktora, w razie konieczności moŝna obrócić układ aktora. Cele (jako aktorzy) nie będą dołączane do Ŝadnego z pozostałych aktorów ale wykonaną zostanie dla nich skrypty celu (np. Object: lina, Target: cel-lina oraz Object: samochod2, Target: cel-samochod2 ). Następnie dla obu celów naleŝy wykonać skrypt ruchu po ścieŝce (tak, jak dla aktora samochod ). Aby ruch wszystkich elementów był zgodny, we wszystkich skryptach ścieŝek naleŝy ustawić jednakową prędkość ruchu, np. 60*tSeconds. 8