Grafika 3D: Blender, cz. XVI – animacja

Wrażenie ruchu

Animacja to rodzaj filmu, gdzie wrażenie ruchu spowodowane jest niedoskonałością (bezwładnością) ludzkiego wzroku w trakcie zmieniających się szybko obrazów – tzw. obrazy poklatkowe. Kto z nas w rogu na kartkach zeszytu nie rysował ludzika w różnych stadiach ruchu, by następnie szybko zrobić trrrrrrrrrrrrrrr (kineograf – flipbook) – to była animacja :). Inne piękne filmy animowane to "Reksio" ze Studia Filmów Rysunkowych z Bielska Białej czy "Pomysłowy Dobromil" ze Studia Miniatur Filmowych z Warszawy.

Jak szybko te obrazy muszą przelatywać nam przed oczami, aby oszukać nasz mózg i doświadczyć wrażenia ruchu? Minimum to kilkanaście obrazów (ramek, klatek) na sekundę (fps - frames per second). Oto kilka przykładów:

  • 12 fps – minimalna fps – internet – flash
  • 18 fps – zadawalające wrażenie płynności, stare kino jeszcze nieme
  • 24 fps – kino analogowe
  • 25 fps – TV PAL (Europa)
  • 30 fps – TV NTSC (Ameryka)
  • 60 pfs – standardowe odświeżanie monitorów podłączonych poprzez DVI

Co możemy animować?

Prawie wszystko:

  • obiekty: położenie, kształt, rozmiar, barwa, tekstura itp.
  • źródła światła: położenie, kierunek, natężenie, barwa itp.
  • kamera: położenie, kierunek, ogniskowa, ekspozycja itp.
  • efekty specjalne, filtry itp.

12 zasad animacji

Współczesny film animowany ma przeszło 100 lat. W pierwszej połowie XX w. zasłużone studio Walta Disneya opracowało 12 zasad animacji:

  1. Zgniatanie i rozciąganie – zmiany powinny być zgodne z fizyką
  2. Wyprzedzanie – każde działanie poprzedza jego przygotowanie
  3. Inscenizacja – kieruje wzrok – tam gdzie ważne
  4. Klatki kluczowe lub rysowanie progresywne
  5. Zazębianie się i podążanie za akcją
  6. Rozpędzenie i zwolnienie – znów fizyka
  7. Łuki – istoty, maszyny – po prostej
  8. Akcja drugoplanowa – nie zapominajmy o niej
  9. Taktowanie – czas fizyczny, czas teatralny
  10. Wyolbrzymienie
  11. Dobry rysunek
  12. Urok

Klatki, ujęcie, scena, sekwencja

W pracy z animacjami mamy do czynienia z klatkami – atomowymi elementami filmu czyli pojedynczymi obrazami. My, jako twórcy, nie musimy - na szczęście - tworzyć wszystkich klatek. Tworzymy tylko te najważniejsze - kluczowe. Resztę za nas tworzy program np. taki Blender :) Stąd klatki dzielimy na:

  • Klatki kluczowe (Key frames) – tworzone, wstawiane, definiowane przez twórcę;
  • Klatki pośrednie (interpolowane) (Frames) – tworzone przez program jako interpolowane pomiędzy kluczowymi.

Należy jednak pamiętać, że na koniec, i tak każda klatka - ta kluczowa, jak i pośrednia jest renderowana (wyliczana) jak statyczny obraz. Samo liczenie pełnometrażowego filmu animowanego może trwać nawet kilka tygodni.

Nieco dłuższe jednostki filmu - zbudowane z wielu klatek to:

Ujęcie (take) – najmniejsza dynamiczna i pełna część animacji między cięciami – „włączeniem” i „wyłączeniem” kamery.

Scena (scene) – fragment animacji (co najmniej jedno ujęcie) cechujące się jednością miejsca, czasu i akcji.

Sekwencja – zamknięty pod względem scenariuszowym fragment animacji (co najmniej dwie sceny).

Rodzaje ruchów i ich atrybuty

  • Ruch obiektów: zmiana położenia, obroty, zmiana skali, deformacje, zmiany właściwości np. kolorów, …;
  • Ruch kamery: zmiana położenia, obroty, zmiana głębi ostrości, ekspozycji, filtry, …;
  • Ruchy świateł: zmiana położenia, natężenia, zasięgu, kierunku, koloru, …;
  • Dynamika ruchu: naturalny, nienaturalny: zwolniony, przyspieszony, zatrzymany, odwrotny;
  • Ruch mentalny: montaż ujęć - rytm, cięcia, przenikania, z różnych kamer, różne miejsca, …;
  • Krzywe ruchu – opisują zmiany atrybutów ruchu w czasie (np. zmiany położenia w osiach XYZ w czasie określają prędkości i przyspieszenia);
  • Ścieżki ruchu – określają tory po jakim odbywają się ruchy.

Realizacja

Zasady Disneya to jedno, ale harmonogram zwykle to:

  1. Pomysł!
  2. Scenariusz (script) - opis akcji, postaci, miejsc i czasu oraz dialogi (dla prostej animacji w punktach kolejne ujęcia)
  3. Scenorys (storyboard) – rozrysowane poszczególne sceny
  4. Animatic (story reel) – wstępna uproszczona animacja
  5. Gotowy film

To tak w dużym uproszczeniu, gdyż na każdym etapie może dochodzić do korekt, poprawek itd., tak, że sama czysta realizacja to czasem nie więcej niż 50% czasu.

Warto dodać, że zwykle animacja, jako forma filmu, ma klasyczną strukturę:

  1. Wstęp
  2. Rozwinięcie
  3. Finał
  4. Zakończenie

Warto trzymać się tego sprawdzonego schematu.

Na koniec tej części wprowadzającej dodam jeszcze jedno zalecenie. Przed przystąpieniem do każdego, zwłaszcza większego, projektu graficznego warto zadać sobie trzy pytania i naturalnie odpowiedzieć na nie - najlepiej na kartce lub komputerze:

  1. Co robimy?
  2. Po co? W jakim celu?
  3. Jak? W jaki sposób?

Niech odpowiedzi na nie będą naszymi "drogowskazami" w trakcie realizacji projektu i lepiej pozwolą nam zapanować nad nim.

Klatki kluczowe

OK, mamy już gotowe obiekty na scenie – jak je animować w Blenderze? Odpowiedź: klatki kluczowe.

Każdy obiekt ma swoje własne klatki kluczowe. Można powiedzieć, że klatki kluczowe ustalają i zapamiętują atrybuty ruchu dla danego obiektu, przez to są jego właściwością. Po zaznaczeniu obiektu, na dole ekranu, zobaczyć można linię czasową (Timeline) z zielonym paseczkiem wskazującym na położenie głowicy - bieżącej klatki. Możemy przesuwać ją myszką (LPM) lub Alt + Rolka myszki lub przyciskami przewijania na dole.

Wstawianie klatek kluczowych:

1. Zaznaczyć obiekt, który chcemy animować (PPM)

2. Ustawić klatkę bieżącą na numerze, gdzie chcemy wstawić klatkę kluczową.

3. Dokonać transformacji obiektu (położenie G, skala S, obrót R, rozmiar, kolor itd)

4. Użyć klawisza I (Insert) oraz wybrać co chcemy „zakluczować”:

    • Globalne:
      - Położenie (Location)
      - Obroty (Rotation)
      - Skalowanie (Scaling)
      - Położenie i obroty (LocRot)
      - Położenie i skala (LocScale)
      - Położenie, obroty i skala (LocRotScale)
      - Obroty i skala (RotScale)
    • Lokalne:
      - Położenie (Visual Location)
    • Różnicowe:
      - Położenie (Delta Location)

    Uwaga: animacja wymaga minimum dwóch klatek kluczowych. Początkowy stan jest zakluczowany, teraz należy zakluczować w innej klatce kolejny stan.

    5. Ustawić głowicę w innej klatce - ustanowić inna klatkę, klatką bieżącą

    6. Dokonać transformacji obiektu - tego samego parametru co w punkcie 3.

    7. Zakluczować klatkę - używając klawisza I - oraz wybrać parametr do zakluczowania - analogicznie jak w punkcie 4.

    8. Sprawdzenie naszej animacji, czyli jej odtworzenie - przycisk Play lub skrót Alt+A

    Przed uruchomieniem warto wrócić z głowicą na początek - myszką (LPM) lub wstawić 1 jako klatkę bieżącą lub przyciskiem cofnąć na początek.

    Gdy włączymy podgląd właściwości - Panel Properties (N) - to po wstawieniu klatki kluczowej (np. dla położenia - Location) zauważymy zmienione kolory tła - na żółty.

    Możemy też czasem zobaczyć zielony kolor tła. Tak jest w sytuacji, gdy przeniesiemy bieżącą klatkę (głowicę) w miejsce, gdzie dla kluczowanego parametru, bieżąca klatka nie jest klatką kluczową. Innymi słowy, dla tego obiektu i tego parametru są gdzieś klatki kluczowe, ale aktualnie głowica jest poza klatką kluczową.

    Istnieją inne (wygodniejsze?) sposoby wstawiania klatek kluczowych:

    Na panelu właściwości (N) najeżdżamy na pole z parametrem i wciskamy klawisz I

    lub najeżdżamy nad pole i wciskamy prawy przycisk myszy (PPM). Z menu kontekstowego wybieramy Insert Keyframe - dla kluczowania wszystkich osi lub Insert Single Keyframe - dla kluczowania tylko jednej osi.

    W Blenderze możemy próbować kluczować prawie każdy parametr np. kolor materiału, wystarczy najechać na pole Diffuse, następnie PPM i wybrać Insert Keyframe. Zobaczymy żółtą obwódkę wokół pola z kolorem materiału. Obwódka dowodzi wstawienia klatki kluczowej. Animacja, to przynajmniej dwie klatki kluczowe, zatem przesuwamy głowicę (zmieniamy klatkę bieżącą na inną), zmieniamy kolor Diffuse na inny i ponownie PPM i wybieramy Insert Keyframe.

    Usuwanie klatek kluczowych to Alt+I lub prawy przycisk (PPM) nad zakluczowane pole i Delete Keyframe - dla usunięcia pojedynczej (bieżącej) klatki kluczowej lub Clear Keyframes - dla usunięcie wszystkich klatek kluczowych dla tego parametru zaznaczonego obiektu

    Zmiana prędkości - przyspieszenia

    Zauważcie, że domyślnie: na początku kostka stoi, następnie przyspiesza, później porusza się, a na koniec hamuje i zatrzymuje się. Skąd to znamy? Odpowiedź: 6 zasada animacji wg Disneya. A gdyby tak chcieć zmienić dynamikę ruchu - przyspieszenia, opóźnienia itd. Do tego służą specjalne panele.

    Blender ma duże możliwości w zakresie dostosowania interfejsu do własnych potrzeb. Ma też kilka gotowych zestawów paneli. Do tej pory pracowaliśmy na domyślnym zestawie (Default), ale możemy przełączyć na zestaw do animacji. W tym celu wybieramy schemat Animation z górnego menu.

    Po przełączeniu ukaże nam się zupełnie inny zestaw paneli.

    W panelu Dope Sheet możemy zaznaczać (np. za pomocą PPM lub B lub C lub Ctrl+LPM) klatki kluczowe i je przesuwać (G lub S) wzdłuż osi czas (Timeline). W efekcie przyspieszamy lub opóźniamy animacje.

    Krzywe ruchu (F-curve) pokazują zmianę jakiegoś parametru (np. Location) w czasie dla poszczególnych osi X, Y, Z.

    Po lewej stronie mamy Obiekt -> Cube, parametr -> Location, oś -> Y. Po prawej części krzywą w zielonym kolorze (odpowiada za oś Y). Jak należy ją rozumieć:

    • fragment poziomy - nic się nie dzieje - nie ma zmiany. W przykładzie klatki sprzed 0 - Cube nie porusza się w osi Y.
    • krzywa wygina się i powoli podnosi się - Cube przyspiesza. W przykładzie klatki od 0 do ok. 40.
    • krzywa podnosi się jednostajnie - Cube przesuwa się ze stałą prędkością. W przykładzie klatki od ok 40 do ok. 100
    • krzywa wygina się i powoli wraca do poziomu - Cube spowalnia. W przykładzie klatki od ok. 100 do 140
    • fragment poziomy - nic się nie dzieje - nie ma zmiany. W przykładzie klatki od 140 do 220 i dalej - Cube nie porusza się w osi Y.

    Krzywe (F-curve) to zwykłe krzywe Beziera - mają swoje węzły i manipulatory - możemy to zmieniać. Możemy też zmieniać ich typ (V). Możemy też dodawać węzły - wstawiając klatki kluczowej (I) lub je duplikując (Shift+D). Można też je kasować (Del).

    W następnym wpisie tradycyjnie zrobimy ćwiczenie: krótką, kilkunastosekundową animację, promującą coś, co wstawimy na tekstury :)

    CDN

    Dla tych, co mają niedosyt wiedzy, tradycyjnie polecam: