WSTiE WYŻSZA SZKOŁA TURYSTYKI I EKOLOGII Wydział Informatyki
Transcript of WSTiE WYŻSZA SZKOŁA TURYSTYKI I EKOLOGII Wydział Informatyki
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, renderowanie1, 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.
Edytor działań
Opcje odtwarzania
Panel animacji
Bieżąca klatka
Opcje animacji
Wstaw klucz
Pasek nazw
Drzewo animacji
Pierwsza klatka Pasek stanu animacji Ostatnia klatka
Status pracy
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 klucz2 – 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
Rys 2.1. 9 Efekt końcowy
2.2 Wiatr
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 bitmapy3 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: Render → Get → Texture → Clips → xsilogo_jpg Pojawia się podobne okno:
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 XZ4. 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
Umieszczamy punkt zainteresowania naszej kamery w odpowiednim miejscu sceny, tak aby
obiektyw kamery filmowała krajobraz. Przełączamy widok ze standardowej kamery na
(perspektywiczną) wprowadzoną przez nas:
Rys 3.3. 9 Zmiana widoku kamery
Naciskamy lewym przyciskiem myszki opcję Camera i wybieramy:
Cameras → Camera1 Powoduje to przełączenie na widok wprowadzonej kamery. Przechodząc w tryb widoku
Textured Decal (wskazywany przez strzałkę na Rys 3.3.10). Jest to pierwsza klatka widoku
kamery:
Rys 3.3. 10 Ustawienie punktu zainteresowania
70
Krok 5: Tworzymy film W celu stworzenia filmu przechodzimy do opcji: Render → Render → Render → Options Pojawia się okno, w którym wyszukujemy zakładki Format, gdzie zmieniamy kamerę:
Rys 3.3. 11 Zakładka Format
Następnie przechodzimy do zakładki Create Movie.
Zaznaczamy opcję wskazywaną przez strzałkę na Rys 3.3.12 i naciskamy przycisk Render:
Rys 3.3. 12 Zakładka Create Movie
71
3.4 Wzrost roślin
Tematem tej lekcji, będzie stworzenie krótkiej animacji wzrostu rośliny. Do tego celu
posłużymy się cząsteczkami(Particles) wydobywającymi się z powierzchni Grid.
Rys 3.4. 1 Efekt końcowy
Krok 1: Wprowadzamy elementy sceny Wprowadzamy do naszej sceny obiekt Grid. Nie zmieniamy jego standardowych właściwości
ze względu na szybszą pracę programu przy renderowaniu:
Rys 3.4. 2 Powierzchnia Grid
W celu stworzenia roślin posłużymy się funkcją, która pozwoli powierzchni Grid na
emitowanie Particles (rozprzestrzeniających się cząsteczek).
72
W tym celu przechodzimy:
Simulate → Create → Particles → From Selection Krok 2: Particles Po włączeniu animacji widać jak z powierzchni Grid wydobywają się Particles. Niestety jest
ich zbyt dużo i zbyt szybko się poruszają. To znacznie utrudni proces renderingu. Aby zwolnić
i zmniejszyć ilość wydobywających się Particles wyszukujemy w zakładce Grid_Emmision
opcji Rate i Speed. Następnie zmniejszamy ich wartości:
Rys 3.4. 3 Zakładka Grid_Emission
Ustawiamy, także w zakładce PType, wartość kolorów i współczynnika Alfa do zera.
Zaznaczamy opcję Live Forever (Rys 3.4.4):
Rys 3.4. 4 Zakładka PType
73
Krok 3: Modelowanie wzrostu W celu stworzenia wzrastającej rośliny musimy sprawić, aby z poszczególnych elementów
Particles tworzyły się (wyrastały) nowe. W tym celu, przechodzimy do zakładki Events i
naciskamy przycisk New Events. Pojawia się tabela. Ustawiamy kursor w pierwszej kolumnie
tabeli, naciskamy prawym przyciskiem myszki i wybieramy opcję Inspect Item:
Rys 3.4. 5 Zakładka Events
Powoduje to pojawienie się okna, w którym ustawiamy parametry:
Rys 3.4. 6 Opcje PEvent
Po wprowadzeniu wartości, naciskamy przycisk Create, następnie Edit (Rys 3.4.6).
74
W nowym oknie wprowadzamy wartości dla Rate, Spread i Speed:
Rys 3.4. 7 Zakładka PEvent_Emission
W dalszej części postępujemy podobnie. Zaznaczamy Particles. Przechodzimy do zakładki
Event i naciskamy przycisk New Event. Ponownie naciskamy prawym przyciskiem myszki w
pierwszej kolumnie ale w drugim wierszu tabeli. Wybieramy opcję Inspect Item:
Rys 3.4. 8 Zakładke Events
Ustawiamy odpowiednio parametry:
Rys 3.4. 9 Zakładka PEvent1
75
Ponownie naciskamy przyciski Create i Edit. Naciskamy przycisk New wskazywany przez
strzałkę na Rys 3.4.10 i ustawiamy wszystkie wartości na zero z wyjątkiem Rate=1.
Zaznaczamy także opcję Live Forever:
Rys 3.4. 10 Zakładka PEvent1_Emission
Sprawdzamy efekty naszej pracy, poprzez włączenie animacji. Następnie renderujemy jedną z
klatek animacji:
Rys 3.4. 11 Scena po renderingu
76
W tej chwili nasza roślina wygląda nienaturalnie. Rośnie prostoliniowo. W naturze nic nie
rośnie prostoliniowo. Przechodzimy do opcji:
Simulate → Inspect → Par Types → PType W oknie wyszukujemy zakładki Noise i ustawiamy wartość Position = 0.05:
Rys 3.4. 12 Zakładka Noise
Po sprawdzeniu efektu pracy widać nieliniowość rozprzestrzeniających się Particles. Krok 4: Modelowanie kształtu W celu uzyskania efektu pogrubienia rośliny przy wzroście posłużymy się „Drzewem
renderingu” (Render Tree), (klawisz 7). Pojawia się okno w którym wybieramy PType1:
Rys 3.4. 13 Edytor Render Tree
Wprowadzamy do edytora komponent, który będzie odpowiedzialny za pogrubienie Particles.
Przechodzimy w edytorze Render Tree do:
Nodes → Particles → Blob
77
Następnie łączymy ten element zgodnie z Rys 3.4.14:
Rys 3.4. 14 Wprowadzenie i schemat połączenie komponentu Particle_Blob
Dwukrotnie naciskamy na element Particle Blob i w pojawiającym się oknie ustawiamy
parametry:
Rys 3.4. 15 Opcje Render Properties
Przechodzimy do generalnych właściwości PType1: Simulate → Inspect → Par Type → PType1 W pojawiającym się oknie wyszukujemy zakładki PType1 → General i ustawiamy wartość
Size = 0.2:
78
Rys 3.4. 16 Zakładka PType1 (General)
Sprawdzamy efekt jaki uzyskaliśmy poprzez rendering jednej z klatek i otrzymujemy:
Rys 3.4. 17 Scena po renderingu
Chcemy teraz sprawić, aby roślina z wiekiem była coraz grubsza. W tym celu ustawiamy na
pierwszą klatkę animacji i zaznaczamy klucz przy opcji Size (Rys 3.4.18):
Rys 3.4. 18 Wstawienie klucza animacji
79
Przechodzimy do ostatniej klatki. Zmieniamy wartość Size =0.4, i ponownie naciskamy klucz
(powinien zmienić kolor na żółty). Po czym zmieniamy parametr Birth na Age wskazywany
przez strzałkę na Rys 3.4.19:
Rys 3.4. 19 Ustawienie opcji Age
Efektem naszej pracy jest następujący obiekt:
Rys 3.4. 20 Efekt końcowy
80
4. Ruchu szkieletu
Program Softimage XSI pozwala na modelowanie ruchu opartego na obiekcie szkieletu.
Możemy zbudować dowolny szkielet lub posłużyć się standardowym (oferowanym przez
program). Przedstawimy sposób budowy szkieletu, poznamy ogólne zasady przy budowie
szkieletu. Wykonamy krótką animację postaci.
4.1 Budowa szkieletu
Tematem tego ćwiczenia, będzie poznanie reguł, o jakich trzeba pamiętać przy tworzeniu
animacji istoty żywej. Dowiemy się jak wprowadzać poszczególne elementy szkieletu, co
robić, aby szkielet stanowił całość, jak ograniczać ruchy szkieletu, jak łączyć inne obiekty ze
szkieletem [10].
Rys 4.1. 1 Efekt końcowy
Krok 1: Tworzymy nogę szkieletu Nogę szkieletu stworzymy z trzech kości (Bone), za pomocą opcji Draw 2D Chain.
Zaczniemy od uda i łydki , następnie stworzymy stopy i palce.
Przechodzimy do opcji:
Animate → Create → Skeleton → Draw 2D Chain Kursor myszki przyjmuje kształt ołówka.
81
Modelujemy pierwszy element nogi (najlepiej w oknie widoku Right) zgodnie z Rys 4.1.2:
Rys 4.1. 2 Pierwszy element nogi (udo, łydka)
Naciskamy prawy przycisk myszki w celu odznaczenia funkcji. Następnie ponownie
wybieramy opcję Draw 2D Chain. Rozpoczynając od tego miejsca, gdzie skończyliśmy
modelować pierwszy element nogi, tworzymy stopę. Stopa podobnie jak palce, będzie się
składała z jednej kości (Bone):
Rys 4.1. 3 Drugi element (stopa)
82
Podobnie tworzymy ostatni element nogi (palce):
Rys 4.1. 4 Trzeci element (palce)
Kształt nogi mamy wymodelowany, ale na razie wszystkie te elementy są niezależne od siebie.
Jeśli dokonamy rotacji np. stopy, element tworzący palce pozostanie na swoim pierwotnym
miejscu. Aby nasza noga stanowiła całość, musimy wprowadzić „hierarchię rodzicielską”. W
tym celu zaznaczamy końcowy efektor pierwszego elementu nogi eff (uda i łydki).
Wyszukujemy z prawego paska zakładki Constrain przycisk Patent, naciskamy go (pojawia
się napis Pick przy kursorze myszki) i zaznaczamy początkowy efektor stopy Root1. Najlepiej
wykonać tą czynność w oknie Explorera (klawisz 8):
Rys 4.1. 5 Hierarchia poszczególnych elementów
Efektem prawidłowego wykonania operacji jest podświetlenie na biało elementu stopy. Tak
samo postępujemy w przypadku stopy i palców. Zaznaczamy końcowy efektor stopy eff1.
Naciskamy przycisk Parent a następnie Root2, czyli początkowy efektor palców. Nasza noga
po tej czynności stanowi całość, możemy to udowodnić dokonując rotacji np. elementu stopy
po osi Z. Spowoduje to przesunięcie palców w przestrzeni zgodnie z wartością rotacji:
83
Rys 4.1. 6 Rotacja elementu stopy
Krok 2: Ograniczanie ruchu szkieletu Zakładamy, że to będzie noga człowieka. Jak wiadomo człowiek, nie może wykręcać
dowolnie swojej nogi. Musimy wprowadzić ograniczenia ruchu. Zaznaczamy kość (Bone),
pełniącą funkcję uda nogi. Następnie naciskamy Enter. Pojawia się okno z parametrami kości.
Wyszukujemy zakładki:
Kinematic Joint → Rotation Limits Zaznaczamy opcję Active (wskazaną przez strzałkę w Rys 4.1.7) w celu aktywacji ograniczeń
ruchu. Ustawiamy parametry dla Maximum Angles i Minimum Angles:
Rys 4.1. 7 Ograniczenia ruchu dla uda
84
Podobnie czynimy z elementem tworzącym łydkę, stopę i palce nadając im realistyczne
ograniczenia.
Łydka:
Rys 4.1. 8 Ograniczenia ruchu dla łydki
Stopa:
Rys 4.1. 9 Ograniczenia ruchu dla stopy
85
Palce:
Rys 4.1. 10 Ograniczenia ruchu dla palców
Krok 3: Nakładanie obiektu na szkielet W celu nałożenia obiektu na szkielet, ustawiamy go w pozycji pionowej. Ograniczenia, będą
nam przeszkadzały, ale na ten okres czasu, możemy odznaczyć opcję Active w zakładce
Rotation Limits przy elemencie stopy i palców:
Rys 4.1. 11 Wyłączenie opcji Rotation Limits
Po ustawieniu wszystkich elementów w pionie nadajemy odpowiednie długości każdemu
elementowi nogi. Zaznaczamy poszczególne kości (Bone) i ręcznie wpisujemy im wartość,
będzie to potrzebne przy modelowaniu rozmiarów walca. Dla uda i łydki wartość Lenght = 3,
dla stopy Lenght = 2, a dla palców Lenght = 1:
86
Rys 4.1. 12 Przyporządkowanie długości dla poszczególnych kości
Wprowadzamy do sceny walec. Przechodzimy do opcji: Model → Get → Primitive → Polygon Mesh → Cylinder Ustawiamy dla niego odpowiednie parametry tak, aby szkielet znalazł się w jego wnętrzu:
Rys 4.1. 13 Wprowadzenie walca
Musimy sprawić, aby oba elementy (walec, szkielet) stały się zależne od siebie. W tym celu
mając zaznaczony obiekt walca przechodzimy kolejno:
Animate → Deform → Envelope → Set Envelope Przy kursorze myszki pojawia się napis Pick, zaznaczamy lewym przyciskiem myszki
poszczególne kości nie zapominając o początkowych i końcowych efektorach każdego
elementu nogi. Następnie prawym przyciskiem myszki, wychodzimy z funkcji SetEnvelope.
Powoduje to zmianę koloru szkieletu. Każda kość (Bone) szkieletu przyjmuje inny kolor.
87
Punkty walca, w których umocowaliśmy szkielet, także przyjmują różne kolory. Przy czym
kolor punktu jest zgodny z kolorem połączonej kości.
Rys 4.1. 14 Nakładanie walca na szkielet
Od tej pory wszelkie transformacje jakie dokonamy na obiekcie szkieletu spowodują
deformację obiektu walca. Ponownie włączamy opcje Active zakładki Rotation Limits, które
wcześniej wyłączyliśmy dla stopy i palców. Wracamy do poprzednich wymiarów nogi nadając
np. wartość Lenght = 5 dla uda, Lenght = 4 dla łydki. Modelujemy kształt nogi i otrzymujemy
ostateczny efekt:
Rys 4.1. 15 Efekt końcowy
88
4.2 Animacja postaci
Tematem tego ćwiczenia, będzie animacja ruchu postaci. Dowiemy się jak kierować
ruchem standardowego szkieletu oferowanego przez produkt Softimage XSI [11].
Rys 4.2. 1 Efekt końcowy
Krok 1: Wprowadzamy szkielet i postać W celu wprowadzenia szkieletu przechodzimy do opcji: Model → Get → Primitive → Model → Skeleton-Man-Complete Mamy do dyspozycji zarówno szkielet mężczyzny jak i kobiety. Możemy także wybrać między
szkieletem podstawowym Skeleton-Man-Basic a kompletnym, który wybraliśmy:
Rys 4.2. 2 Wprowadzenie szkieletu
89
Dalej wprowadzimy ciało mężczyzny podobnie jak szkielet. Pamiętamy, żeby nie przestawić
wprowadzonego szkieletu, ponieważ na niego będzie nałożony obiekt ciała.
Przechodzimy kolejno:
Model → Get → Primitive → Model → Body-Man Oba elementy powinny idealnie pasować do siebie:
Rys 4.2. 3 Wprowadzenie ciała
Krok 2: Połączenie szkieletu z ciałem W celu połączenia szkieletu z obiektem ciała musimy użyć odpowiedniej funkcji. Zaznaczamy
obiekt ciała i przechodzimy do opcji:
Animate → Deform → Envelope → Set Envelope W wyskakującym okienku naciskamy OK w celu potwierdzenia operacji. Przy kursorze
myszki pojawia się napis Pick. Lewym przyciskiem myszki zaznaczamy cały szkielet, dla
pewności, aby nie pominąć żadnego elementu, podobnie jak na rysunku Rys 4.2.4:
90
Rys 4.2. 4 Nakładanie ciała na szkielet
Następnie prawym przyciskiem myszki wychodzimy z opcji. Prawidłowo wykonana operacja
powinna spowodować podświetlenie całego szkieletu oraz punktów obiektu ciała w różnych
kolorach:
Rys 4.2. 5 Postać przygotowana do animacji
Nasza postać jest przygotowana do animacji
91
Krok 3: Ruch szkieletu Pokażemy teraz w jaki sposób można poruszać postacią. Warunkiem wykonania realistycznej
animacji jest wyobrażenia sobie jak dana istota (w naszym przypadku człowiek), porusza się.
Mamy kilka możliwości ruchu szkieletu:
Rotacja Rotacja – Polega na tym, że zaznaczamy dowolną kość szkieletu (Bone) i dokonujemy rotacji
po określonej osi. Należy pamiętać o ograniczeniach fizycznych postaci:
Rys 4.2. 6 Rotacja jednej z kości
Translacja Translacja – polega na złapaniu odpowiedniego efektora kości (szkielet w programie posiada
takie efektory w kostkach, nadgarstkach, karku i pasie) oraz dokonaniu na nim translacji po
odpowiedniej osi. Nie należy pomylić efektorów, ponieważ zaznaczenie nieodpowiedniego
efektora spowoduje rozciągnięcie postaci. W celu łatwiejszego znalezienia i odpowiedniego
efektora możemy użyć Explorera (klawisz 8) lub przejść w tryb wyświetlania Bounding Box:
92
Rys 4.2. 7 Translacja efektora kostki
Translacja takiego efektora powoduje ruch wszystkich kości przyległych do niego. Można w
ten sposób tworzyć bardzo realistyczne animacje postaci. Najważniejsza jest znajomość
kinematyki ruchu postaci. Po powrocie do trybu wyświetlania np. Shaded otrzymujemy:
Rys 4.2. 8 Widok w trybie Shaded
93
Krok 4: Krótka animacja Nasza animacja, będzie przedstawiała ćwiczenie sportowe, jakim jest skłon. Ustawiamy na
baczność naszą postać.. Zaznaczamy efektory nadgarstków i dokonujemy translacji ich przed
siebie:
Rys 4.2. 9 Pozycja początkowa
Następnie zaznaczamy Efektor karku i stopniowo zginamy naszą postać do przodu nie
zapominając o zaznaczaniu kluczy animacji i przechodzeniu do kolejnych klatek animacji:
Rys 4.2. 10 Efekt końcowy
94
Podsumowanie.
Praca inżynierska „SOFTIMAGE|XSI - podręcznik animacji”, wprowadza czytelnika
w możliwości, jakie daje program SOFTIMAGE|XSI 4.2 w tworzeniu animacji w grafice
komputerowej.
W pierwszym rozdziale, czytelnik jest zapoznany z funkcjami interfejsu programu XSI
4.2 znajdujące się w zakładkach: Animacja (Animate), Symulacja (Simulate) oraz Odtwarzanie
(Playback). Następne rozdziały, tj.: „Symulacje zjawisk fizycznych”, „Ruch podstawa
animacji”, „Ruch szkieletu”, zawierają ćwiczenia praktyczne. Ćwiczenia są tak opracowane,
aby czytelnik na wstępie zapoznał, się z tematem i efektem końcowym, jaki należy osiągnąć,
po wykonaniu ciągu poleceń, prezentowanych w ćwiczeniu. Sekwencja poleceń jest podzielona
obrazami, które pokazują zmiany na ekranie, powstałe w skutek wykonania określonej
operacji. Ćwiczenia w prosty sposób wprowadzają czytelnika w świat animacji, a przyjazny
interfejs pozwala na samodzielne próby modyfikacji przedstawionych przykładów . Czytelnik
samodzielnie może poznać zasady pracy i możliwości oprogramowania firmy SOFTIMAGE.
Prezentowany podręcznik animacji o programie Softimage XSI, może być
wykorzystany jako dodatkowa pomoc praktyczna dla studentów w nauce grafiki
komputerowej, lub wprowadzenie dla pasjonatów grafiki komputerowej, bez zgłębiania teorii
opartej na fizyce i matematyce.
Na rynku księgarskim jest obecnie tylko jedna pozycja w języku polskim, opisująca
zasady pracy w programie SOFTIMAGE|XSI. W książce pt. „SOFTIMAGE XSI Podstawy”,
autor Paweł Krzemiński, opisuje możliwości programu XSI, na przykładach statycznych
elementów sceny. Nasza praca inżynierska może być uzupełnieniem pracy pana
Krzemińskiego.
Praca inżynierska „SOFTIMAGE|XSI - podręcznik animacji”, nie ukazuje wszystkich
możliwości tego produktu. Ograniczona wielkość pracy inżynierskiej i krótki czas na jej
przygotowanie, pozwoliły tylko na ukazanie przysłowiowego wierzchołka góry lodowej
możliwości, jakie daje użytkownikowi program SOFTIMAGE|XSI. Z ciekawych tematów,
które należałoby naszym zdaniem rozwinąć, to np.: wzajemne zależności obiektów, montaż
poszczególnych scen, nagrywanie dźwięku do animacji.
W naszym podręczniku w przystępny sposób, pokazaliśmy podstawy animacji
komputerowej. Liczymy, że czytelnik nie poprzestanie na prostych ćwiczeniach, ale będzie
sam próbował wykorzystać SOFTIMAGE|XSI do realizacji większych projektów, bo jest to
95
narzędzie o dużych możliwościach. Poznając taki program, zwiększamy swoje szanse na rynku
pracy. Już 1990 roku panowie J.D. FOLEY, A. VAN DAM, S.K. FEINER, J.F. HUGHES w
swej książce „Computer Graphics. Principles and Practice” widzieli zastosowanie grafiki
komputerowej w: „..graficznych systemach konwersacyjnych z użytkownikiem komputera,
kreśleniu wykresów i rysunków technicznych, komputerowym składzie drukarskim,
wspomaganie komputerowo projektów architektonicznych oraz projektowaniu form i wyrobów
przemysłowych, symulacji i animacji zjawisk fizycznych, chemicznych i biologicznych,
kartografii, wizualizacji danych medycznych, symulatorach lotów, filmie (też animowany) i
grach komputerowych…”[2] Dziś możemy powiedzieć, że długa lista z 1990 roku, jeszcze się
zwiększyła o np. reklamę, przemysł muzyczny czy symulatory. Zapotrzebowanie na grafikę
komputerową stale rośnie.
Przygodę z grafiką komputerową , można zacząć od „SOFTIMAGE|XSI - podręcznik
animacji”.
96
Bibliografia [1] Chrząszcz J., Kożuszek R., Mazur G., Myrcha J., Pająk A., Raczkowski J., Rokita P.,
Rzeszut J., Stępień C., Zabrocki J., Zalewski P.: Grafika Komputerowa metody i
narzędzia. WNT Warszawa. 1994.
[2] Foley J. D., Van Dam A., Feiner S. K., Hughes J. F : Computer Graphics. Principles
and Practice. New York, 1990.
[3] Czasopismo - Komputer Arts, Programy do animacji 3D, luty 2002.
[4] Krzemiński P.: SOFTIMAGE XSI – Podstawy. Helion 2002.
[5] Harriss E.: BASIC of the SOFTIMAGE|XSI interface. http://www.edharriss.com/
[6] Softimage Co.: SOFTIMAGE|XSI Foundation Trial. www.softimage.com/dowland/
[7] Softimage Co.: Tutorials . www.softimage.com/education
[8] Leporelli Fabio - http://digilander.libero.it/XSI2/Fire.htm
[9] 3Dlinks - http://www.3dlinks.com/links.cfm?categoryid=13&subcategoryid=117
[10] Xsifiles - http://www.xsifiles.com/
[11] Szuba T.: Wykłady – Grafika komputerowa, WSTiE Sucha Beskidzka. 2005.
[12] Zespół Wydawnictwa WILGA pod kierunkiem Anny Sikorskiej-Michalak i Olgi
Wojniłko:SŁOWNIK WSPÓŁCZESNEGO JĘZYKA POLSKIEGO, Warszawa 1998
97