WSTiE WYŻSZA SZKOŁA TURYSTYKI I EKOLOGII Wydział Informatyki KIERUNEK: Informatyka SPECJALNOŚĆ: Informatyka stosowana Mariusz Baran Nr albumu 203/2002/Z Paweł Paluch Nr albumu 232/2002/Z SOFTIMAGE XSI - podręcznik animacji Praca dyplomowa inżynierska My niżej podpisani oświadczamy, że składana przez nas praca dyplomowa pt. SOFTIMAGE XSI - podręcznik animacji została przygotowana samodzielnie i nie narusza praw autorskich innych osób. W pracy wykorzystaliśmy publikowane materiały i nie ujawniliśmy informacji poufnych.... data czytelny podpis... data czytelny podpis Promotor: dr hab. Tadeusz Szuba akceptuję pracę..... /podpis promotora/ Sucha Beskidzka 2006 1
Mariusz Baran Nr albumu 203/2002/Z Kierunek: Informatyka Specjalność: Informatyka Stosowana Paweł Paluch Nr albumu 232/2002/Z Kierunek: Informatyka Specjalność: Informatyka Stosowana OŚWIADCZENIE My niżej podpisani świadomi odpowiedzialności prawnej oświadczamy, że złożona przez nas praca dyplomowa na stopień inżyniera pt. SOFTIMAGE XSI - podręcznik animacji została przygotowana samodzielnie. Równocześnie oświadczamy, że praca ta nie narusza praw autorskich innych osób w rozumieniu ustawy z dnia 4 lutego 1994 r. o prawie autorskim i prawach pokrewnych (Dz. U. 1994 r. nr 24, poz. 83) oraz dóbr osobistych chronionych prawem cywilnym. Ponadto niniejsza praca nie zawiera informacji i danych uzyskanych w sposób nielegalny i nie była wcześniej przedmiotem innych procedur urzędowych związanych z uzyskaniem dyplomów lub tytułów zawodowych uczelni wyższej.... /podpis czytelny współautora pracy... /podpis czytelny współautora pracy 2
Spis treści Wstęp 4 Podziękowania 7 Streszczenie (ang.) 8 1. Interfejs 9 1.1 Pasek animacji 9 1.2 Zakładka Animate 11 1.2.1 Get 11 1.2.2 Create 12 1.2.3 Deform 12 1.2.4 Action 12 1.2.5 Tools 12 1.3 Zakładka Simulate 13 1.3.1 Get 14 1.3.2 Create 14 1.3.3 Modify 14 1.3.4 Inspect 15 2. Symulacje zjawisk fizycznych 16 2.1 Grawitacja 16 2.2 Wiatr 21 2.3 Woda 31 2.4 Ogień 41 3. Ruch podstawą animacji 47 3.1 Ruch mechanizmu 47 3.2 Ruch światła 56 3.3 Ruch kamery 64 3.4 Wzrost roślin 71 4. Ruch szkieletu 80 4.1 Budowa szkieletu 80 4.2 Animacja postaci 88 Podsumowanie 94 Bibliografia 96 3
Wstęp Prezentowana praca dyplomowa ma na celu stworzenie podręcznika do nauki programu graficznego Softimage XSI w wersji 4.2. Nasz podręcznik omawia aspekt animacji w grafice komputerowej. Jest kierowany do początkujących grafików lub pasjonatów, którzy przez praktyczne ćwiczenia mogą poznać możliwości i zasady działania programu Softimage XSI. Podręcznik zawiera kilka przykładów, które czytelnik może wykonać na własnym komputerze. Każdy przykład to mały projekt.. Na początku każdego projektu, czytelnik poznaje temat zagadnienia, jakie ma wykonać, następnie prezentowany jest efekt końcowy, jaki ma osiągnąć, wykonując krok po kroku prezentowane instrukcje. Sekwencja instrukcji jest podzielona obrazami z naniesionymi zmianami, które powstały w wyniku podjętych działań. Nasza praca końcowa jest podzielona na cztery rozdziały. Pierwszy rozdział, zapoznaje czytelnika z funkcjami interfejsu programu Softimage XSI 4.2 umieszczonymi w zakładkach: animacja (Animate), symulacja (Simulate) oraz pasek animacji (Playback). Następne trzy rozdziały, zawierają ćwiczenia praktyczne, które wprowadzają czytelnika w zagadnienia animacji, tj.: symulacji zjawisk fizycznych (tj. grawitacja, wiatr, woda), ruchu obiektów jako podstawy animacji, ruchu szkieletu. W czasie poszukiwań materiałów, do naszej pracy końcowej spotkaliśmy tylko jedną książkę w języku polskim o programie SOFTIMAGE XSI. Pan Paweł Krzemiński w swej książce pt. SOFTIMAGE XSI PODSTAWY, opisał możliwości programu XSI, na przykładzie budowy statycznych elementów sceny. My natomiast, chcieliśmy pokazać czytelnikowi na konkretnych przykładach, jak w programie XSI można: wykonać symulację zjawisk fizycznych, wprawić obiekty w ruch czy wpłynąć ruchem kamery i oświetlenia na dynamikę obrazu. Pod tym względem nasza praca jest nowatorska. Mała ilość pozycji książkowych w języku polskim nie świadczy o tym, że jest to oprogramowanie złej jakości lub firma produkująca to oprogramowanie jest nieznana. Firmę Softimage założył w 1986 roku filmowiec Daniel Langlois z Montrealu. Softimage od początku zajmuje się grafiką komputerową. Laglois debiutował swoją firmą w 1988 roku na konferencji grafiki komputerowej SIGGRAPH i od tej pory Softimage należy do czołówki firm zaangażowanych w rozwój grafiki komputerowej. 4
Firma Softimage Co. miała różnych właścicieli, od 1998 roku należy do Avid Technologii Inc. wiodącego producenta rozwiązań do obróbki i dystrybucji mediów. Obecnie produktem flagowym Softimage Co., jest SOFTIMAGE XSI 5.0. SOFTIMAGE pisze na swojej stronie internetowej, że XSI: jest to program nowej generacji, systemu nieliniowej animacji 3D, który łączy: modelowanie, animacje, teksturowanie, renderowanie 1, kompozycje i symulacje. [7] Produkt XSI firmy Softimage można często spotkać w ofertach sklepów z oprogramowaniem do produkcji: reklam telewizyjnych, spotów reklamowych, symulacji inżynieryjnych, architektonicznych, czy artystycznych. Wśród znanych producentów animacji i efektów specjalnych, wykorzystujących produkt Softimage, jest firma Pixar - studio animacji (powstała z działu animacji firmy Lucasfilm ). Znane obrazy filmowe powstałe przy pomocy XSI, to: Park jurajski, Titanic, Toy Story, Magiczna Karuzela. Komputer Art s - Kreatywny Magazyn o Sztuce komputerowej MAC & PC, porównując na swych łamach SOFTIMAGE XSI z innymi programami, takimi jak: Maya, Ciemna 4D, 3D Max, stwierdziło, że: Ze wszystkich zaprezentowanych tu programów Softimage XSI, jest prawdopodobnie najbardziej wyważonym pakietem, którego możliwości są równo rozłożone pomiędzy rendering, animację i modelowanie. [3] Widzimy, że Softimage jest to znany producent oprogramowania, a XSI jest wysoko notowanym produktem. Nie znaczy to, że jest to program nieosiągalny dla ucznia lub studenta. Każdy, kto wypełni niezobowiązującą ankietę na stronie internetowej Softimege Co. (www.softimage.com)[6], może pobrać plik instalacyjny programu XSI w wersji 30-dniowej. Obecnie dostępna jest wersja XSI 5.0, można ją instalować w środowisku Windows XP (procesory 32 i 64 - bitowe) i LINUX a. (Red Hat wersja 8.0 lub 9). Minimalne wymagania sprzętowe XSI, to: procesor Intel Pentium III lub AMD K7, karta grafiki z akceleratorem 64 MB RAM, 512 MB RAM pamięci operacyjnej i 500 MB miejsca na dysku twardym. Nie są to wygórowane parametry dla domowych komputerów. Instalacja programu przebiega automatycznie, należy jedynie pamiętać, że instalować może tylko administrator systemu. 1 Rendering to proces komputerowego tworzenia obrazów trójwymiarowych, który bazuje na modelach geometrycznych. Komputer oblicza położenie źródła światła względem danego obiektu i kalkuluje jak wpłynie to na odblask, cień i zmiany barwy. 5
Nasz podręcznik pomoże czytelnikowi poznać możliwości programu SOFTIMAGE XSI, co może być początkiem nowej pasji, odkryciem ukrytych talentów, czy w przyszłości sposobem na utrzymanie. W dobie wzrostu znaczenia informacji wizualnej, przekazywanej drogą elektroniczną, poznanie takiego narzędzia jak SOFTIMAGE XSI, otwiera duże możliwości na rynku pracy. 6
Podziękowania Dziękujemy Pani Kanclerz Wyższej Szkoły Turystyki i Ekologii mgr Annie Grzechynka, za udostępnienie sprzętu komputerowego wraz z programem SOFTIMAGE XSI 4.2 oraz za starania w celu stworzenia jak najlepszych warunków studiowania na kierunku informatyka stosowana. Słowa podziękowania kierujemy również do Dziekana, Pana Doktora Radosława Klimka, który organizacyjnie pomagał studentom na kierunku informatyka stosowana i wraz innymi wykładowcami rzetelnie przekazywał nam swoją wiedzę fachową. Pragniemy szczególnie podziękować Panu Doktorowi Habilitowanemu Tadeuszowi Szubie, opiekunowi naszej pracy, za poświęcony czas i wszystkie wskazówki metodyczne i rzeczowe, którym praca nasza zawdzięcza to, co w niej najlepsze. 7
SUMMARY Wyższa Szkoła Turystyki i Ekologii z siedzibą w Suchej Beskidzkiej Dissertation qualifying for B. Sc: Title:The SOFTIMAGE XSI - the Textbook on the Animation. Author: Mariusz Baran and Paweł Paluch Supervisor: Associate Professor Tadeusz Szuba Number of pages 97, number of materials 10, number of paintings 152 and 1 CD. Key words: animation, simulation, computer graphics. The aim of the presented dissertation qualifying for B. Sc. level is the creation of framework for the Polish language textbook, on how to learn the computer graphic programming with Softimage XSI 4.2. Our textbook presents some basics of computer graphic animation. The textbook is addressed to students or (familiar with computer) beginners in computer graphics. It contains several examples, which the readers may analyze and execute on their own PC computers, finally enjoying with computer graphics results. Every example constitutes small project, which should teach some part of the animation theory, as well as give programming skill and demonstrate the power of Softimage XSI 4.2 software. Every unit starts with small introduction what will be done, next the target computer graphics object is precisely given and all programming steps are one by one listed. Every step is illustrated with proper print-screens, to allow visual comparing if the present form of scene is the correct one. In general, the dissertation is divided into four chapters. The first one provides introduction into Softimage interface which is required for animation programming: Animate, Simulate and Reproduction (Playback). Next three chapters (behind educational tasks) also demonstrate how physical phenomena like gravitation, wind, water etc. are used in producing and recording computer graphics animation. In general, this textbook can be also used by students oriented on computer graphics art or using the computer graphics as the tool for modeling various objects (e.g. machines), environments (e.g. architecture) or even dynamic processes like simulating herds of animals or city traffic. SOFTIMAGE XSI 4.2. presents the visual programming approach to programming in computer graphics, i.e. deep knowledge of computer graphics theory, physics of objects and underlying mathematic is not absolutely required. 8
1. Interfejs Interfejs użytkownika są to, elementy graficzne w programie lub systemie operacyjnym pozwalające na porozumiewanie się komputera z człowiekiem, a także na prezentowanie wyniku działań programu za pomocą grafiki, piktogramów, rysunków lub okienek. Interfejs SOFTIMAGE XSI jest podzielony na segmenty. W środku interfejsu znajdują się 4 okna widoku sceny(viewport). Z prawej strony, na pasku bocznym znajdują się najczęściej używane narzędzia do pracy z elementami sceny. Po lewej stronie jest panel aktywnego modułu. Aktywny moduł może zawierać: zakładkę animacji, zakładkę symulacji, zakładkę renderowania lub zakładkę modelowania. Zakładki wybieramy opcjonalnie w zależności od potrzeb. Na dole interfejsu znajduje się pasek animacji zawierający: wskaźnik klatek animacji oraz przyciski obsługi nagrywania, odtwarzania poszczególnych elementów(klatek) animacji. W naszej pracy opiszemy elementy interfejsu bezpośrednio związane z animacją. 1.1 Pasek Animacji Jest podstawowym interfejsem, używanym przy symulowaniu animacji. Zawiera narzędzia do pracy przy animacji. Jest odpowiedzialny za wizualizację czasu animacji. Posiada wszelkie funkcje, jakie można użyć w czasie testowania projektów. Pierwsza klatka Pasek stanu animacji Ostatnia klatka Status pracy Edytor działań Opcje odtwarzania Panel animacji Bieżąca klatka Opcje animacji Wstaw klucz Pasek nazw Drzewo animacji Rys 1.1. 1 Pasek animacji 9
Pierwsza klatka ustawia pierwszą klatkę w animacji (jeśli w pole wpiszemy inna liczbę np. 5 proces animacji będzie rozpoczęty od klatki nr 5). Pasek stanu animacji pokazuje na linii klatek (timeline), w którym miejscu animacji jesteśmy. Ostatnia klatka ustawia ostatnią klatkę (jeśli wpiszemy inna liczbę niż 100 automatycznie podziałka paska stany animacji się zmieni). Status pracy pokazuje ostatnio wykonaną czynność. Edytor działań zapisuje w skrypcie kolejno wykonywane działania. Opcje odtwarzania zawiera listę opcji potrzebnych do odtwarzania animacji i dźwięku (pokazuje prawdziwy czas animacji, pozwala przejść do określonej klatki w animacji, zawiera opcje do zarządzania dźwiękiem). Panel animacji(playback) zawiera przyciski do przewijania klatek animacji (start, stop, pierwsza, ostatnia, pętla). Bieżąca klatka pokazuje numer aktualnej klatki. Opcje animacji zawiera opcje do tworzenia animacji (wstawianie kluczy, usuwanie kluczy, kopiowanie fragmentów animacji, usuwa fragmenty animacji, łączy fragmenty animacji, wyświetla graficzne drzewo edytor animacji itd.). Wstaw klucz 2 pozwala na wstawienie klucza animacji oraz przejście do poszczególnych kluczy animacji. Włącza funkcję automatycznego wstawiania kluczy. Pasek nazw pozwala, dla wstawianego klucza i nadanie mu własne nazwy. Drzewo animacji wyświetla graficzne drzewo animacji. 1.2 Zakładka - Animate Zakładka Animate jest podzielona na kilka części, z których każda zawiera specyficzne dla niej funkcję: - Get zawiera podstawowe obiekty, z których budowana jest scena. - Create zawiera: opcje wstawiania parametrów i wyrażeń, funkcje rysujące linie w przestrzeni 3D. Opcje związane z przyporządkowaniem ścieżki ruchu elementom sceny i zawiera elementy do tworzenia scen opartych na budowie szkieletu. - Deform służy do nadawania kształtów obiektom lub ich deformowania. Zawiera opcje do przyporządkowania powłok np. obiektom opartych na szkielecie. - Actions zawiera opcje przyporządkowujące obiektom jakieś akcje. - Tools zawiera narzędzia do pracy nad ruchem w scenie. 2 Klucz animacji Zapisanie aktualnego stanu animacji w postaci klatki-zdjęcia, z których jest generowany film 10
Opcje Get Opcje Create Opcje Deform Opcje Actions Opcje Tools Rys 1.2. 1 Zakładka Animate 1.2.1 Get Zakładka składa się z następujących elementów: - Primitive zawiera podstawowe obiekty do tworzenia grafiki 3D. Znajdziemy tam zarówno figury 3D, powierzchnie 2D jak i podstawowe figury geometryczne (okrąg, trójkąt, kwadrat). - Camera prezentuje podstawowe rodzaje kamer, które możemy wprowadzić do sceny (Perspective, Telephoto, Wide Angle, Orthographic) - Light pozwala na wprowadzenie do sceny dodatkowych świateł (np. Infinite, Neon, Spot itd.). - Material zawiera podstawowe typy kolorowania (Shading). Każdy typ charakteryzuje się odpowiednimi właściwościami (np. Lambert do kolorowania. powierzchni matowych, Anisotropic do kolorowania powierzchni lśniących np. metal, itd.). 11
1.2.2 Create Zakładka ta składa się z takich elementów jak : - Parameter pozwala wprowadzić własne nazwy dla parametrów obiektu oraz pozwala na wprowadzenie wyrażenia ekspresji (Set Expression w postaci skryptu). - Curve zawiera funkcje rysujące linie za pomocą wyznaczonych punktów. - Path zawiera narzędzia związane ze ścieżką ruchu obiektu. - Skeleton zawiera narzędzia do pracy przy tworzeniu szkieletu. - Characters znajdziemy tam standardowe obiekty (oferowane przez produkt Softimage XSI), które możemy wykorzystać w animacji. 1.2.3 Deform Zakładka składa się z takich elementów jak: - Shape zawiera narzędzia do kształtowania obiektów. - Envelope zawiera opcje przyporządkowujące powierzchnię obiektom (np.szkieletowi). - Deform Pozwala na deformację obiektu (np. by Curve według linii, losowo, Twix, itd.) 1.2.4 Actions Zakładka ta składa się z takich elementów jak: - Store pozwala na zapamiętywanie procesu animacji - Apply pozwala przyporządkować ruch obiektom. - Templates tworzy szablony z obiektów (pusty, połączenie, wartość). 1.2.5 Tools Zakładka zawierająca takie narzędzia jak: - Plot ploter do rysowania. - Devices pozwala na zarządzanie sterownikami do urządzeń oraz opcje wychwytywania obiektów - Import/Export służy do importowania i eksportowania obiektów oraz zastępowania i odwoływania ruchu. 12
1.3 Zakładka Simulate Zakładka Simulate składa się z 4 części. Zawiera niezbędne obiekty i funkcje do symulowania zjawisk fizycznych: - Get zawiera podstawowe obiekty, które możemy wprowadzać do sceny. - Create zawiera funkcje zmieniające właściwości obiektów. - Modify zawiera funkcje do przyporządkowywania zjawisk fizycznych obiektom (np. grawitacja) i modyfikowania ich właściwości. - Inspect zawiera funkcje kontrolujące przebieg symulacji Opcje Get Opcje Create Opcje Modify Opcje Inspect Rys 1.3. 1 Zakładka Simulate 13
1.3.1 Get Zakładka ta składa się z: - Primitive zawiera podstawowe obiekty przestrzenne do tworzenia scen w grafice komputerowej (kula, walec, itd.) oraz figury geometryczne (trójkąt, kwadrat, itd.). - Camera zawiera podstawowe rodzaje kamer, które możemy wprowadzać do sceny. - Light pozwala na wprowadzenie obiektów lamp, oświetlających elementy sceny - Force zawiera obiekty symulujące zjawiska fizyczne (grawitacja, wiatr, itd.). - Property przedstawia właściwości obiektów i opcje odpowiedzialne za sposób nałożenia tekstury. 1.3.2 Create Zakładka ta składa się z: - Particles pozwala na wprowadzenie do sceny elementów rozprzestrzeniających się z obiektu (np. From Cube z sześcianu). - Rigid Body pozwala nadać obiektowi właściwości sztywnego ciała (nieugiętego). - Soft Body pozwala nadać obiektowi właściwości miękkiego ciała. - Cloth nadaje obiektowi właściwości materiału. 1.3.3 Modify Zakładka ta pozwalają na modyfikację obiektów: - Particles pozwala dodać obiektom sceny emisję elementów rozprzestrzeniających się. - Rigid Body zawiera narzędzia do modyfikacji obiektów mających właściwości ciała sztywnego (Rigid Body). - Environment zawiera narzędzia do przyporządkowywania obiektom zjawisk fizycznych. - Shader nadaje kolor zaznaczonemu obiektowi. - Deform zawiera opcje do deformacji obiektów. 14
1.3.4 Inspect Zawiera opcje ułatwiające modelowanie scen - Par Type pozwala na wybranie rodzaju emisji: iskry (Sparks), dym(smoke), ciecz(flame). - Obstacles tworzenie i ustalenie własności obiektów stanowiących przeszkodę dla innych obiektów sceny. - Emissions edycja emisji obiektów rozprzestrzeniających się. 15
2. Symulacje zjawisk fizycznych Symulacja sztuczne odtwarzanie właściwości jakiegoś zjawiska występującego w naturze [12]Ze zjawiskami fizycznymi występującymi w naturze mamy kontakt codziennie, są nieodłącznym elementem życia. Zastosowanie symulacji zjawisk fizycznych wpływa na zwiększenie realizmu całej animacji. Podmuch wiatru, płynąca woda, ogień czy wpływ masy i grawitacji na ruch obiektów lub reakcje na zderzenia z innymi obiektami, symulacje tych zjawisk możemy wykonać w programie SOFTIMAGE XSI. W tym rozdziale pokażemy symulację: grawitacji, podmuchu wiatru, zachowania cieczy, zapalenia ognia. Zapoznamy się z zasadami pracy z edytorem animacji i drzewem renderowania. 2.1 Grawitacja Tematem tej lekcji będzie, stworzenie obiektu, któremu nadamy właściwości tkaniny. Do animacji wykorzystamy siłę grawitacji. Dowiemy się jak wykorzystywać w scenie siły natury oraz jak zrobić dla obiektu przeszkodę [5]: Rys 2.1. 1 Efekt końcowy Krok1: Tworzymy materiał Wprowadzamy do sceny obiekt Grid. Przechodzimy kolejno: Model Get Primitive Polygon Mesh Grid Przesuwamy obiekt po osi Y o wartość 10. Ustawiamy wielkość powierzchni oraz liczbę podziałów: 16
Rys 2.1. 2 Powierzchnia Grid Otrzymanej powierzchni nadamy właściwości materiał. Aby powierzchnia przyjęła właściwości materiału, potrzebujemy użyć odpowiedniej funkcji. Mając zaznaczony obiekt Grid, przechodzimy kolejno: Simulate Create Cloth From Selection Pojawia się okno ClothOp. Wyszukujemy zakładki Cloth Presents. Znajdują się tam podstawowe rodzaje materiałów, takich jak (nylon, papier, plastik itd.). Wybieramy np. Nylon: Rys 2.1. 3 Zakładka Cloth Obiekt przyjmie właściwości materiału Nylon. Przyporządkowujemy materiałowi kolor (np. niebieski): Render Get Material Phong Ustawiamy odpowiedni kolor i sprawdzamy wygląd poprzez użycie funkcji: Render Render Preview All Layers 17
Rys 2.1. 4 Kolorowanie powierzchni Grid W celu sprawdzenia zachowania się materiału, przy kontakcie z innymi obiektami zastosujemy siłę grawitacji. Krok2: Wprowadzamy grawitację Wszelkie siły natury jakie produkt Softimage XSI oferuje, znajdują się w zakładce Simulate. W celu wprowadzenia do sceny grawitacji przechodzimy do opcji : Simulate Get Force Gravity Standardowo ustawiona jest wartość przyciągania ziemskiego. Możemy oczywiście zmienić ją według upodobań: Rys 2.1. 5 Opcje grawitacji Wprowadzona grawitacja jeszcze nie ma wpływu na obiekt materiału. Musimy przyporządkować ją naszemu obiektowi. W tym celu przechodzimy do funkcji: Simulate Modify Environment Apply Force 18
Przy kursorze myszki pojawia się napis Pick. Klikamy materiał lewym przyciskiem myszki, następnie prawym wychodzimy z funkcji. Od tego momentu na obiekt, będzie działać siła grawitacji. Aby to udowodnić wystarczy z dolnego paska narzędzi nacisnąć przycisk włączający animację: Rys 2.1. 6 Wpływ grawitacji na obiekt materiału Kolejny test, jaki przeprowadzimy na naszym obiekcie, będzie pokazywał jak dany materiał, zachowa się przy napotkaniu na swojej drodze przeszkody. Krok 3: Tworzenie przeszkody Wprowadzamy do sceny obiekt, który będzie pełnił funkcję przeszkody. Niech to będzie kula. Wybieramy kolejno: Model Get Primitive Polygon Mesh Sphere Odpowiednio ustawiamy parametry kuli i nadajemy jej kolor podobnie jak powierzchni Grid: Rys 2.1. 7 Obiekt Sphere (kula) 19
Ustalamy odpowiednie parametry dla obiektu kuli. Nie spełnia ona jeszcze funkcji przeszkody. Jeśli teraz uruchomimy animację, obiekt przeniknie kulę, tak jakby jej nie było. Aby kula stała się przeszkodą dla opadającego materiału, zaznaczamy obiekt materiału(materiał jest wyświetlony na biało), przechodzimy do funkcji: Simulate Modify Environment Set Obstacle Obok kursora myszki pojawia się napis Pick, najpierw naciskamy lewym przyciskiem myszki na obiekt kuli (spowoduje to podświetlenie jej), następnie prawym przyciskiem myszki wychodzimy z funkcji. Prawidłowo wykonana sekwencja, powoduje podświetlenie kuli na kolor niebieski: Rys 2.1. 8 Ustawienie kształtu przeszkody Należy pamiętać, aby zmienić opcję w miejscu, gdzie wskazuje strzałka na Rys 2.1.8. Standardowo jest ona ustawiona na B-Box a to powoduje, że nasz obiekt po napotkaniu przeszkody nie zachowuje się naturalnie (zupełnie jakby napotkał sześcian, a nie kulę). Ustawiamy opcję Obstacle Type na B-Sphere. Sprawdzamy efekt pracy, poprzez użycie funkcji renderującej Render Preview All Layers i włączenie animacji: 20
2.2 Wiatr Rys 2.1. 9 Efekt końcowy Tematem tego ćwiczenia będzie symulacja wiatru. Umocujemy (przybijemy umownymi gwoździami ) tkaninę na drążku, którą będzie poruszał wiatr. Wykonamy krótką animację tego zjawiska. Poznamy podstawy pracy z edytorem animacji(animation Editor), oraz jak wykonać teksturę przez nałożenie bitmapy 3 na obiekt materiału [5]. Efektem końcowym będzie flaga z logo programu XSI, którą porusza wiatr: Rys 2.2. 1 Efekt końcowy Krok 1: Tworzenie drążka Drążek posłuży nam za obiekt, do którego przymocujemy tkaninę. Wprowadzamy do sceny obiekt walca: 3 Bitmapa sposób zapamiętania obrazu przy wykorzystaniu pikseli ułożonych w rzędy i kolumny. Każdy piksel a właściwie informacja o jego kolorze może zostać zapisana za pomocą określonej liczby bitów. Mapy jednobitowe to mapy czarno-białe, a w mapach 16-bitowych na jeden piksel przypada 65536 kolorów. 21
Model Get Primitive Polygon Mesh Cylinder Wprowadzamy dane dotyczące rozmiarów i liczby podziałów. Następnie dokonujemy rotacji naszego walca po osi Z o kąt 90 stopni, oraz translacji po osi Y o 15 jednostek: Rys 2.2. 2 Obiekt Cylinder Krok 2: Tworzymy materiał W celu stworzenia materiału postępujemy następująco. Wprowadzamy do sceny obiekt Grid: Model Get Primitive Polygon Mesh Grid Ustawiamy odpowiednie parametry dla naszej tkaniny. Dokonujemy transformacji dla naszego obiektu: - rotacje po osi X o 90 stopni - translacje po osiach o wartości Y=5, Z=0,5: Rys 2.2. 3 Obiekt Grid 22
Nadajemy odpowiednie właściwości charakteryzujące tkaninę: Simulate Create Cloth From Selection Rys 2.2. 4 Nadanie właściwości Cloth Krok 3: Mocowanie tkaniny do poprzeczki W celu przymocowania tkaniny do poprzeczki, przechodzimy w tryb Point. Zaznaczamy punkty, które posłużą jako gwoździe mocujące tkaninę do poprzeczki. Następnie przechodzimy do funkcji: Simulate Create Cloth Local Cloth Cluster Pojawia się okno, w którym zaznaczamy opcję Nail (Rys 2.2.5): Rys 2.2. 5 Przymocowanie materiału Aby sprawdzić czy tkanina jest przymocowana do drążka wprowadzamy siłę grawitacji. Przechodzimy do opcji: Simulate Get Force Gravity Przyporządkowujemy siłę grawitacji do tkaniny za pomocą funkcji Apply Force : Simulate Modify Environment Apply Force 24
Pojawia się napis Pick przy kursorze myszki. Naciskamy lewy przycisk myszki zaznaczając obiekt tkaniny a następnie prawy przycisk myszki w celu wyjścia z funkcji. Sprawdzamy efekt poprzez naciśnięcie przycisku startu w pasku animacji: Rys 2.2. 6 Wprowadzenie siły grawitacji Krok 3: Nakładanie tapety na obiekt Tapetę, którą chcemy nałożyć na obiekt tkaniny musimy skopiować do katalogu: C:\Softimage\XSI_4.2\Data\XSI_SAMPLES\Pictures Następnie importujemy plik z teksturą do środowiska programu poprzez przejście do funkcji: Render Get Clip Create Clip From File Pojawia się okno, w którym wyszukujemy przygotowany plik z tapetą. W naszym przypadku nazywa się xsilogo.jpg: Rys 2.2. 7 Import tekstury 25
Zaznaczamy odpowiedni plik i naciskamy OK. Spowoduje to dodanie naszej tapety do standardowych tekstur programu. Świadczy o tym pojawiające się okno: Rys 2.2. 8 Opcje pliku tekstury Zaznaczamy obiekt, pełniący w naszej scenie rolę tkaniny i przechodzimy do opcji: Pojawia się podobne okno: Render Get Texture Clips xsilogo_jpg Rys 2.2. 9 Nałożenie tapety na powierzchnię Grid 26
Naciskamy przycisk wskazywany przez strzałkę na Rys 2.2.9 i wybieramy sposób nałożenia tapety na obiekt. W naszym przypadku jest to opcja Planar XZ 4. Dodajemy światło w celu lepszego oświetlenia obiektów (np. Infinite). Sprawdzamy efekt naszej pracy poprzez uruchomienie funkcji: Render Render Preview All Layers Otrzymujemy następujący efekt: Rys 2.2. 10 Scena po renderingu Krok 4: Wprowadzenie wiatru Aby założenia ćwiczenia były spełnione wprowadzamy do sceny siłę wiatru. Wiatr będzie oddziaływał na obiekt tkaniny. Przechodzimy do opcji: Simulate Get Force Wind Odpowiednio zwiększamy siłę wiatru. Następnie poprzez rotację i translację, ustawiamy w odpowiednim miejscu obiekt symulujący wiatr, zgodnie z Rys 2.2.11: Rys 2.2. 11 Wprowadzenie wiatru 4 Planar XZ- Nałożenie tekstury względem osi X i Z 27
Przyporządkowujemy siłę wiatru tkaninie poprzez funkcję: Simulate Modify Environment Apply Force Po pojawieniu się napisu Pick przy kursorze myszki zaznaczamy lewym przyciskiem myszki obiekt tkaniny. Następnie prawym przyciskiem myszki wychodzimy z funkcji. Dla zwiększenia efektu wizualnego, osadzimy naszą flagę w ograniczonej przestrzeni dwóch płaszczyzn i oświetlimy światłem rozproszonym Infinite. Wprowadzamy dwie powierzchnie Grid. Jedną ustawiamy jako podłoże, druga będzie pełniła funkcję tła. Zaznaczamy wcześniej wprowadzone światło Infinite i naciskamy Enter. Wyszukujemy opcji Shadows Enabled: Rys 2.2. 12 Włączenie opcji Shadow Opcja ta pozwala na włączenie cieni. Sprawdzamy działanie wiatru na naszą tkaninę poprzez funkcję Render i włączenie animacji Rys 2.2. 13 Efekt końcowy 28
Krok 5: Regulacja siły wiatru W celu regulacji siły wiatru w czasie trwania animacji, posłużymy się jednym z narzędzi, w jakie wyposażony jest Softimage XSI 4.2 edytorem animacji(animation Editor). Naciskając klawisz 0 pojawia się okno będące graficzną wizualizacją animacji: Rys 2.2. 14 Animation Editor Edytor ten pozwala zmieniać wartości funkcji liniowych obiektów, w czasie trwania animacji. Aby regulować siłę wiatru postępujemy następująco. Zaznaczamy obiekt wiatru i naciskamy Enter pojawia się okno: Rys 2.2. 15 Opcje wiatru 29
Aby móc edytować siłę wiatru w oknie Wind(General) zaznaczamy opcję Amplitude wskazywaną przez strzałkę na Rys 2.2.16: Rys 2.2. 16 Regulacja siły wiatru Ikona przy suwaku zmian amplitudy, zmieniła się z zielonego prostokąta na prostokąt z krzywą na czerwonym tle, a ikona z kluczem w opcjach rodzaju zmian, też została podświetlona na czerwono. Oznacza to, że amplituda natężenia siły wiatru będzie się zmieniała, według określonej krzywej w edytorze animacji. Okno edytora animacji otwieramy, naciskając klawisz 0(zero). Następnie wyszukujemy w oknie edytora przycisk View i naciskamy go. Zaznaczamy opcję All Nodes: Rys 2.2. 17 Wprowadzenie wiatru do edytora animacji Pionowa czerwona linia wskazuje aktualną pozycję (klatkę) animacji. Zaznaczamy obiekt wiatru wskazywany przez strzałkę na Rys 2.2.17. Powoduje to pojawienie się białej linii reprezentującej siłę wiatru. Na razie jest to tylko linia prosta o wartości stałej. Aby nadać zmienne wartości wiatru musimy wprowadzić dodatkowe punkty. 30
Należy pamiętać, że punkt przecięcia się linii białej i czerwonej wyznacza nam punkt kontrolny (w tym punkcie będzie regulowana siła wiatru). Stworzymy dwa punkty na środku i pod koniec animacji. Będąc wskaźnikiem myszy na białej linii, naciskamy prawy przycisk myszki. Powoduje to pojawienie się listy opcji, z których wybieramy Insert Key at Current Time: Rys 2.2. 18 Wprowadzenie punktu załamania funkcji W ten sposób wprowadziliśmy dodatkowe punkty, które pozwolą dowolnie zmieniać kształt krzywej natężenia wiatru. Przycisk podświetlony na niebiesko możemy przeciągnąć w odpowiednie miejsca animacji: Rys 2.2. 19 Deformacja funkcji wiatru Naciskając przycisk uruchamiający animację w celu sprawdzenia czy wpłynęliśmy na zmianę amplitudy wiatru. 31
2.3 Woda Celem tego ćwiczenia, będzie pokazanie jak stworzyć ciecz i jej właściwości w środowisku SoftimageXSI. Ciecz (woda) będzie się rozlewała po nieregularnej powierzchni. Głównym założeniem projektu jest poznanie zasad funkcjonowania Drzewa Renderingu (Render_Tree) [5]: Rys 2.3. 1 Efekt końcowy Krok 1: Tworzymy scenę Wprowadzamy do sceny obiekt Grid. Posłuży nam za powierzchnię, na której ciecz będzie się rozlewała. Przechodzimy kolejno: Model Get Primitive Polygon Mesh Grid Nadajemy jej odpowiednie parametry: Rys 2.3. 2 Powierzchnia Grid 32
Drugim obiektem jaki wprowadzimy, będzie komponent symulujący wypływającą ciecz: Simulate Create Particles Fluid From Disc Przesuwamy element komponentu FluidEmitter odpowiednio w scenie i dokonujemy rotacji po osi X o wartość 45 stopni: Rys 2.3. 3 Wprowadzenie obiektu Fluid Emiter Następnym elementem, jaki wykonamy będzie rurka, z której będzie wydobywała się woda. Wykonamy ją przy pomocy krzywej: Model Create Curve Draw Cubic by CVs Kursor przyjmuje kształt ołówka. Rysujemy krzywą zgodnie z Rys 2.3.4: Rys 2.3. 4 Krzywa CVs 33
Aby nasz projekt był realny, osadzimy źródło naszej cieczy w rurce, umocowanej w ścianie. Wprowadzamy do sceny obiekt koła: Model Get Primitive Curve Circle Ustawiamy średnicę na 1 i przechodzimy do opcji: Model Create Surf. Mesh Extrusion Along Curve Pojawia się napis Pick przy kursorze myszki. Naciskamy lewym przyciskiem myszki na obiekt linii. Powoduje to powstanie rurki: Rys 2.3. 5 Obiekt Surfmsa Usuwamy koło oraz linię ze sceny naciskając w pojawiającym się oknie przycisk Delete(Freezes Op). Kopiujemy powierzchnię Grid (Ctr+D)i ustawiamy w pionie w celu wykonania ściany, w której umocowana jest rurka: Rys 2.3. 6 Model sceny 34
Krok 2: Wprowadzamy grawitację Aby scena miała realistyczny wygląd wprowadzimy siłę grawitacji, która będzie oddziaływać na komponent Cloud: Simulate Get Force Gravity Przyporządkowujemy komponentowi siłę grawitacji. Mając zaznaczony element Cloud przechodzimy do opcji: Simulate Modify Environment Apply Forces Pojawia się napis Pick przy kursorze myszki. Zaznaczamy, lewym przyciskiem myszki, siłę grawitacji. Po naciśnięciu przycisku Play w dolnym pasku animacji otrzymujemy: Rys 2.3. 7 Komponent Cloud Aby zmniejszyć szybkość, z którą woda wypływa z obiektu FluidEmitter wystarczy zaznaczyć komponent Cloud (wskazany przez strzałkę na Rys 2.3.7) i nacisnąć Enter. 35
Pojawia się okno, w którym wyszukujemy zakładki FluidEmitter_emission. Ustawiamy wartość Speed = 2: Rys 2.3. 8 Zakładka FluidEmitter_emission Krok 3: Ustawianie przeszkody Aby założenie ćwiczenia było spełnione, musimy sprawić by obiekt Grid stanowił przeszkodę dla elementu Cloud. Zaznaczamy element Cloud i przechodzimy do opcji: Simulate Modify Environment Set Obstacle Po pojawieniu się napisu Pick przy kursorze myszki zaznaczamy obiekt Grid. Najpierw naciskając lewy przycisk myszki a następnie prawy. Pojawia się okno: Rys 2.3. 9 Opcje Grid_obstacle 36
Prawidłowe wykonanie powyższych kroków pozwoli na uzyskanie (po renderingu) następującego efektu: Rys 2.3. 10 Scena po renderingu Krok 4: Nadawanie właściwości wody Kolejnym krokiem jaki musimy wykonać jest ustawienie takich parametrów elementu Cloth, aby cząsteczki przypominały wodę. W tym celu posłużymy się jedną z funkcji dostępnych w Softimage XSI. Naciskając klawisz 7 pojawia się okno o nazwie Render Tree: Rys 2.3. 11 Edytor - Render Tree Naciskamy przycisk Nodes wskazany przez strzałkę na Rys 2.3.11. Przechodzimy do folderu: Volume More.. 37
Pojawia się okno, w którym wyszukujemy komponent Particle_vol_FluidV2. Naciskamy OK: Rys 2.3. 12 Wprowadzenie komponentu Particle_vol_FluidV2 Następnie ponownie otwieramy okno i wyszukujemy element Particle_FluidV2, który znajduje się w katalogu (C:\Softimage\XSI_4.2\Data\DSPresets\Shaders\Material): Rys 2.3. 13 Wprowadzenie komponentu Particle_FluidV2 Naciskamy przycisk OK. Na Drzewie Renderingu mamy odpowiednie elementy. 38
Łączymy je zgodnie z poniższym schematem: Rys 2.3. 14 Schemat połączenie komponentów Aby efekt wody można było zobaczyć nadajemy odpowiednio kolor niebieski elementowi Cloud i zwiększamy parametr Max Life=5: Rys 2.3. 15 Efekt po połączeniu komponentów Ustalamy kolor powierzchni Grid np. na jasno niebieski. Mając zaznaczony obiekt Cloud naciskamy kombinację klawiszy Alt+Enter. 39
Przechodzimy do zakładki Particle_FluidV2 i ustawiamy parametry Transparency=1.35 (przeźroczystość), i Reflection=0.9 (stopień odbicia światła): Rys 2.3. 16 Efekt po nadaniu wartości Transparency i Reflection Nadajemy kolor pozostałym elementom sceny. Krok 5: Deformacja powierzchni Aby móc oglądać efekty rozlewania się wody po nieregularnej powierzchni postępujemy następująco. Zaznaczamy element Cloud i naciskamy kombinację klawiszy Alt+Enter. Pojawia się okno, w którym wyszukujemy zakładki Grid Obstacle. Rys 2.3. 17 Opcje Grid_Obstacle Wyszukujemy opcji Obstacle Type (Rys 2.3.17) i zmieniamy wartość na Actual Shape. Następnie dowolnie zmieniamy kształt powierzchni Grid. Możemy także dokonać rotacji po osiach współrzędnych i obserwować efekty zlewana się wody po nierównej powierzchni. Zaznaczamy obiekt Grid, następnie dokonujemy rotacji po osi Z o wartość 10 stopni. 40
Przechodzimy w tryb Polygon. Zaznaczamy część poligonów i dokonujemy translacji po osi Y o wartość 3 : Rys 2.3. 18 Deformacja powierzchni Grid Sprawdzamy efekt poprzez użycie funkcji Preview All Layers i otrzymujemy: Rys 2.3. 19 Efekt końcowy 41
2.4 Ogień Celem tego ćwiczenia będzie symulacja procesu zapalania znicza. Zastosujemy komponent symulujący eksplozję Explosion From Cylinder. Efekt ognia uzyskamy poprzez ustawienie odpowiednich parametrów [8]. Rys 2.4. 1 Efekt końcowy Krok 1: Tworzymy rączkę znicza. W celu modelowania rączki znicza posłużymy się obiektem walca. Przechodzimy do zakładki Model (klawisz 1) i wybieramy: Model Get Primitive Polygon Mesh Cylinder Ustawiamy następujące parametry - Radius (promień) = 1; - Height (wysokość) = 15 - Subdivisions (podział) U = 10, V = 10, Base = 6: 42
Rys 2.4. 2 Obiekt Cylinder Zmieniamy tryb widoku na Shaded. Przechodzimy w tryb pracy Polygon poprzez naciśnięcie klawisza F10, po czym zaznaczamy poligony, zgodnie z Rys 2.4.3: Rys 2.4. 3 Zaznaczenie odpowiednich wielokątów(poligons) Następnie dokonujemy skalowania zaznaczonych poligonów po osiach X i Z do wartości 0,5: Rys 2.4. 4 Deformacja obiektu Cylinder 43
Krok 2: Tworzymy kielich znicza. Do budowy kielicha znicza posłużymy się obiektem kuli. Wybieramy kolejno: Model Get Primitive Polygon Mesh Sphere Ustawiamy następujące parametry: Rys 2.4. 5 Obiekt kielicha Po wprowadzeniu danych dokonujemy translacji po osi Y=10. Krok 3 : Symulacja ognia. Wprowadzamy obiekt symulujący eksplozję. Przechodzimy kolejno: Simulate Create Particles Explosion From Cylinder Pojawia się następujący obiekt, składający się z 3 części (Cloud, ExplosionEmitter, ExplosionLight): Rys 2.4. 6 Obiekt generujący eksplozję 44
Zaznaczamy elementy Cloud, które będą się rozprzestrzeniać tworząc ogień: Rys 2.4. 7 Element Cloud Naciskamy Alt + Enter i ustawiamy następujące opcje: Rys 2.4. 8 Zakładka Cloud Odznaczamy opcje Sparks, Smoke (wskazywane przez strzałkę na Rys 2.4.8). 45
Przechodzimy do zakładki ExplosionOp Emission i ustawiamy następujące parametry: Rys 2.4. 9 Opcje Flame Structure Krok 4: Kolorowanie sceny Zaznaczamy obiekt rączki i nadajemy mu odpowiedni kolor (np. żółty) Przechodzimy do opcji: Render Get Material Phong Kolor ustawiamy za pomocą suwaków: Rys 2.4. 10 Kolorowanie rączki Podobnie czynimy z obiektem kielicha. Następnie zaznaczamy obiekt Cloud komponentu symulującego eksplozję i naciskamy kombinację klawiszy Alt+Enter. Pojawia się okno, w którym wyszukujemy zakładki Particle_ExplosionV2 Flame i ustawiamy parametry zgodnie z Rys 2.4.11: 46
Rys 2.4. 11 Shading elementu Cloud Ustawiamy obiekt Cloud w odpowiednim miejscu. Sprawdzamy efekt pracy, poprzez zastosowanie funkcji Render Preview All Layers: Rys 2.4. 12 Efekt końcowy 47
3. Ruch podstawą animacji Animacja, jest procesem automatycznego generowania serii obrazów, gdy kolejny obraz przedstawia pewną zmianę w stosunku do poprzedniego.[1]ciąg zmian własności lub położenia obiektu w odpowiedniej prędkości, stwarza wrażenie ruchu płynnego. Zjawisko to nazywa się zlewaniem obiektów szybkozmiennych. Jest to b. ważna własność! pozwala generować na ekranie obraz w sposób sekwencyjny. Prędkość zmian dla człowieka 24 klatki/sek. daje już poprawny rezultat [11] Program Softimage XSI pozwala na modelowanie praktycznie wszystkiego, co jest związane z ruchem. Możemy symulować ruch mechanizmów, światła kamery czy wzrostu roślin. Postaramy się w kilku ćwiczeniach to udowodnić. 3.1 Ruch mechanizmu Celem tego ćwiczenia, jest pokazanie procesu ręcznego tworzenia animacji. Stworzymy mechanizm składający się z dwóch zębatek, na których, będziemy dokonywać rotacji i zapisywać poszczególne klatki animacji. Na podstawie zapisanych kluczy animacji nakręcimy film [5]. Rys 3.1. 1 Efekt końcowy 48
Krok 1: Budujemy obiekt (zębatkę) Zębatki stworzymy z walców. Nadamy im odpowiednie wymiary i połączymy je za pomocą funkcji Union. Wprowadzamy do sceny obiekt walca: Model Get Primitive Polygon Mesh Cylinder Ustawiamy dla niego odpowiednie parametry: Rys 3.1. 2 Obiekt Cylinder Kopiujemy (Ctr+D) obiekt walca i dokonujemy rotacji po osi X o kąt 30 stopni: Rys 3.1. 3 Kopia obiektu Cylinder Powtarzamy krok 5 razy. Program, po kolejnym kopiowaniu walca dokonuje automatycznej rotacji o wyznaczony kąt (pod warunkiem, że nie wyłączymy trybu rotacji). 49
Otrzymujemy następujący obiekt: Rys 3.1. 4 Wielokrotna kopia obiektu Cylinder Łączymy ze sobą wszystkie elementy za pomocą funkcji Union: Model Create Poly. Mesh Boolean Union Po pojawieniu się napisu Pick przy kursorze myszki, zaznaczamy lewym przyciskiem myszki kolejne walce. Za każdym razem naciskając przycisk Delete(Freezes Op): Rys 3.1. 5 Połączenie elementów Ponownie wprowadzamy dwa walce. Dokonujemy rotacji po osi X o kąt 90 stopni. 50
Dla pierwszego z nich ustawiamy wartości: Rys 3.1. 6 Wprowadzenie dodatkowego cylindra Drugi skalujemy następująco: Rys 3.1. 7 Cylinder pełniący funkcję osi Dokonujemy na nim translacji po osi X tak, aby tylko z jednej strony zębatki wystawał. Łączymy wszystkie walce za pomocą funkcji Union. Wprowadzamy ostatni element (walec) w celu urozmaicenia konstrukcji i ustawiamy dla niego parametry. 51
Przesuwamy po osi X o wartość 5 po czym ponownie łączymy go z otrzymanym obiektem: Rys 3.1. 8 Wprowadzenie ostatniego elementu Ostatecznie otrzymaliśmy obiekt składający się z wielu walców, ale stanowiących jedną całość: Rys 3.1. 9 Obiekt po połączeniu Jeden z elementów mechanizmu jest przygotowany. 52
Kopiujemy obiekt (Ctr+D), następnie dokonujemy rotacji po osi Z o 90 stopni i translacji po osiach (XY), zgodnie z Rys 3.1.10: Rys 3.1. 10 Kopia całego opiektu Aby nasze obiekty się zazębiały, dla skopiowanego obiektu przechodzimy w tryb Local. Dokonujemy rotacji po osi X o wartość 15 stopni (Rys 3.3.11): Rys 3.1. 11 Rotacja obiektu 53
Krok 2: Kolorowanie obiektów Na obiekt nałożymy teksturę z drewna. W celu uzyskania lepszego efektu w animacji. Zaznaczamy oba obiekty i wyszukujemy odpowiedniej tekstury: Render Get Texture Wood Ustalamy odpowiednie parametry koloru. Sprawdzamy wygląd sceny poprzez użycie funkcji renderującej: Render Render Preview All Layers Rys 3.1. 12 Obiekty po nadaniu tekstury Scena jest przygotowana do animacji. Krok 3: Animacja Jednym z założeń ćwiczenia jest stworzenie animacji obracającego się mechanizmu. Animację stworzymy zapisując poszczególne klatki za pomocą klucza animacji. Jest to proces czasochłonny i trzeba uważać, aby nie pomylić się przy dokonywaniu rotacji. Nie będziemy korzystać z menu Simulate (klawisz 4), które standardowo zawiera elementy do symulowania zjawisk. Ustawiamy liczbę klatek w animacji ze 100 na 30 w celu zmniejszenia liczby kroków. Rys 3.1. 13 Zmiana liczby klatek 54
Praca przy tworzeniu anumacji, będzie się opierała o odpowiednie rotacje i zapisywanie aktualnej pozycji animacji (klucza animacji). Będziemy obracać obiekty o kąt 15 stopni. Do zapisu (klucza animacji) służy klawisz k. Rozpoczynamy od pozycji wyjściowej (aktualnej): 1. naciskamy k, 2. przechodzimy klatkę dalej - naciskając przycisk z dolnego paska Next Frame, 3. dokonujemy rotacji obiektów po osi X o kąt 15 stopni (dla pierwszego) i 15 stopni (dla drugiego), 4. ponownie naciskamy k Postępujemy tak aż dojdziemy do ostatniej klatki animacji Krok 4: Tworzymy film Każdy klucz animacji jest zapisywany w postaci zdjęcia. Na podstawie tych zdjęć tworzony jest film. Aby nakręcić film przechodzimy do opcji: Render Render Render Options Pojawia się okno Render Options: Rys 3.1. 14 Opcje Renderingu 55
Przechodzimy do zakładki Create Movie (Rys 3.1.14): Rys 3.1. 15 Zakładka Create Movie Zaznaczamy opcję Create Movie, zmieniamy nazwę pod jaką zapiszemy film (standardową nazwą jest Default_Pass_Clip.avi) i naciskamy przycisk Render. Pojawia się ekran animacji i pasek przedstawiający, która klatka animacji aktualnie jest renderowana: Rys 3.1. 16 Efekt końcowy 56
3.2 Ruch światła Celem tego ćwiczenie, będzie stworzenie animacji, w której obiekt (piłka) będzie oświetlana przez dodatkowe światło. Piłka, będzie się poruszała po wyznaczonym torze ruchu. Efekty naszej pracy będą widoczne w postaci cienia na podłożu i pionowej ścianie [10]. Rys 3.2. 1 Efekt końcowy Krok 1: Tworzymy scenę Do stworzenia podłoża i ściany posłużymy się powierzchnią Grid. Przechodzimy do opcji: Model Get Primitive Polygon Mesh Grid Ustawiamy odpowiednie parametry zgodnie z Rys 3.2.2: Rys 3.2. 2 Powierzchnia Grid 57
Kopiujemy (Ctr+D) otrzymany obiekt. Następnie dokonujemy rotacji kopii po osi Z o 90 stopni, oraz translacji po osiach Y i Z. Podłoże oraz ściana, na których będzie widoczny cień jest przygotowana: Rys 3.2. 3 Kopia powierzchni Grid Krok 2: Wprowadzamy obiekt piłki W ćwiczeniu posłużymy się standardowym obiektem jaki oferuje produkt Softimage XSI. Wyszukujemy obiektu piłki przechodząc: Model Get Primitive Polygon Mesh Soccer Ball Odpowiednio skalujemy nasz obiekt do niewielkich rozmiarów. Wpisujemy ręcznie wartość 0.1, we wszystkich kierunkach skalowania (X, Y, Z). Następnie umieszczamy nasz obiekt w odpowiednim miejscu sceny: Rys 3.2. 4 Wprowadzenie obiektu Soccer Ball 58
Krok 3: Wprowadzamy światło Wprowadzamy dodatkowe światło Spoot. Piłka, będzie głównym punktem zainteresowania światła. Jeśli dokonamy jakichkolwiek translacji na obiekcie piłki, światło będzie ją zawsze oświetlało. Wybieramy kolejno: Model Get Light Spoot Obiekt Spoot (reflektor emitujący snop światła w postaci stożka) jest wygodny, ze względu na możliwość regulacji szerokości strumienia świetlnego. Ustawiamy odpowiednie parametry dla wprowadzonego światła: Rys 3.2. 5 Wprowadzenie dodatkowego światła Zmniejszamy szerokość oświetlania Cone Angle=20. Ustawiamy kolor światła np. na jasno niebieski. Zwiększamy poziom intensywności Intensity=1. Włączamy opcję Shadows wskazywaną przez strzałkę na Rys 3.2.5. Ustawiamy obiekt światła w odpowiednim miejscu: Rys 3.2. 6 Widok sceny 59
Światło Spoot standardowo jest skierowane na własny punkt zainteresowania (Spot_Interest). Naszym celem jest skierowanie źródła światła na obiekt piłki. W tym celu zaznaczamy punkt zainteresowania i umieszczamy go w środku piłki: Rys 3.2. 7 Punkt zainteresowania światła Po ustawieniu Spot_Interest wewnątrz piłki światło jest skierowane dokładnie na piłkę. Jeśli jednak dokonamy translacji na obiekcie piłki przestanie być ona oświetlana. Musimy połączyć ze sobą obiekty piłki i punktu zainteresowania. W tym celu naciskamy klawisz 8. Pojawia się okno Explorera przedstawiające drzewo hierarchii sceny: Rys 3.2. 8 Okno Explorera Rozwijamy gałąź Spot_Root i przeciągamy lewym przyciskiem myszki element Spot_Interest na obiekt Soccer_Ball: 60
Rys 3.2. 9 Przyporządkowanie punktu zainteresowania światła obiektowi Soccer Ball Po wykonanej czynności, możemy dowolnie przesuwać piłkę. Wraz z piłką przesuwany, będzie punkt zainteresowania. W ten sposób piłka jest cały czas oświetlana. Po renderingu nasza scena wygląda następująco: Rys 3.2. 10 Scena po renderingu Krok 4: Animacja W celu wykonania animacji posłużymy się ręcznie wykonaną ścieżką za pomocą krzywej Nurbs. Przechodzimy do opcji: Model Create Curve Draw Cubic by CVs 61
W widoku Right rysujemy tor ruchu: Rys 3.2. 11 Krzywa CVs Następnie mając zaznaczony obiekt piłki nadajemy jej ścieżkę ruchu. Przechodzimy do funkcji: Animate Create Path Set Path Naciskamy w pojawiającym się oknie przycisk OK., potwierdzając chęć nadania ścieżki. Pojawia się przy kursorze myszki napis Pick. Zaznaczamy, lewym przyciskiem myszki, narysowaną przez nas krzywą: Rys 3.2. 12 Przyporządkowanie ścieżki obiektowi Soccer Ball 62
Sprawdzamy animację poprzez naciśnięcie przycisku Play z dolnego paska narzędzi i włączeniu opcji renderingu (jedna z klatek renderingu została przedstawiona na Rys 3.2.13): Rys 3.2. 13 Scena po renderingu Krok 5: Tworzymy film Konsekwencją każdej animacji, lub symulacji powinien być film. W celu nakręcenia filmu wybieramy: Render Render Render Options Pojawiające się okno zawierające opcje związane z procesem renderowania. Przechodzimy do zakładki Create Movie. Rys 3.2. 14 Zakładka Create Movie 63
Zaznaczamy (wskazywaną przez strzałkę na Rys 3.2.14) opcję i wybieramy jeden z dostępnych formatów kodowania filmów. Możemy zmienić nazwę, pod jaką film zostanie zapisany i naciskamy przycisk Render. Pojawia się okno: Rys 3.2. 15 Tworzenie filmu W celu obejrzenia stworzonego przez nas filmu przechodzimy ponownie do opcji Render Render Render Options Wyszukujemy ścieżki do filmu i naciskamy przycisk Launch_Flipbook (Rys 3.2.16): Rys 3.2. 16 Opcje renderingu 64
Powoduje to odtworzenie filmu : Rys 3.2. 17 Odtwarzacz filmu Możemy także skorzystać z programów służących do odtwarzania filmów np. Windows Media Player. 3.3 Ruch kamery Tematem tego ćwiczenia będzie ruch kamery. Wprowadzimy do sceny kamerę, której przyporządkujemy ścieżkę ruchy. Kamera będzie filmowała krajobraz z tzw. Lotu ptaka [5]. Rys 3.3. 1 65
Krok 1: Tworzymy obiekt zainteresowania W ćwiczeniu będziemy filmować krajobrazu. Wprowadzimy kulę. Odpowiednio ją przygotujemy. Następnie nałożymy na nią obraz (jpg). W tym celu przechodzimy do opcji: Model Get Primitive Surface Sphere Nadajemy jej odpowiednie wymiary i dokonujemy translacji po osi Z o wartość 30. Aby nasz obiekt posiadał cechy trójwymiarowości wycinamy ćwierć kuli w ten sposób, aby powstał następujący obiekt: Rys 3.3. 2 Obiekt Sphere Strzałka na Rys 3.3.2 wskazuje pasek, w którym należy wpisać wartość 90 w celu wycięcia ćwiartki kuli. Krok 2: Wprowadzamy tło obiektu Aby móc nałożyć obraz jpg. na obiekt musimy go przygotować i przekopiować do katalogu (standardowo C:\Softimage\XSI_4.2\Data\XSI_SAMPLES\Render_Pictures ). Jeśli obraz znajduje się w odpowiednim katalogu przechodzimy do opcji: Render Get Clip Create Clip from File 66
Pojawia się okno, w którym zaznaczamy przygotowany obraz (w naszym przypadku Widok1.jpg) i naciskamy OK. Rys 3.3. 3 Import pliku z teksturą W pojawiającym się oknie ponownie naciskamy OK. W celu nałożenia wprowadzonego obrazu na obiekt kuli przechodzimy do opcji: Render Get Texture Clip Widok1_jpg Program pyta, za pomocą wyskakującego okna, czy chcemy nałożyć obraz. Naciskamy OK, po czym pojawia się okno z widokiem naszej tekstury: Rys 3.3. 4 Nałożenie tekstury na obiekt Sphere 67
Naciskamy przycisk New wskazywany przez strzałkę na Rys 3.3.4. Wybieramy opcję UV (jeden ze sposobów nałożenia tekstury na obiekt). Po odpowiednim ustawieniu kamery i dokonaniu renderingu (All Layers) otrzymujemy następujący efekt: Rys 3.3. 5 Scena po renderingu Krok 3: Wprowadzamy kamerę Naszym celem jest wprowadzenie dodatkowej kamery. Będzie ona pełniła inną rolę niż standardowa kamera. Za pomocą standardowej kamery poruszamy się w środowisku Softimage XSI. Wprowadzona przez nas kamera skierowana jest w stronę własnego punktu zainteresowania. Jeśli dokonamy na punkcie zainteresowania jakichkolwiek translacji kamera będzie za nim podążała. Kamerę wybieramy przechodząc do opcji: Model Get Camera Perspective Pojawia się obiekt kamery i punktu zainteresowania: Rys 3.3. 6 Wprowadzenie kamery Strzałka na Rys 3.3.6 wskazuje punkt zainteresowania kamery. 68
Krok 4: Wyznaczamy tor ruchu kamery W tym celu wprowadzimy obiekt spirali. Kamera poruszając się po wyznaczonej ścieżce (spirali) będzie filmowała widok. Przechodzimy kolejno: Model Get Implicit Spiral Nadajemy spirali odpowiednie wymiary i umieszczamy ją wewnątrz wyciętej kuli. Na Rys 3.3.7 podane są przykładowe wymiary i transformacje, których dokonaliśmy na obiekcie spirali: Rys 3.3. 7 Wprowadzenie ścieżki ruchu kamery W celu wyznaczenia toru ruchu kamery (mając zaznaczoną kamerę) przechodzimy do opcji: Animate Create Path Set Path Pojawia się okno z pytaniem czy chcemy wyznaczyć ścieżkę. Klikamy OK. Przy kursorze myszki pojawia się napis Pick, po czym zaznaczamy lewym przyciskiem myszki obiekt spirali. Prawidłowo wykonana czynność powoduje pojawienie się kamery, na początku spirali, skierowanej na swój punkt zainteresowania: Rys 3.3. 8 Przyporządkowanie kamerze ścieżki ruchu 69