260 likes | 395 Views
Geometria obrazu Wykład 15. Animacja komputerowa. Animacja komputerowa to sztuka tworzenia ruchomych obrazów z użyciem komputera, tzn. sekwencji statycznych, różniących się od siebie obrazów, powiązanych w logiczną całość i wyświetlanych z odpowiednią prędkością dającą wrażenie ruchu.
E N D
Geometria obrazuWykład 15 • Animacja komputerowa.
Animacja komputerowa to sztuka tworzenia ruchomych obrazów z użyciem komputera, tzn. sekwencji statycznych, różniących się od siebie obrazów, powiązanych w logiczną całość i wyświetlanych z odpowiednią prędkością dającą wrażenie ruchu. Składa się z klatek, które powinny być wyświetlane z prędkością co najmniej 12 klatek na sekundę (fps), aby ludzkie oko miało wrażenie ruchu. Zazwyczaj klatki zmieniają się z prędkością 15 – 24 fps. Standard filmowy – 24fps. Standard TV w Europie -25 fps. Standard TV w USA – 30 fps. Powyżej prędkości 70 fps człowiek nie zauważa wzrostu płynności ruchu.
Różnice pomiędzy kolejnymi klatkami nie powinny być zbyt wielkie i mogą polegać na zmianach : • położenia obiektów, ich kształtu i rozmiaru, barwy, tekstury itp., • położenia, orientacji i natężenia źródeł światła, • oddziaływania między obiektami. [pl.123rf.com]
Zastosowania: - gry komputerowe, - filmy animowane i reklamy, - efekty specjalne w filmach, • prezentacje multimedialne, • wizualizacja danych lub procesów, - pokazy architektoniczne, - edukacja (np. symulatory), - sztuka.
Aby zwiększyć odczucie płynności obrazu w przypadku szybko poruszających się obiektów można zastosować tzw. rozmycie ruchu (motion blur) wykorzystując w tym celu np. odpowiedni filtr. [www.techiwarehouse.com]
Klatki animacji mogą być generowane w czasie rzeczywistym (np. w grach komputerowych) co pociąga za sobą konieczność zapewnienia odpowiednio dużej mocy obliczeniowej. Mogą też zostać stworzone wcześniej a następnie wyświetlone (np. w filmie animowanym). To wymaga dużej pamięci. Druga z tych metod była stosowana w przypadku animacji analogowych. Było to bardzo czasochłonne.
Zalety komputerowych metod animacji: - łatwiejsze tworzenie klatek, - możliwość przekształceń obrazu (np. zmiana położenia obiektów), - automatyczne generowanie sekwencji klatek (np. interpolacja ), - efekty specjalne, - łatwa i bezpieczna archiwizacja, - możliwość wyboru sposobu animacji między realistyczną a stylizowaną.
Rodzaje animacji komputerowej: • animacja poklatkowa – każda klatka jest tworzona oddzielnie (mało efektywna i czasochłonna, aby ją usprawnić można zapamiętywać jedynie różnice między klatkami), stosowana np. w grach, • zastosowanie ramek kluczowych – generowane są wybrane klatki (głównie definiujące ruch obiektów – problem: jak je wybrać ?), a pozostałe są interpolowane – stosowane w filmach animowanych, - skrypty – opisują zmianę właściwości obiektów (położenia, wyglądu), stosowane np. w grach, - animacja interaktywna – obiekty są sterowane przez użytkownika.
Tworzenie animacji. Dla każdego obiektu definiuje się zmienne animacji (avars) odpowiadające wybranym punktom obiektu i kontrolujące zmiany ich położenia. Ruch obiektu jest opisywany poprzez wykres ruchu (motion graph) definiujący położenie, prędkość poruszania się, obroty itp. Metody opisu ruchu: - kinematyczna - dokładne określanie ruchu obiektów w czasie, • parametryczna – obliczanie pozycji obiektu na podstawie danych jego parametrów, • dynamiczna – określanie ruchu na podstawie praw fizyki, • hybrydowa.
Jeśli chcemy, aby dany obiekt zachowywał się w sposób naturalny, to powinniśmy uwzględnić, że na fizyczny model jego ruchu składają się następujące parametry: - kierunek ruchu, - prędkość, przyspieszenie, - grawitacja, - tarcie, - sprężystość (zderzenia, odbicia), • trwałe odkształcenia, uszkodzenia, itp. W tym celu powinniśmy: - zdefiniować model fizyczny (odpowiednie równania), - określić warunki początkowe, - wykonać obliczenia ruchu obiektu.
Fizyczne modele opisu ruchu. Rigid body dynamics– metoda stosowana do opisu ruchu ciał sztywnych pod wpływem sił zewnętrznych i siły grawitacji z uwzględnieniem tarcia oraz odbić. Nie uwzględnia odkształceń obiektu. Ciało sztywne porusza się ruchem liniowym oraz obrotowym. Soft body dynamics - metoda, która w przeciwieństwie do poprzedniej uwzględnia również odkształcenia i uszkodzenia obiektów (zmiany rozkładu masy). Metoda ta daje bardziej realistyczne efekty. Jednak jest bardziej złożona obliczeniowo. Ma zastosowanie np. w nowszych grach.
Ograniczenia ruchu obiektów. Zwykle nakładamy pewne ograniczenia na ruch obiektów takie jak np. • obiekt nie może przeniknąć przez ścianę (ograniczenia proste), • kości muszą poruszać się w określony sposób względem siebie (ograniczenia złożone). Zachowanie się przedmiotów można dość dokładnie opisać prawami fizyki, ale nie można w ten sam sposób modelować postępowania ludzi i zwierząt – tu mamy do czynienia z zachowaniami indywidualnymi. Tu przydają się algorytmy sztucznej inteligencji.
Łączenie hierarchiczne stosuje się w animacji postaci do powiązania ze sobą poszczególnych segmentów postaci lub kości szkieletu. Hierarchia ta pozwala określić zależności pomiędzy elementami majacymi ze sobą zwiazek: - animowanie sekwencyjne (forward kinematics) – zmiana położenia „rodzica” wpływa na pozycje jego potomków, - odwrotna kinematyka (inverse kinematics) – przemieszczające się obiekty potomne powodują ruch obiektów będących ich rodzicami.
Przykład. [wiki.ega.org.pl]
Animacja z użyciem systemu kości. Postać jest reprezentowana za pomocą ciągłej siatki złożonej z wielokątów. System kości tworzy szkielet, który pełni funkcję pomocniczą i nie jest renderowany. Szkielet musi być dokładnie dopasowany do siatki modelującej postać. Przy budowie szkieletu można posługiwać się połączeniami hierarchicznymi. Ruch postaci symulowany jest przez odkształcanie siatki pod wpływem ruchu kości szkieletu.
Przykład. [www.adobe.com]
Powiązanie szkieletu z siatką: - bezpośrednie przypisanie: do każdego wierzchołka siatki przypisana jest określona kość lub grupa kości (metoda mało dokładna), - metoda obwiedni (envelopes): do wierzchołka siatki przypisywanych jest wiele kości szkieletu (lub odwrotnie), z rożnymi wagami definiującymi hierarchię połączeń.
Morph target (lub per-vertex) animation. Metoda animacji alternatywna do szkieletowej, stosowana również jako jej uzupełnienie (np. do animacji twarzy). W metodzie tej definiuje się początkową i końcową pozycję werteksów siatki wielokątowej. Następnie obliczane są stany pośrednie pozycji werteksów. Metoda ta jest znacznie bardziej złożona obliczeniowo od szkieletowej, ale daje większą kontrolę nad uzyskanym efektem animacji. FACS (Facial Action Coding System) to opracowany w 1976 r. system klasyfikujący 46 podstawowych wyrazów twarzy. Z jego pomocą poszczególne ruchy twarzy mogą zostać zaimplementowane jako procedury modyfikujące siatkę wielokątową.
Przykład. [en.wikipedia.org]
Metoda motioncapture polega na rejestrowaniu ruchów za pomocą sensorów umieszczonych na ciele aktora. Ich ruch rejestruje specjalna kamera. Zarejestrowane przez kamerę ruchy znaczników są przenoszone do komputera. W komputerze powstaje szkielet (model ruchu), który można wykorzystać do animacji postaci wirtualnej.
Przykład. [wiki.ega.org.pl]
Ragdoll animation („animacja szmacianej kukły”) to metoda stosowana do uzyskania realistycznego ruchu bezwładnej postaci. Stosowana zwykle w grach komputerowych do animacji „zabitych wrogów” oraz np. postaci spadającej ze schodów. Wykorzystuje ona animację szkieletową, a poszczególne elementy szkieletu są traktowane jako ciała sztywne. Jest to dość prosta metoda, współczesne gry stosują bardziej wyrafinowane algorytmy.
Przykład. [blog.wolfire.com]
Dodatkowe zwiększenie efektu wizualnego animacji komputerowej można uzyskać poprzez animację kamery i źródła światła. Animacja kamery polega na zmianie położenia punktu obserwacji. Kamera może przemieszczać się po rożnych torach, z rożną prędkością, obracając się, zmieniając powiększenie i ostrość. Źródło światła może zmieniać swoje położenie, barwę światła, poziom jasności, rozwartość stożka światła, itp.
Schemat powstania filmu animowanego. [en.wikipedia.org]