mały|Przykład animacji komputerowej Animacja komputerowa – sztuka tworzenia ruchomych obiektów z wykorzystaniem komputerów. Jest dziedziną grafiki komputerowej i animacji. W coraz większym zakresie jest ona realizowana jako animacja 3D (trójwymiarowa), choć w zastosowaniach dysponujących niską przepustowością sprzętową i wymagających przetwarzania obrazów w czasie rzeczywistym cały czas ważną pozycję utrzymuje animacja 2D (dwuwymiarowa, płaska). Czasami docelowym medium animacji jest sam system komputerowy, ale zdarza się, że animacja przeznaczona jest dla innych mediów, takich jak film. Animację komputerową czasami określa się skrótem CGI (od ang. Computer Generated Imagery, lub Computer Generated Imaging) – szczególnie w zastosowaniach kinematograficznych.
By stworzyć iluzję ruchu, na ekranie komputera wyświetlany jest określony obraz, po czym szybko zamienia się go na następny – podobny do poprzedniego, lecz z nieznacznymi zmianami w pozycji obiektów. Technika ta jest identyczna z zastosowaniami telewizyjnymi i kinowymi.
Animacja komputerowa jest generalnie rzecz biorąc cyfrowym spadkobiercą sztuki animacji nieruchomych obiektów trójwymiarowych (np. kukiełek) i animacji poklatkowej ilustracji płaskich. W przypadku animacji 3D, obiekty (modele) budowane (modelowane) są na ekranie komputera, po czym trójwymiarowe figury otrzymują wirtualny szkielet. W przypadku animacji płaskich, korzysta się z oddzielnych obiektów (ilustracji) i oddzielnych przezroczystych warstw, nie zawsze zaś z wirtualnych szkieletów. Kończyny, oczy, usta, czy ubrania modelu są następnie poruszane przez animatora w kolejnych klatkach kluczowych. Różnice wyglądu między klatkami kluczowymi są następnie przeliczane przez komputer, korzystając z procesów tweeningu i morfingu. Ostatnim stadium prac jest renderowanie.
W przypadku animacji trójwymiarowych konieczny jest rendering wszystkich klatek po zakończeniu modelowania. W pracach nad dwuwymiarowymi animacjami wektorowymi, proces renderingu jest tożsamy ze stworzeniem każdej klatki kluczowej, zaś klatki pośrednie są renderowane w razie potrzeb. W przypadku prezentacji, które są przeznaczone do późniejszego odtworzenia, wyrenderowane klatki są przenoszone do postaci filmu cyfrowego, lub na zewnętrzne medium (np. film). Poszczególne klatki mogą również być renderowane w czasie rzeczywistym, w trakcie przeprowadzania prezentacji materiału wideo. Animacje przesyłane przez Internet i zadowalające się niską przepustowością łącza (dwuwymiarowe animacje Flash, X3D) często korzystają z oprogramowania zainstalowanego na komputerze klienta, które renderuje materiał w czasie rzeczywistym, co stanowi przeciwwagę dla materiału przygotowanego wcześniej i przesyłanego strumieniowo przez łącza o dużej szybkości.
Prosty przykład 146px|thumb|Przykład animacji komputerowej 200px|thumb|Animacja Ziemi (w stronę przeciwną do rzeczywistego obrotu)
Ekran jest zapełniony kolorem tła, w tym wypadku czarnym. Z prawej strony ekranu rysowana jest koza. Następnie ekran jest ponownie zamazywany kolorem tła, ale koza rysowana jest nieco na lewo od swojej poprzedniej pozycji. Proces jest powtarzany, zaś koza za każdym razem przesuwa się nieco w lewo. Jeśli powtórzenia nastąpią wystarczająco szybko, tworzy się iluzja kozy sunącej gładko w lewo. Ta podstawowa procedura jest szeroko wykorzystywana w telewizji i filmie.
Poruszająca się koza jest prostym przykładem animacji opartym na przemieszczaniu obiektu na ekranie. Bardziej skomplikowane modyfikacje cech animowanego obiektu (rozmiar, kształt, efekty oświetlenia) często wymagają skomplikowanych obliczeń i renderowania za pomocą komputera, nie zaś prostej duplikacji.
Wyjaśnienie zjawiska animacji By oko i mózg dały się nabrać na iluzję gładko poruszającego się obiektu, kolejne klatki animacji (kompletne obrazy) powinny się pojawiać z częstotliwością co najmniej 12 razy na sekundę. Jeśli zmiany będą następować szybciej, niż 70 razy na sekundę, widz nie odczuje zwiększonego realizmu, czy gładkości animacji, co jest związane ze specyfiką przetwarzania obrazu przez oczy i mózg. Gdy częstotliwość pojawiania się nowych klatek spada poniżej 12 razy na sekundę, większość obserwatorów odczuwa „rwanie” się animacji i zauważa proces pojawiania się kolejnych klatek, co psuje iluzję realistycznie płynnego ruchu. Tradycyjnie animowane kreskówki podają widzowi w ciągu sekundy 15 nowych klatek obrazu, by możliwa była oszczędność w ilości niezbędnych do wykonania rysunków. Takie rozwiązanie jest jednak najczęściej do zaakceptowania, ze względu na samą naturę filmów rysunkowych. Przez fakt, że animacja komputerowa przedstawia widzom o wiele bardziej realistyczne efekty, w celu osiągnięcia zamierzonego efektu płynności wymagana jest większa ilość klatek przedstawianych w ciągu sekundy.
Przyczyna tego, że oko ludzkie nie odczuwa „rwania się” animacji przy wyższych częstotliwościach odświeżania obrazu leży w efekcie powidoku. Od czasu do czasu oko pracujące razem z mózgiem przechowuje obserwowane obrazy przez ułamek sekundy i wygładza automatycznie pomniejsze przeskoki. Filmy wyświetlane w kinach najczęściej w ciągu sekundy prezentują 24 klatki, co jest ilością absolutnie wystarczającą do stworzenia złudzenia ciągłego ruchu. Wiele osób daje się „nabrać” na efekt poruszania się obrazów właśnie ze względu na dużą szybkość ich prezentacji.
Tworzenie postaci i obiektów przy użyciu komputera Animacja komputerowa stanowi połączenie grafiki wektorowej i zaprogramowanego ruchu. Punktem wyjścia do stworzenia animacji jest najczęściej szkielet figurki, który w każdym ważniejszym punkcie (kończyny, usta, itd.) definiowany jest przy użyciu tzw. Avars (ang. animation variables, zmienne animacyjne).
Woody, jeden z bohaterów filmu Toy Story opisany został na przykład za pomocą 700 zmiennych animacyjnych, z których 100 znajduje się na jego twarzy. Poszczególne zestawy zmiennych kontrolują poruszanie się postaci od jednej klatki filmu do drugiej. Gdy szkielet postaci porusza się już w zadowalający sposób, zmienne przenosi się na model siatkowy postaci, złożony z wielokątów. Na końcu do modelu dodawane są powierzchnie, a po długim procesie renderingu powstaje scena.
By otrzymać realistyczne wrażenie ruchu istnieje kilka metod ustalania zmiennych "Avar". Metoda śledzenia ruchu wykorzystuje umieszczone na żywym modelu światełka lub czujniki. Aktor odgrywa scenę, przy czym obserwowany jest przez kamerę. "Avary" można dodawać również za pomocą joysticka, lub innego urządzenia do wprowadzania danych. W filmie "Toy Story" nie wykorzystywano metody śledzenia ruchu, najprawdopodobniej z tego powodu, że tylko wprawny animator był w stanie oddać skomplikowane ruchy, niemożliwe do odegrania przez żywych aktorów.
Urządzenia do tworzenia animacji komputerowych Animację komputerową stworzyć można za pomocą komputera wyposażonego w odpowiednie oprogramowanie. Niektóre tytuły to: Amorphium, Art of Illusion, Poser, Ray Dream Studio, Bryce, Maya, Blender, TrueSpace, Lightwave, 3D Studio Max, SOFTIMAGE|XSI, Houdini i Adobe Flash (animacje 2D). Ich ceny różnią się w zależności od sugerowanego odbiorcy programu. Spektakularne efekty można osiągnąć również przy użyciu podstawowych programów, jednak proces renderowania sceny może się wydłużyć, jeśli wykorzystujemy do animacji zwykły domowy komputer. Z tych przyczyn projektanci grafiki w grach komputerowych skłaniają się raczej ku prostszym animacjom, opartym o mniejszą ilość wieloboków, by nawet komputery domowe były w stanie renderować zaprojektowane animacje w czasie rzeczywistym. Animacja o jakości fotorealistycznej byłaby w takich kontekstach niepraktyczna.
Profesjonalni animatorzy sekwencji filmowych wykorzystywanych w grach tworzą animacje fotorealistyczne o dużej szczegółowości. Wyrenderowanie sekwencji nasyconej do takiego stopnia szczegółami mogłoby zająć w warunkach domowych dziesiątki, nawet setki lat. Dlatego w pracach tego typu wykorzystywane są stacje robocze. Są one wyposażone w dwa do czterech procesorów, co znacznie zwiększa ich moc, ich konstrukcja również odzwierciedla specjalistyczne zastosowania tworzenia grafiki. Istnieją również zestawy stacji roboczych, tak zwane "farmy", które połączone w sieć działają jak jeden potężny komputer. Efektem takich działań jest możliwość wyrenderowania filmu w okresie od jednego roku do 5 lat – nie cały ten czas poświęcony jest na renderowanie kolejnych klatek. Ceny stacji roboczych wahają się najczęściej w przedziale 3600-24000 złotych i więcej, przy czym droższe stacje są w stanie prowadzić obliczenia o wiele szybciej, dzięki zastosowaniu nowocześniejszych komponentów. Oprogramowanie Renderman firmy Pixar na dobre zadomowiło się w świecie scen renderowanych na potrzeby przemysłu filmowego, konkurując z rozwiązaniem Mental Ray. Oficjalna strona Pixar sprzedaje program w cenie od 5000 do 8000 dolarów, sam program zaś działa na komputerach wyposażonych w systemy operacyjne Linux, MacOS X i Microsoft Windows, współpracując z oprogramowaniem Maya, czy SOFTIMAGE|XSI. Profesjonalni twórcy filmów animowanych komputerowo posługują się w swojej pracy takimi zdobyczami techniki, jak kamery, urządzenia motion capture i performance capture, niebieskie ekrany, oprogramowanie do edycji materiału wideo, rekwizyty i inne narzędzia właściwe animacjom kinowym.
Sprzętowa strona techniki animacyjnej 300px|thumb|right|Przykład animacji renderowanej komputerowo
Gdy komputer ma zamiar wyświetlić na ekran jakiś obraz, najczęściej tworzony jest on w tak zwanym buforze tylnym. W tym miejscu komputer może swobodnie rysować obraz i wprowadzać wszystkie niezbędne zmiany. Podczas, gdy komputer wykonuje prace w buforze tylnym, ekran pokazuje zawartość tak zwanego bufora głównego lub przedniego.
Po zakończeniu przeliczeń związanych z renderowaniem, komputer przesyła do ekranu polecenie wyrysowania zawartości bufora tylnego. Może się to odbyć na jeden z dwóch sposobów:
zawartość bufora tylnego można skopiować do bufora głównego, którego zawartość jest aktualnie wyświetlana; komputer może dokonać przełączenia ustawiając bufor tylny w roli bufora przedniego, w takim wypadku bufor przedni automatycznie staje się buforem tylnym. Osobą, która wymyśliła to podejście jest John MacArthur. Proces zwykle nazywa się podwójnym buforowaniem albo nieoficjalnie „przerzutką” (ang. flip), gdyż komputer dokonuje „przerzucenia” buforów miejscami między sobą. Przełączenie to powinno nastąpić w sposób niewidoczny dla użytkownika, a dogodnym do tego momentem jest sygnał synchronizacji pionowej. W klasycznych monitorach CRT następuje on, gdy działo elektronowe dociera do prawego dolnego rogu ekranu i musi przenieść wystrzeliwany strumień elektronów do lewego górnego rogu. Odbywa się to bardzo szybko, a w tym czasie obraz naświetlony na kineskopie pozostaje widoczny. Podczas powrotu działa elektronowego do pozycji umożliwiającej rozpoczęcie rysowania w lewym górnym rogu ekranu, komputer ma wystarczająco dużo czasu, by dokonać przełączenia i by zawartość bufora przedniego mogła być wyrysowana na ekranie podczas kolejnego odświeżenia. Obraz pozostanie na ekranie do czasu kolejnej zamiany buforów.
Jeśli komputer nie może zamienić obrazów podczas sygnału powrotu działa elektronowego, to dokonuje tego w czasie, gdy już pewna część poprzedniego obrazu została wyświetlona, co prowadzi do zjawiska zwanego przełamaniem duszka (ang. sprite breakup), przełamaniem obrazu (ang. image breakup) lub rozrywaniem obrazu (ang. screen tearing). Jest to efekt wysoce niepożądany i powinno się go unikać wszelkimi sposobami, by nie udaremnić efektu płynnej animacji. Przyszłość