Blog (18)
Komentarze (137)
Recenzje (0)

Grafika 3D: Blender, cz. XVI – animacja

Strona główna@skala67Grafika 3D: Blender, cz. XVI – animacja
26.03.2018 01:07

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:

bEanrtNj
  • 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:

bEanrtNp
  • 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.

bEanrtNq

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:

bEanrtNr
  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
bEanrtNs

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.

Linia czasowa (timeline) - pasek na dole ekranu z klatkami (frames)
Linia czasowa (timeline) - pasek na dole ekranu z klatkami (frames)

Wstawianie klatek kluczowych:

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

Selekcja sześcianu (Cube) - prawy przycisk myszy (PPM)
Selekcja sześcianu (Cube) - prawy przycisk myszy (PPM)

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

Domyślnie głowica ustawiona w klatce 1 - to będzie pierwsza klatka kluczowa
Domyślnie głowica ustawiona w klatce 1 - to będzie pierwsza klatka kluczowa

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

Zmiana lokalizacji - transformacja przesunięcia (G)
Zmiana lokalizacji - transformacja przesunięcia (G)

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) …
    Kluczowanie parametru Lokalizacja w bieżącej klatce
    Kluczowanie parametru Lokalizacja w bieżącej klatce

    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ą

    Wskazanie myszką (lub wstawienie numeru) nowego położenia głowicy
    Wskazanie myszką (lub wstawienie numeru) nowego położenia głowicy

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

    Zmiana lokalizacji - transformacja przesunięcia (G)
    Zmiana lokalizacji - transformacja przesunięcia (G)

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

    Kluczowanie parametru Lokalizacja w bieżącej klatce
    Kluczowanie parametru Lokalizacja w bieżącej klatce

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

    Uruchomienie animacji - przycisk Play lub Alt+A
    Uruchomienie animacji - przycisk Play lub 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.

    Zmiana koloru tła np. dla położenia, gdy animacja ruchu
    Zmiana koloru tła np. dla położenia, gdy animacja ruchu

    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ą.

    Szare tło - brak klatki kluczowej. Żółte tło - bieżąca klatka jest klatką kluczową. Zielone tło - istnieje klatka kluczowa, lecz bieżąca klatka nie jest kluczową
    Szare tło - brak klatki kluczowej. Żółte tło - bieżąca klatka jest klatką kluczową. Zielone tło - istnieje klatka kluczowa, lecz bieżąca klatka nie jest 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

    Kursor nad pole z kluczowanym parametrem oraz klawisz I
    Kursor nad pole z kluczowanym parametrem oraz 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.

    Kluczowanie z wykorzystaniem prawego przycisku myszy (PPM) i menu kontekstowego
    Kluczowanie z wykorzystaniem prawego przycisku myszy (PPM) i menu kontekstowego

    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.

    Matriał (strefa Diffuse) z zakluczowanym kolorem - żółta obwódka
    Matriał (strefa Diffuse) z zakluczowanym kolorem - żółta obwódka

    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

    Delete - usuwa pojedynczą klatkę kluczową. Clear - usuwa wszystkie klatki kluczowe dla parametru
    Delete - usuwa pojedynczą klatkę kluczową. Clear - usuwa wszystkie klatki kluczowe dla parametru

    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.

    Przełączenie interfejsu ze schematu Default w schemat Animation
    Przełączenie interfejsu ze schematu Default w schemat Animation

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

    Układ paneli dla schematu Animation
    Układ paneli dla schematu Animation

    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.

    Selekcja i przesuwanie klatek na linii czasu w oknie Dope Sheet
    Selekcja i przesuwanie klatek na linii czasu w oknie Dope Sheet

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

    Krzywa zmiany lokalizacji Cube na osi Y
    Krzywa zmiany lokalizacji Cube na osi Y

    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.
    Wpływ zmiany kształtu krzywej na ruch
    Wpływ zmiany kształtu krzywej na ruch

    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:

    bEanrtOf