Assety:
1. Tworzenie animacji za pomocą AnimatedSprite2D
Kiedy używać?
AnimatedSprite2D jest idealny, gdy posiadasz gotowe klatki animacji w formie plików graficznych, które chcesz po prostu zaimportować i odtwarzać.
Krok po kroku:
- Dodanie AnimatedSprite2D do sceny
- Kliknij prawym przyciskiem myszy w drzewie node’ów, wybierz Add Child Node i dodaj AnimatedSprite2D.
- Dodanie SpriteFrames
- W prawym panelu właściwości znajdź opcję Frames i kliknij na nią, a następnie wybierz New SpriteFrames.
- Kliknij nowo utworzony element SpriteFrames, aby otworzyć edytor animacji.
- Tworzenie animacji
- W edytorze SpriteFrames dodaj nową animację (np. „walk”) i przeciągnij gotowe pliki klatek animacji do panelu animacji.
- Upewnij się, że pliki znajdują się wcześniej w File System – jeśli nie, zaimportuj je do projektu.
- Konfiguracja animacji
- Ustaw takie parametry jak:
- FPS (ilość klatek na sekundę) – wpływa na szybkość animacji.
- Loop (zapętlenie) – zaznacz, jeśli chcesz, aby animacja odtwarzała się w pętli.
- Jeśli chcesz, aby konkretna klatka była wyświetlana dłużej, kliknij na nią i zmień jej czas trwania.
- Ustaw takie parametry jak:
- Przełączanie między animacjami
- Aby zmieniać animacje (np. między „walk” a „idle”), napisz prosty skrypt przypisany do AnimatedSprite2D:
extends AnimatedSprite2D
func _process(delta):
if Input.is_action_pressed("ui_right"):
animation = "walk"
else:
animation = "idle"2. Tworzenie animacji za pomocą AnimationPlayer
Kiedy używać?
AnimationPlayer sprawdza się, gdy chcesz tworzyć animacje bez gotowych klatek – np. animując poszczególne części postaci (ręce, nogi, głowę) lub obiekty w grze.
Krok po kroku:
- Dodanie AnimationPlayer do sceny
- Dodaj nowy node, np. Node2D, który będzie bazą dla Twojej postaci.
- Dodaj do niego kolejne node’y Sprite2D jako dzieci, które reprezentują części postaci (np. ciało, głowa, ręce).
- Ustawienie sprite’ów
- Przeciągnij odpowiednie pliki graficzne do node’ów Sprite2D (np. ciało postaci do jednego sprite’a, ręce do innych).
- Ustaw pozycję każdego sprite’a, aby wszystkie elementy tworzyły kompletną postać.
- Dla odbicia lustrzanego (np. ręki), zmień parametr Scale X na wartość ujemną, np. -1.
- Dodanie AnimationPlayer
- Dodaj do głównego node’a (np. Node2D) node AnimationPlayer.
- Tworzenie animacji w AnimationPlayer
- Wybierz AnimationPlayer i kliknij New w dolnym panelu, aby utworzyć nową animację (np. „Idle”).
- Wybierz długość animacji oraz ustaw opcję zapętlenia, jeśli chcesz, aby animacja odtwarzała się w pętli.
- Animowanie elementów
- Zaznacz wszystkie sprite’y (np. ciało, ręce, głowę) i kliknij ikonę klucza, aby zapisać ich początkową pozycję i rotację jako klatkę kluczową.
- Przesuń wskaźnik czasu na osi czasu i zmień pozycję/rotację sprite’ów (np. delikatnie przesuwając je w górę). Ponownie kliknij ikonę klucza, aby zapisać nowe klatki.
- Powtórz proces, aby stworzyć płynny ruch, np. falowanie góra-dół.
- Testowanie i zapętlanie
- Odtwórz animację za pomocą przycisku „Play” i sprawdź, czy działa poprawnie.
- Aby zapętlić animację, zaznacz opcję Loop w ustawieniach animacji.
3. Dodawanie klatek kluczowych i tworzenie ruchu
Krok po kroku:
- Tworzenie klatek kluczowych (Keyframes)
- Po zaznaczeniu interesujących Cię elementów postaci (np. ręce, ciało, głowa), kliknij ikonę klucza Create, aby zapisać ich początkową pozycję i rotację.
- Przesuń wskaźnik czasu (np. na 1 sekundę) i zmodyfikuj pozycje elementów, np. unosząc ręce w górę.
- Kliknij kluczyk ponownie, aby zapisać kolejne klatki kluczowe.
- Zapętlanie ruchu
- W ustawieniach animacji zaznacz opcję Loop, aby animacja odtwarzała się w pętli.
- W ten sposób możesz tworzyć płynne animacje, np. falowania postaci w miejscu (Idle).
- Dodawanie kolejnych ruchów
- Aby animacja wyglądała bardziej naturalnie, dodaj ruchy innych części postaci.
- Przykład: Głowa postaci unosi się lekko w trakcie ruchu. Wybierz jej Transform i ustaw przesunięcie na osi Y (np. -10).
- Aby animacja wyglądała bardziej naturalnie, dodaj ruchy innych części postaci.
- Testowanie animacji
- Kliknij Play, aby zobaczyć efekty swojej pracy.
4. Tworzenie animacji zmiany tekstur
Krok po kroku:
- Zmiana tekstur w trakcie animacji
- Wybierz część postaci, np. twarz (Face).
- Na początku animacji kliknij kluczyk przy parametrze Texture, aby zapisać początkową teksturę.
- Przesuń wskaźnik czasu do odpowiedniego momentu (np. 0,2 sekundy) i zmień teksturę na nową. Kliknij kluczyk ponownie, aby zapisać zmianę.
- Przykład w animacji skoku (Jump)
- Tworząc animację skoku, możesz dodać zmianę wyrazu twarzy postaci na szczęśliwą lub smutną, w zależności od kontekstu.
- Resetowanie tekstury na koniec animacji
- Na końcu animacji możesz dodać klatkę kluczową, która przywróci początkową teksturę, aby postać wróciła do pierwotnego wyglądu.
5. Zarządzanie animacjami za pomocą skryptów
Dodanie skryptu do AnimationPlayer
- Dodaj nowy skrypt do AnimationPlayer. Przykład podstawowego skryptu zarządzającego animacjami:
extends AnimationPlayer
func _process(delta):
if Input.is_action_just_pressed("ui_jump"):
play("jump")
elif Input.is_action_just_pressed("ui_idle"):
play("idle")
5. Podsumowanie
Kluczowe zasady:
- Klatki kluczowe – zawsze zapisuj początkowe i końcowe wartości parametrów.
- Zapętlanie – przydatne w animacjach takich jak Idle.
- Resetowanie stanów – używaj animacji reset lub skryptów, aby uniknąć problemów z niezmienionymi teksturami.
- Skrypty – są niezbędne do przełączania między animacjami i zarządzania logiką w grze.
- Eksperymentuj – możesz animować nie tylko ruchy, ale także zmiany tekstur, skalowanie i inne parametry.
Dzięki narzędziom w Godot Engine możesz tworzyć niemal dowolne animacje, dostosowane do potrzeb Twojej gry. 🚀 Powodzenia!
