Animacja komputerowa dr inż. Piotr Steć
Plan wykładu Animacja tradycyjna Cykl produkcji Podstawy animacji Techniki produkcyjne Animacja komputerowa Cykl produkcji Klatki kluczowe i interpolacja Kinematyka prosta Kinematyka odwrotna Dynamika Systemy cząsteczek Symulacja materiałów
Cykl produkcji tradycyjnej animacji 1. Scenariusz. Projektowanie postaci 3. Storyboard 4. Klatki kluczowe Inbetweens Czyszczenie (cleanup) Zdjęcia
Scenariusz Przedstawia pewną historię Tradycyjna konstrukcja: wprowadzenie, rozwinięcie, zakończenie Dodatkowe informacje ułatwiające dalszą pracę: informacje na temat lokalizacji, ujęć, efektów, itp. Odpowiednie formatowanie ułatwia dalszą pracę
Format scenariusza Czcionka Courier 1pt Marginesy: górny: 1,9 cm,5 cm dolny: 1,3 cm 3,8 cm lewy: 3,8 cm 5,1 cm prawy:,5cm Marginesy dialogów: lewy: 7,6 cm prawy: 5,8 cm Marginesy dodatkowych opisów w nawiasach: lewy: 9,4 cm prawy: 7,6 cm Pierwsza linia zawiera wyrównany do prawej numer strony zakończony kropką
Format scenariusza c.d. Podział na sceny z zaznaczeniem otoczenia i pory dnia: WN. KORYTARZ PRZED SALĄ EGZAMINACYJNĄ RANO WN. wnętrze PL. plener Efekty wejścia i wyjścia sceny Dialogi z podziałem na role i notatkami
Przykład scenariusza
Projektowanie postaci Techniki tradycyjne: szkice modele
Projektowanie postaci
Storyboard Obrazkowy szkic scen Pokazuje ujęcia i czas ich trwania Opisuje ruch kamery i przejścia pomiędzy ujęciami Opisuje główny ruch aktorów Zwykle szkic na papierze w ramkach o proporcjach ekranu
Storyboard (Dawno temu w trawie)
Storyboard (Jaskiniowcy)
Klatki kluczowe W tradycyjnej animacji: klatki rysowane przez głównego rysownika pokazujące główne fazy ruchu postaci Zawierają linie pomocnicze i ścieżki ruchu Zawierają informację o rodzaju i szybkości ruchu, oraz ilości klatek pośrednich
Klatki kluczowe
Inbetweens Proces dorysowywania klatek pośrednich pomiędzy klatkami kluczowymi Zwykle wykonywany przez asystentów głównego animatora
Czyszczenie klatek (cleanup) szkic wyczyszczony rysunek
Zdjęcia kamera oświetlenie animowana postać tło 1. warstwa tło. warstwa
Panoramiczne tło (Pinokio) Panorama o wielu perspektywach
Cykl produkcyjny animacji komputerowej 1. Scenariusz. Projektowanie postaci 3. Storyboard 4. Modelowanie 5. Kompozycja scen 6. Oświetlenie 7. Animacja 8. Cieniowanie i teksturowanie 9. Rendering 10. Postprodukcja
Modelowanie
Kompozycja scen
Scena bez tekstur i cieni
Gotowa scena
Rendering Wymaga dużych mocy obliczeniowych Pojedyncza klatka animacji może renderować się nawet kilka godzin (przeciętnie kilka minut) 1 min. filmu kinowego to 1440 klatek Przy dużych produkcjach stosuje sięrendering sieciowy, z użyciem wielu komputerów
Postprodukcja Montaż Przejścia efektowe Synchronizacja dźwięku Efekty specjalne Napisy
Podstawowe techniki animacji Przyśpieszenie, opóźnienie Ściskanie i rozciąganie Kompozycja czasowa (timing) Akcje drugorzędne Trajektorie
Ruch jednostajny
Przyśpieszenie, opóźnienie
Ściskanie i rozciąganie
Kompozycja czasowa (timing) Timing ma wpływ na odbieraną wagę: Lekkie obiekty poruszają się szybko Ciężkie obiekty poruszają się wolno Szybkość wykonywanego ruchu bardzo mocno wpływa na jego interpretację Chuck Jones (WB): "The difference between the right timing and the almost right timing, is the difference between lightning and a lightning bug."
Różna szybkość, różne znaczenia rozglądanie się nie uderzenie
Który obiekt jest cięższy?
Akcje drugorzędne Reakcja na działanie postaci Ruch drobniejszych elementów związanych z ruchem obiektu Przykłady: Machanie rękami podczas chodzenia Falowanie włosów Rozchylanie się trawy pod toczącą się piłką Akcje drugorzędne mają olbrzymi wpływ na realizm animacji
Akcje drugorzędne
Trajektorie animacji W przypadku animacji obiektów fizycznych, trajektoria ich ruchu powinna odpowiadać naturze Wszystkie ruchy animowanej postaci powinny odbywać się po łuku
Trajektorie animacji
Przewidywanie Ruch powinien być poprzedzony akcją wprowadzającą W przypadku animacji tradycyjnej gesty są zwykle przerysowane Przy zachowaniu dużego realizmu, akcje te powinny być bardziej subtelne
Klatki kluczowe i interpolacja Interpolacja liniowa
Klatki kluczowe i interpolacja Interpolacja wielomianowa
Klatki kluczowe i interpolacja Interpolacja spline'ami
Kinematyka Kinematyka jest nauką o ruchu, która nie uwzględnia sił powodujących ruch W animacjach komputerowych stosuje się dwa podejścia do kinematyki: Kinematykę prostą (forward kinematics) Kinematykę odwrotną (inverse kinematics) Kinematykę stosuje się głównie do animacji obiektów, które składają się ze sztywnych segmentów połączonych przegubami
Rodzaje przegubów Przegub obrotowy Przegub teleskopowy
Kinematyka prosta Dwa segmenty połączone przegubami efektor X ( l cosθ + l cos( Θ + Θ ), l sin Θ + ( Θ + Θ )) = l 1 1 1 1 1 sin 1
Kinematyka prosta Ruch przegubów określony przez krzywe
Kinematyka prosta Ruch może być też określony przez warunki początkowe i prędkości Θ 1 dθ dt (0) = 60 1 = 1, Θ dθ dt (0) = 40 = 0,1
Właściwości prostej kinematyki Przeguby mogą być teleskopowe lub obrotowe o 1, albo 3 stopniach swobody Segmenty łączone przegubami muszą tworzyć strukturę hierarchiczną Problem z uzyskaniem pożądanego położenia końca układu (efektora)
Kinematyka odwrotna Animator określa położenie efektora Komputer oblicza kąty obrotu stawów efektor Θ Θ 1 = = ( l sin( Θ )) x + ( l1 + l cos( Θ )) ( l sin( Θ )) y + ( l + l cos( Θ )) cos 1 x + x l l l 1 1 1 l y x
Kiedy używać odwrotnej kinematyki Postać podnosi przedmioty Stawianie kroków Wszystkie sytuacje, gdzie istotne jest położenie końca struktury (dłoni, stóp)
Problemy z odwrotną kinematyką Uzyskanie naturalnego sposobu poruszania się postaci Osobliwości równań Niejednoznaczne rozwiązania równań (efektor może być w tym samym miejscu dla wielu ustawień przegubów)
Bardziej skomplikowane struktury Trzy niewiadome (kąty), dwa równania (x,y)
Umożliwienie obliczania skomplikowanych struktur Odnajdywanie najlepszego rozwiązania (minimalizacja energii) Optymalizacja nieliniowa Wprowadzanie dodatkowych ograniczeń na ruchomość stawów (pozwala odrzucić część rozwiązań)
Przechwytywanie ruchu (motion capture) Systemy pozwalające rejestrować ruch aktorów W stawach aktora umieszczane czujniki położenia Położenie próbkowane z odpowiednią częstotliwością Technika często wykorzystywana w zaawansowanych (czyt. kosztownych) animacjach W filmach pozwala zastąpić żywego aktora wirtualnym
Przechwytywanie ruchu (motion capture) Zalety: Ruch rejestrowany w naturalnym środowisku Dokładny zapis ruchu postaci wraz z ruchami pobocznymi Pozwala na realistyczną animację postaci Wady: Dane trudne do edycji Szum Przesunięcia w stosunku do rzeczywistych położeń
Urządzenia przechwytujące Optyczne Magnetyczne Mechaniczne
Dynamika Sposób animacji poprzez symulację naturalnego świata Animator określa warunki początkowe, właściwości obiektów, oraz siły zewnętrzne Bardzo kosztowna obliczeniowo ale daje bardzo realistyczne efekty, niemożliwe do uzyskania innymi technikami
Detekcja kolizji
Odbicie kuli od płaszczyzny v p v n v v n v n v p v = v + v n p v = v v p n v n v = ( v n)n = v v p n Odbicie idealnie elastyczne. Brak strat energii.
Kolizja dwóch sfer U1 i U wektory prędkości w momencie zderzenia X wektor łączący środki sfer U1x, Ux projekcje wektorów prędkości na wektor X U1y, Uy projekcje wektorów prędkości na wektory prostopadłe do X U1y U1x U1 U X U x U y
Kolizja dwóch sfer Kolizja dwóch sfer U1y x U1 x U U y 1 U U X ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) y V x V V y V x V V y U y V y U y V M M M x U x U M x U M x U x V M M M x U x U M x U M x U x V x U U y U U X X x U x U U y U U X X x U X X X środek środek X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1) ( + = + = = = + + = + + = = = = = = = M1, M masy sfer V1,V prędkości po zderzeniu
Problemy związane z detekcją kolizji Dyskretyzacja czasu (w jednej chwili obiekt może być przed, w drugiej za przeszkodą) Obiekty o skomplikowanych kształtach (zastępowane przez proxy) Obiekty wirujące Uwzględnianie tarcia Zderzenia miękkich obiektów
Zderzenia miękkich obiektów
Systemy cząsteczek Popularna technika symulacji zjawisk fizycznych Cząsteczka jest punktem o skończonej masie i określonym czasie życia Cząsteczki zwykle nie kolidują ze sobą nawzajem Cząsteczki wydobywają się z tzw. emiterów, które nadają im początkową prędkość Do symulacji używa się bardzo dużych ilości cząsteczek
Zjawiska symulowane systemami cząsteczek Ogień Dym Chmury Odłamki i iskry Woda Zachowania stadne
Ruch cząsteczki w polu siłowym Symulacja następuje w dyskretnych odstępach czasowych Wynikowa siła jest sumą wszystkich sił działających na cząsteczkę (grawitacja, wiatr, turbulencje, itp.) Przyśpieszenie = Siła/Masa Nowa_Prędkość = Stara_Pdkość + Przyśpieszenie * Krok_Czasu Nowa_Pozycja = Stara_Pozycja + Nowa_Prędkość * Krok_Czasu
Przykłady zastosowań systemów cząsteczek