Przedstawione zastosowania pokazują możliwości jakie daje tekstura. Nie jest to tylko nałożenie obrazu – zdjęcia, ale może to być także zmiana pewnych postrzeganych właściwości materiałowych. Możliwa jest także zmiana pewnych cech związanych z otoczeniem – tekstura jest także stosowana do przyspieszenia lub uproszczenia wyznaczania oświetlenia.
W tym zestawieniu warto wyróżnić trzy kategorie odwzorowania.
Jak widać nakładanie tekstury może obejmować szeroki zestaw zagadnień. Formalnie należałoby więc definiować teksturę jako pewną wektorowa funkcje wielu zmiennych. Liczba zmiennych jest zależna od właściwości odwzorowania.
Odwzorowanie geometryczne jest operacją, która musi zapewnić możliwość nałożenia wzorca na powierzchnię, w taki sposób żeby nie stracić jakości wzorca.
Bezpośrednio z nakładaniem tekstury, a także z rzutowaniem perspektywicznym są związane problemy próbkowania, powodujące, że trudno jest w prosty sposób uzyskać zawsze dobrą jakość odwzorowanej tekstury mimo posiadania znakomitych wzorców. Problem ten można rozwiązać stosując filtrowanie tekstur.
Rodzaje tekstur
Tablicowanie parametrów tekstury daje gotowy zestaw wartości dla realizacji obrazowania. Stosując opis proceduralny można dostosować wybrany podzbiór dziedziny dla konkretnego rozwiązania. Jest to bardzo istotne, gdyż gęstość próbkowania daje z jednej strony określony poziom szczegółów, a z drugiej strony zapewnia możliwość minimalizacji zniekształceń związanych z nakładaniem próbkowanego obrazu. Parametry tablicowane są realizacją funkcyjną dla określonej gęstości próbkowania. Ponieważ parametr ten nie może być zmieniany w trakcie odwzorowania, stosuje się zestawy takiej samej tekstury tablicowane dla różnej gęstości próbkowania.
Niezależny podział wyróżnia generowanie deterministyczne i stochastyczne. Deterministyczne, w którym istnieją reguły rozmieszczania wzorca tekstury na powierzchni materiału. Generowanie stochastyczne nie zapewnia informacji o ustalonej strukturze wzorca. Pozwala natomiast na tworzenie lokalnych zmian parametru (np. barwy) powierzchni wynikających z pewnego prawdopodobieństwa.
Często zachodzi potrzeba łączenia różnych technik aby uzyskany efekt jak najlepiej odpowiadał rzeczywistości. Przykładem może być generowanie trójwymiarowej tekstury słojów drewna. Można to zrobić przyjmując opis proceduralny deterministyczny opierając się na modelu zawierającym koncentrycznie umieszczone walce. Średnicę walca zmienia się dodatkowo przez deterministyczne zaburzenie w postaci harmonicznych. Ale aby zwiększyć podobieństwo do rzeczywistego obiektu dodaje się niewielkie zaburzenia stochastyczne zarówno do średnicy walców i położenia ich osi obrotu, jak również do barwy słojów.
Modele okresowe, w których wzorzec jest nakładany na przestrzeń tekstury w ramach siatki. Okna siatki odpowiadają rozmiarom wzorca. Wzorzec może być powielony na wszystkie okna siatki lub tylko na ich część. Źródłem wzorca mogą być obiekty naturalne (skanowane, fotografowane) lub wygenerowane obrazy (edytory graficzne itp.).
W modelach o losowym rozmieszczeniu na powierzchni przestrzeni tekstury pojawiają się losowo rozmieszczone elementy (tzw. „bomby”) o określonej barwie i kształcie.
Modele mozaikowe są generowane bezpośrednio w przestrzeni tekstury w postaci rozrastających się, losowo ułożonych komórek. Każda z nich rozrasta się, aż do napotkania innej komórki.
Modele syntaktyczne generowane są bezpośrednio w przestrzeni tekstury z wykorzystaniem języków formalnych i reguł gramatycznych.
Odwzorowanie tekstur
Ten typ parametryzacji jest najwygodniejszy do stosowania w metodzie śledzenia promieni.
Parametryzacja w przestrzeni świata określa odwzorowanie przestrzeni tekstury na przestrzeń świata. Jest to nazywane często przekształceniem odwrotnym.
Projekcja jest przekształceniem przestrzeni obiektu na przestrzeń ekranu (rzutu). Ponieważ najczęściej w rzutowaniu jest wykorzystywane rzutowanie perspektywiczne więc również projekcja tekstury jest realizowana w postaci przekształcenia perspektywicznego.
Parametryzacja powierzchni
Drugi przykład jest funkcją przekształcającą powierzchnię boczną walca (powierzchnia obiektu) na prostokąt tekstury.
Przykłady nakładania tekstury
Przy zastosowaniu tekstury Blinna zmianę kierunku wektora normalnego uzyskuje się przez dodatkową funkcje zaburzenia. Zmodyfikowany wektor normalny jest wykorzystywany w modelu oświetlenia, dzięki czemu są postrzegane lokalne zmiany oświetlenia. Oczywiście wektor zmieniony funkcją zaburzenia może, tak naprawdę, tworzyć dowolny kąt z powierzchnią obiektu, w związku z tym głównym problemem jest dobranie funkcji zaburzenia w taki sposób, aby zmiana wektora odpowiadała rzeczywistej zmianie kształtu powierzchni.
Jeśli nałożymy teksturę na powierzchnię to powstanie powierzchnia zniekształcona
Wektor normalny do tak otrzymanej powierzchni można wyznaczyć analogicznie. Przy czym różniczkując równanie zniekształconej powierzchni otrzymuje się:
Blinn założył, że zaburzenie jest na tyle małe, że ostatnie wyrazy w tych równaniach można pominąć. Wtedy aproksymowany wektor normalny do zniekształconej powierzchni można opisać jako
to oznacza, że
Przy czym jest wektorem zaburzenia:
gdzie i są wektorami stycznymi do powierzchni .
Takie rozwiązanie daje bardzo prostą możliwość definicji wektora normalnego odkształconej powierzchni za pomocą wektorów zaburzenia. Wadą zaproponowanej przez Blinna metody jest aproksymacja wektora normalnego. Stąd powstało wiele różnych realizacji tej metody, wykorzystujących różne warianty uproszczenia. Znane są również próby aplikacji sprzętowych mapowania nierówności Blinna.
Techniką dającą dobre efekty w takiej sytuacji jest mapowanie przesunięć.
Niech opisuje parametrycznie powierzchnię, będzie punktem na tej powierzchni, a będzie wektorem normalnym do powierzchni . Niech funkcja opisuje przesunięcie punktu powierzchni .
Wtedy dla każdego punktu
Taka modyfikacja kształtu daje możliwość uzyskania rzeczywistego przesunięcia i efektów z tym związanych (np. wzajemne zasłanianie).
Prezentowany przykład pokazuje możliwość użycia mapowania przesunięć do modelowania obiektu. Jako kształt wyjściowy przyjęto sferę. Przesuwając punkty powierzchni wzdłuż promieni sfery, została ona odkształcona w taki sposób, że uzyskała kształt głowy. Oczywiście taki sposób ma podstawową wadę: nie można modelować dowolnego kształtu. A zatem ucho na pokazanym przykładzie będzie tylko pewnym przybliżeniem rzeczywistości. Dodatkowo warto zwrócić uwagę na dwa problemy. Pierwszym jest odpowiednie zdefiniowanie funkcji opisującej przesunięcie punktu. Drugim problemem jest rozdzielczość siatki uzyskanego obiektu. Równomierna siatka (południk/równoleżnik) sfery została przekształcona na nierównomierną, zależną od wysokości o dużych zmianach. Powoduje to, że tekstury muszą być indywidualnie dobierane do fragmentu, aby zachować odpowiedni poziom szczegółów.
Problemy próbkowania
Jeśli przeprowadzimy analizę próbkowania ciągłego sygnału dwuwymiarowego, jakim jest obraz, to okaże się, że w efekcie na przykład nakładania tekstury pojawiają się składowe o częstotliwości wyższej niż częstotliwość próbkowania (Nyquista). Może to być spowodowane zbyt dużą liczba szczegółów na danej powierzchni w efekcie rzutowania perspektywicznego lub nałożeniem tekstury o rozmiarach tekseli (pojedynczych elementów wzorca – pikseli tekstury) dużo mniejszych niż rozmiary piksela ekranu. Powszechnie rozwiązuje się ten problem za pomocą filtrowania dolnoprzepustowego i stosowania nadpróbkowania uśredniającego (rysunek b – szachownica pozbawiona większości artefaktów). Oczywiście efektywniejszym nadpróbkowaniem całego obrazu będzie nadpróbkowanie adaptacyjne, w którym gęstość próbkowania będzie uzależniona od szybkości zmian lokalnych.
Mipmaping i filtrowanie
Najefektywniejszą techniką jest mip-mapping – technika polegająca na przygotowaniu przefiltrowanych tekstur o różnych rozdzielczościach. Metodę tę zaproponował Williams w 1983 roku. W efekcie przefiltrowania dla każdej tekstury uzyskujemy zestaw wzorów odpowiadających przeskalowaniu z uwzględnieniem filtracji na odpowiednim poziomie rozdzielczości. Nakładanie takiej tekstury jest bardzo efektywne, gdyż nie wymaga bieżącego filtrowania. Jedyną operacją, jaka jest konieczna to wybór wzoru o właściwej rozdzielczości. W najprostszym przypadku celem jest nałożenie tekstury, której teksel będzie jak najmniejszy, ale większy od piksela.
Deformacje obiektów rzeczywistych
Możemy mieć do czynienia ze zmianami kształtu i ze zmianami atrybutów wizualnych.
Czynnikiem decydującym dla obiektów ożywionych będzie proces wzrostu oraz proces starzenia się.
Dla przyrody nieożywionej decydującym czynnikiem będą zjawiska środowiskowe (erozje).
Obiekty sztuczne poza naturalnymi procesami starzenia się podlegają przede wszystkim czynnikom mechanicznym.
Warto zwrócić uwagę na rezultat działania czynników mechanicznych: może on być trwały (np. ściskanie obiektów nieelastycznych) oraz czasowy (np. ściskanie obiektów elastycznych).
Zmianie może podlegać geometria (kształt) obiektu oraz jego atrybuty (barwa, tekstura, właściwości odbijania światła itd.). Dobrym przykładem zmian geometrii są operacje ściskania, rozciągania lub skręcenia.
Zmiana dokonywana jest z wykorzystaniem transformacji afinicznych (lub dowolnych).
Warping jest przykładem operacji deformacji kształtu stosowanej zarówno w odniesieniu do obiektu jak i jego obrazu. Odbywa się to przez nałożenie siatki na obraz (lub obiekt trójwymiarowy – siatki przestrzennej) i przekształcenie położenia węzłów siatki zgodnie z określoną funkcją. Klasycznymi efektami uzyskiwanymi tą metodą jest zmiana wyrazu twarzy na zdjęciu – uśmiech, przymknięcie oczu itp.
Morfing jest operacją pozwalającą wygenerować deformacje kształtu odpowiadające stanom pośrednim pomiędzy danymi obrazami.
Deformowanie (warping)
Ponieważ obiekty wymagają zobrazowania (renderingu) to można złożyć tę operację z deformacjami w dowolnej kolejności. To znaczy najpierw jest deformowany model obiektu (np. jego geometria), a następnie odkształcony obiekt jest zobrazowany (renderowany), lub najpierw obiekt jest zobrazowany, a następnie przekształcany jest jego obraz. Do często stosowanych przekształceń geometrii obiektów trójwymiarowych należą ściskanie, skręcanie, wyginanie.
Do deformacji i przekształcenia obiektów stosowana jest również morfologia matematyczna – dziedzina zajmująca się przetwarzaniem obrazów. Morfologia matematyczna powstała w latach sześćdziesiątych XX wieku w Ecole des Mines de Paris (Wyższej Szkole Górniczej w Paryżu). Twórcami morfologii byli Georges Matheron i Jean Serra. Podstawowymi przekształceniami morfologicznymi są: erozja (przypisanie pikselowi najmniejszej wartości spośród sąsiadów) i dylacja (przypisanie pikselowi największej wartości spośród sąsiadów). Wykorzystuje się także takie operacje jak: otwarcie (złożenie najpierw erozji potem dylacji), domknięcie (najpierw dylacja potem erozja), pogrubianie i ścienianie obiektów.
Warto zwrócić uwagę także na zastosowanie geometrii rzutowej w deformacji obiektów. Zniekształcenia zapewniające korekcję perspektywy lub umożliwiające „nakładanie” płaskiego obrazu na krzywoliniową powierzchnię obiektu są operacjami wykorzystywanymi nie tylko w animacji. Posługujemy się nimi także w edytorach graficznych.
Typowe wykorzystanie deformowania (warpingu) – wpłynięcie na kształt detali rysunku. W pokazanym przykładzie zmieniono wyraz twarzy przez zniekształcenie układu ust. Podobnie można „zmrużyć oczy” lub „zmarszczyć brwi”. Dzięki takim zabiegom można uzyskać, na przykład, zamierzony efekt zdjęć reklamowych.
Zastosowanie morfologii matematycznej pozwala dokonywać przekształcania obrazów bez wykorzystywania siatek punktów kontrolnych.
Generowanie stanów pośrednich jest wygodnym sposobem uzyskania określonej liczby klatek pośrednich pomiędzy klatkami kluczowymi filmu. Operacja ta wymaga wstępnego dopasowania do siebie szczególnych cech klatek kluczowych. Oczywiście ze względu na sposób poruszania się obiektów lub zależności czasowe mogą być wymagane przekształcenia nieliniowe.
Wyróżnia się dwa rodzaje animacji.:
Warto zwrócić uwagę na fakt, że w animacji klasycznej każda klatka jest niezależnie realizowana, a każda scena filmu musi być konsekwentnie zbudowana klatka po klatce. W animacji komputerowej można spotkać realizacje wykonane na tej samej zasadzie, jednak częściej sposób i możliwości uzyskania pewnych efektów zmieniają całkowicie ten systematyczny schemat. Szczególnie ma to miejsce w grach komputerowych gdzie trudno mówić o tradycyjnym schemacie kolejnych scen i klatek, natomiast poszczególne obrazy są generowane na bieżąco w zależności od sytuacji, przy czy jednocześnie mogą wykorzystywać elementy wykreowane wcześniej, niezależnie od kolejności sekwencji obrazowych.
Animatorzy tworzą rysunki (lub sceny czy postaci np. kukiełkowe) kluczowe. Sceny pośrednie są wykonywane zgodnie z założeniami scenopisu – zgodnie z przebiegiem i tempem akcji.
Po poprawkach i naniesieniu szczegółów obraz trafia na taśmę filmową lub video.
Tradycyjny film jest wyświetlany z częstotliwością 24 klatek na sekundę, NTSC TV wyświetla 30 obrazów na sekundę, PAL TV – 25.
Podstawy dzisiejszej animacji zawdzięczamy Disneyowi i jego pracom z lat trzydziestych XX wieku. Prace te pozwoliły uzyskać płynny przebieg akcji i naturalne ruchy bohaterów.
Komputer jest wykorzystywany w animacji tradycyjnej do modelowania ruchu i tworzenia precyzyjnego planu, do sterowania urządzeniami laboratorium oraz w postprodukcji do prac związanych z montażem i synchronizacją dźwięku.
Główny etap tworzenia filmu obejmuje cykl modelowania obiektów (bohaterów, scenografii), ruchu i oświetlenia oraz tworzenia obrazów w uproszczonej formie oraz oceny efektów. Postać uproszczona może obejmować zarówno mniejszą rozdzielczość, jak też brak mniej istotnych szczegółów, czy mniejszą liczbę klatek na sekundę. Ponieważ na tym etapie produkcji, w zasadzie, prawie wszystkie parametry można zmienić (w przeciwieństwie do filmu tradycyjnego), więc do końcowego generowania z docelową rozdzielczością przechodzi się dopiero po sprawdzeniu wszystkich istotnych elementów kompozycyjnych filmu.
Innego znaczenia może nabierać postprodukcja, gdzie montaż końcowy filmu może obejmować łączenie obrazów czy scen pochodzących na przykład z sieci komputerowej zapewniającej szybkie tworzenie niezależnych fragmentów. Przy czym niezależność może oznaczać nie tylko podział na sceny filmu, ale także osobne tworzenia tła i scenografii, podział na plany, niezależne kreowanie postaci itp.
Scenopis
Na podstawie scenopisu reżyser tworzy zestaw szkiców poszczególnych ujęć dla animatorów, którzy przygotują wstępne projekty ujęć.
Animacja proceduralna polega na wydzieleniu parametrów sterujących przebiegiem zmian i wyznaczeniu zależności funkcyjnych między opisem parametrów a wyglądem klatki (lub sceny). Metoda ta jest wygodna do animacji procesów fizycznych i mechanicznych.
Przykładem są kinematyka odwrotna i metoda deformacji swobodnych (FFD – Free Form Deformation).
Kinematyka odwrotna opisuje zależności ruchowe na podstawie wymaganych położeń obiektów. Jest bardzo wygodną forma dla uzyskania ruchu złożonych mechanicznie elementów, jest często wykorzystywana do animacji postaci.
Metoda deformacji swobodnych ma wiele implementacji. Najczęściej stosuje się techniki szkieletowe lub siatkowe, w których pozycje odpowiednich punktów i zależności między węzłami siatki lub szkieletu opisane są równaniami parametrycznymi.
Animacja symulacyjna wykorzystuje opis zachowania obiektów uzyskany na podstawie praw fizyki. Rozwiązanie tak uzyskanych równań daje poszukiwaną symulację. Metoda ta jest najbardziej złożona obliczeniowo, jest zatem czasochłonna jednak może dać bardzo dobre efekty. Wykorzystywana do modelowania i animacji zjawisk fizycznych.
Przechwytywanie ruchu pozwala powielić schemat zachowania obiektu na podstawie naturalnego zachowania się obiektu rzeczywistego. Jest wygodna do modelowania ruchu postaci ludzkich, zwierzęcych a także postaci fantastycznych, którym można przypisać pewne właściwości ruchowe podobne do znanych cech zwierząt lub ludzi. Metoda ta daje bardzo dobre efekty, gdyż łatwiej jest skopiować ruch zwierząt niż opisać go równaniami matematycznymi. Wadą jest konieczność stosowania specjalistycznego sprzętu do przechwytywania ruchu. Stosuje się zestawy czujników położenia, skanery trójwymiarowe lub zdjęcia poklatkowe.
Metody animacji poklatkowej
Pokazany przykład animacji Koziołka Matołka obejmuje 14 klatek pełnego cyklu ruchu. Bardzo często dla uproszczenia wykonywano mniej klatek (na przykład 7) obejmujących ten sam cykl ruchu i aby zachować odpowiedni czas trwania akcji każdą klatkę powielano dwukrotnie. Czasami mogło to prowadzić do pewnego, nienaturalnego „szarpania” ruchu, jednak przy wartkiej (zazwyczaj) akcji całego filmu było to praktycznie niezauważalne.
Warto zwrócić jeszcze uwagę na złożoność całego ujęcia. Ruch postaci musi być skorelowany z przesuwaniem się tła. W ten sposób widz będzie miał na przykład wrażenie, że Koziołek rzeczywiście biegnie przez miasto. Ale z drugiej strony fazy ruchu postaci i fazy ruchu tła (w tym przypadku domków miasta) są całkowicie niezależne – w prezentowanym przykładzie nie ma ciągłości ruch tła. Wynika stąd możliwość niezależnego generowania obrazu postaci i tła. W tradycyjnej animacji realizowane to było na kolejnych warstwach przezroczystego celuloidu. Najwygodniej jest operować niezależnie każdą postacią oraz często niezależnie różnymi fragmentami dekoracji. Taki zestaw (gruby) celuloidu dopiero w ostatniej fazie produkcji był kopiowany na taśmę filmową. W animacji komputerowej mamy do dyspozycji warstwy rysunku, każda animowana i edytowana niezależnie. Daje to bardzo duże możliwości manipulacji obrazem.
Warto przypomnieć, że pomysły „rozwarstwienia” obrazu w technice filmowej pochodzą z początku XX wieku. W 1916 roku Frank Williams zaproponował metodę wędrującej maski (travelling matte), która została w latach 50 przekształcona w jedną z najważniejszych wykorzystywanych dzisiaj technik, występującą pod nazwą kluczowania (CSO – color separation overlay, także występuje jako chroma key, blue screen, lub czasami jako blue-box). Polega ona na filmowaniu aktora na tle jednolitej planszy (np. niebieskiej), a następnie zmontowaniu filmu wstawiając dowolne tło w miejsce barwy planszy. W czasach Williamsa wymagało to powtórnego filmowania, ewentualnie filmowania z wykorzystaniem tylnej projekcji. Dzisiaj wykonuje się to odpowiednim mikserem elektronicznym (kluczowaniem) lub programami komputerowymi na etapie postprodukcji. Dodatkowo współcześnie najczęściej realizuje się takie zadanie techniką grey-screen – tło ma kolor szary i dobre właściwości odbijające. Dzięki temu za pomocą odpowiedniego oświetlenia można uzyskać prawie dowolny kolor tła w zależności od potrzeb. Autorzy pełnej komputeryzacji tej techniki w 1995 roku otrzymali Oscara.
Dodatkowo warto zwrócić uwagę na sposób rysowania określonych elementów poszczególnych klatek. Rysunki domków tła, w pokazanym przykładzie, są rozmazane w przeciwieństwie do postaci pierwszoplanowej (Koziołka Matołka) rysowanej wyraźną, ostrą kreską. Potęguje to wrażenie ruchu i jednocześnie daje namiastkę głębi ostrości obejmującej tylko pierwszoplanowego bohatera.
Niezależnie od produkcji filmów animowanych, metoda animacji poklatkowej jest dzisiaj dość powszechnie stosowana w postaci prostych animacji wykorzystywanych w prezentacjach lub na stronach internetowych. Realizowane to jest na przykład w postaci animowanych gifów. Oczywiście wymaga to wygenerowania zestawu rysunków obejmujących pełny cykl ruchu i połączeniu ich w jedną animację.
Metoda klatek kluczowych
Warto zwrócić uwagę na problem czasu, a właściwie jego kontroli, w powstawaniu filmu animowanego. Film o określonym czasie trwania przekłada się na określoną liczbę klatek, a to z kolei limituje możliwości rysowania określonych faz ruchu, aby sprawiał on wrażenie ciągłego. Zadanie planowania klatek kluczowych jest ściśle związane z rozwojem akcji i związanym z nią upływem czasu. Jest to jednym z najtrudniejszych zadań głównego animatora. Problem komplikuje fakt, że poszczególne etapy akcji, poszczególne fazy ruchu najczęściej nie dają się opisać prostymi zależnościami liniowymi. Rzeczą, która jest zawsze stała w filmie animowanym jest odstęp czasu pomiędzy poszczególnymi klatkami natomiast zawartość klatek musi być dopasowana do upływu czasu. W najprostszym przykładzie animacji odbijającej się piłeczki, jej położenia w określonych momentach określają prawa fizyki. Nieuwzględnienie ich spowoduje nienaturalny ruch, co na pewno zostanie zauważone przez odbiorcę. Aby rozwiązać tego typu problemy, w metodzie klatek kluczowych wykorzystuje się tzw. krzywe (ścieżki lub linie) ruchu. Określają one położenie obiektu w danym momencie. Współczesne programy animacyjne wspomagają realizację klatkami kluczowymi pozwalając na dowolne, nieliniowe manipulowanie krzywą ruchu, a tym samym położeniem obiektu w określonym momencie.
Prezentowany rysunek pokazuje odbicie zakładając, że piłeczka nie odkształca się przy kontakcie z przedmiotem, od którego się odbija. Uwzględnienie tego typu parametrów znacznie poprawiłoby odbiór animacji.
Ruch złożonych mechanizmów lub postaci wymaga opisania zależności między poszczególnymi segmentami obiektu – powiązania „stawami” segmentów. Na przykład animacja ręki wymaga połączenia ruchów ramienia, przedramienia, dłoni i palców. Połączenie segmentów tworzy łańcuch kinematyczny o skończonej liczbie ogniw. Jest to łączenie hierarchiczne tzn. dla każdego segmentu można wyróżnić segment nadrzędny i podrzędny w łańcuchu. Warto przy tym zwrócić uwagę na sposób wydzielenia segmentów. W przypadku postaci ludzkich czy zwierzęcych znana jest ich budowa anatomiczna i na tej podstawie budowany jest łańcuch kinematyczny. Podobnie dla obiektów mechanicznych o znanej konstrukcji. Natomiast dla postaci fantastycznych lub innych nieznanych obiektów trzeba przeprowadzić modelowanie szkieletu – wydzielenie segmentów i opracowanie zależności mechanicznych pomiędzy nimi. Dla każdego połączenia (stawu) trzeba zdefiniować stopnie swobody segmentów. Stopnie swobody określają liczbę prostych ruchów możliwych do wykonania. Na przykład ciało swobodne ma 6 stopni swobody w układzie kartezjańskim (trzy translacje i trzy obroty).
Kinematyka prosta (forward kinematic) opisuje zależności w łańcuchu kinematycznym od segmentu nadrzędnego do podrzędnego.
Kinematyka odwrotna (inverse kinematic) opisuje zależności w łańcuchu kinematycznym od segmentu podrzędnego do nadrzędnego. W tym przypadku można rozpocząć analizę od docelowego położenia ostatniego (najbardziej podrzędnego w hierarchii) segmentu i na tej podstawie wyznaczyć położenie segmentów pozostałych – np. szukamy położenia ramienia i przedramienia, aby zapewnić położenie dłoni i palców w określonym punkcie.
W latach osiemdziesiątych XX wieku na Simon Fraser University podjęto badania nad automatycznym przechwytywaniem ruchów postaci (motion capture). W celach komercyjnych metodę tę zastosowano po raz pierwszy w technice filmowej w 1984 roku. Była to 30 sekundowa reklamówka – „Sexy robot” (“Brilliance”) - firmy National Canned Food Information Council. Do produktów firmy, głosem Kathleen Turner, zachęcał animowany robot. Aby zachować naturalność ruchów postaci, Robert Abel opracował optyczny system przechwytywania ruchu na podstawie położenia markerów umieszczonych na ciele aktora. Niepowodzenia w 1990 roku przy realizacji filmu „Pamięć absolutna” (Total Recall) z Arnoldem Schwarzeneggerem zahamowały rozwój systemów przechwytywania ruchu. Do problemu powrócono w 1997 roku podczas produkcji „Titanica”. Od tego czasu większość filmów wymagających efektów specjalnych, a także gier komputerowych, jest realizowana z wykorzystaniem techniki przechwytywania ruchu (motion capture).
System elektromagnetyczny (magnetyczny) wykorzystuje rejestrację zmian strumienia magnetycznego wywołaną zmianą wzajemnego położenia czujników (nadajników i odbiorników). Aktor zakłada strój z zestawem czujników połączonych kablem (najczęściej) z komputerem. System zawiera zwykle stosunkowo małą liczbę czujników (kilkanaście). Dokładność pomiaru położenia jest lepsza niż systemów mechanicznych, ale gorsza niż optycznych. Analiza położenia jest jednak szybsza niż systemów optycznych. Do podstawowych wad systemu elektromagnetycznego należy zaliczyć wrażliwość na zakłócenia zewnętrzne – na zewnętrzne pole magnetyczne.
Systemy optyczne oparte są na analizie położenia punktu (markera) na podstawie kilku niezależnych rzutów tego punktu. Na stroju aktora jest umieszczony zestaw od kilkunastu do kilkudziesięciu markerów. Kamery rozmieszczone wokół sceny rejestrują obraz aktora i markerów. W zależności od liczby aktorów na scenie stosuje się od kilku do kilkudziesięciu kamer. Kamery muszą objąć całą przestrzeń sceny i dawać możliwość rejestracji markerów także przy wzajemnym zasłanianiu się aktorów. Na podstawie rzutów markera komputer wyznacza jego położenie w przestrzeni. System optyczny jest najdroższym ze znanych rozwiązań przechwytywania ruchu. Daje jednak możliwość najbardziej dokładnego pomiaru położenia (rzędu ułamków milimetra). Strój z markerami optycznymi jest najmniej kłopotliwym rozwiązaniem dla aktora spośród wszystkich systemów przechwytywania ruchu.
Wyróżnia się systemy optyczne pasywne i aktywne. W systemach pasywnych markery odbijają światło we wszystkich kierunkach – a przede wszystkim w kierunku źródła (odbicie powrotne – retroreflection). Markery są punktami pokrytymi farbą lub tworzywem o odpowiednich właściwościach odbijających. W pierwszych systemach optycznych stosowano piłeczki pingpongowe. W systemach aktywnych markery emitują światło. Najczęściej stosuje się diody elektroluminescencyjne emitujące promieniowanie podczerwone. Aby ułatwić analizę przy dużej liczbie czujników, często każdy z nich emituje impulsy (błyski) z inną częstotliwością.
Do określenia położenia punktu wystarczą dwie kamery. Jednak aktor poruszając się może zasłaniać markery umieszczone na ubraniu. Na scenie może być także wielu aktorów, którzy zasłaniają się wzajemnie. Z tego powodu stosuje się wiele kamer, aby bez względu na pozę aktora, każdy marker był zawsze „widziany” przynajmniej przez dwie kamery.
Mimo niezaprzeczalnych zalet stosowania systemów przechwytywania ruchu w kreowaniu realistycznie poruszających się wirtualnych postaci trzeba wspomnieć o ich wadach.
Ponieważ opis zgodny z prawami fizyki jest bardzo złożony, więc stosuje się metody upraszczające obliczenia. Przykładem może być opis ruchu układu mechanicznego będący układem liniowych równań różniczkowych stopnia drugiego. Do rozwiązania stosuje się albo metodę wektorów stanu sprowadzającą równania do rzędu pierwszego, albo metodę różnic skończonych pozwalającą sprowadzić układ równań różniczkowych do układu równań nieliniowych.
Zachowanie się obiektów zależy od ich typu. Wyróżnia się modelowanie obiektów sztywnych przegubowych i modelowanie obiektów deformowalnych.
Obiekty sztywne przegubowe modeluje się w postaci zestawu prostych sztywnych elementów połączonych ze sobą złączami mechanicznymi o zadanym zestawie stopni swobody. Dla obiektów deformowalnych opisuje się odpowiednimi równaniami takie zjawiska jak sprężystość, plastyczność, zrywanie, topnienie, lepkość itd.
Wykrywanie kolizji
Zestaw składowych jednej postaci jest zazwyczaj modelowany w postaci hierarchicznej.
Animacja twarzy jest traktowana jako odrębne zagadnienie ze względu na złożoność problemu oraz ze względu na fakt, że człowiek szybciej identyfikuje twarz na obrazie.
Są to najdroższe systemy do przechwytywania ruchu, ale pozwalają najszybciej wykreować realistyczne wirtualne postacie i ich twarze. Systemów przechwytywania mimiki twarzy nie stosuje się do rejestracji ruchów języka oraz gałek ocznych i powiek. Prezentowane rysunki pokazują także siatkę opracowaną na podstawie danych uzyskanych z systemu przechwytywania. Siatka taka zostaje z reguły poddana obróbce: uzupełniane są punkty odpowiadające powiekom i ewentualnie językowi. Dodawane są siatki gałek ocznych i zębów, które w ogóle nie podlegają przechwytywaniu. Jednocześnie można wpłynąć na kształt twarzy poprzez dodatkowe odkształcenie siatki (uwydatnienie kości policzkowych na rysunku).
Prezentowane rysunki pokazują, że nawet tak skomplikowane elementy jak ludzkie twarze mogą być „dorysowane” z pomocą grafiki komputerowej. Rysowanie realistycznej ludzkiej twarzy jest jednym z najtrudniejszych zadań. Każdy z nas, od dzieciństwa obcuje z widokiem twarzy i nawet najdrobniejsze błędy – niezgodności z oczekiwaniem będą natychmiast zauważone. Model wykorzystywany w Matrixie opierał się na siatce trójkątów (ok. 10 milionów) uzyskanej na podstawie trójwymiarowego skanowania twarzy aktora. Model składał się z dwóch warstw – warstwy geometrii (kształtu) o małej rozdzielczości i warstwy o dużej rozdzielczości opisującej właściwości odbiciowe powierzchni skóry. Na podstawie zdjęć z 30 kamer umieszczonych wokół głowy aktora zbudowano analityczny model BRDF opisujący odbicie dla każdego trójkąta siatki. Wykorzystano przy tym mapowanie przesunięć (displacement mapping) dla większych szczegółów i mapowanie nierówności (bump mapping) dla mniejszych szczegółów.
Jednym z dodatkowych problemów, na który warto zwrócić uwagę jest rysowanie (i modelowanie) włosów postaci. W przypadku Matrixa każdy pojedynczy włos był w pierwszej fazie pracy zamodelowany niezależnie przy użyciu NURBS. Następnie zostały wykreowane prymitywy do modelowania i analizy cienia w rysowaniu układu włosów. Dodatkowo zostało użyte modelowanie wolumetryczne.
Oczywiście warto byłoby wspomnieć także o innych filmach, w których wykorzystano grafikę komputerową. Jedną z najciekawszych realizacji jest trylogia Władca Pierścieni, a szczególnie postać Golluma. Efekt widoczny na ekranie uzyskano dzięki połączeniu zdjęć aktora i symulacji komputerowych. Wielkie sceny batalistyczne we współczesnych filmach powstają raczej dzięki symulacjom komputerowym. We wspomnianej trylogii, w jednej ze scen bitwy gdzie walczy sześciotysięczna armia orków zatrudnionych było tylko 175 statystów.
Bez grafiki komputerowej nie mogłyby powstać nie tylko takie filmy jak Matrix i Władca Pierścieni, ale także Star Trek, Park Jurajski, Terminator 2, Głębia, Titanic, Wodny Świat, Obcy oraz wiele, wiele innych. I to nie tylko ze względu na kreowanie nieistniejących stworów lub rejestrowanie niemożliwych do wykonania ewolucji. Oglądając w kinie przepiękne widoki, niczym nieskażonej i bajecznie kolorowej roślinności, bezkresne tafle szmaragdowego morza czy perfekcyjnie romantyczne zachody słońca warto zastanowić się, kiedy kończy się filmowanie naturalnych krajobrazów, a zaczyna komputerowa wizja reżysera.
Literatura