Animacja z Blendera do Godot z interakcją

Tworzenie interakcji z obiektem animowanym w Blenderze i przeniesienie tej animacji do Godot, aby można było na nią wpływać z poziomu gry, wymaga kilku kroków. Poniżej znajdziesz szczegółową instrukcję, jak to zrobić.

Krok 1: Przygotowanie animacji w Blenderze

  1. Utwórz nowy projekt:

    • Otwórz Blender i utwórz nowy projekt.

    • Usuń domyślną kostkę, kamerę i światło.

  2. Modelowanie obiektu:

    • Dodaj nowy obiekt, który chcesz animować (np. kostkę, cylinder, itp.).

    • Użyj narzędzi modelowania, aby dodać detale do obiektu.

  3. Dodawanie animacji:

    • Przejdź do trybu animacji (Timeline).

    • Dodaj klatki kluczowe (Keyframes) dla ruchu obiektu (np. przesunięcie, obrót, skalowanie).

    • Ustaw animację tak, aby obiekt poruszał się w określony sposób.

  4. Eksportowanie animacji:

    • Wybierz obiekt z animacją.

    • Przejdź do File > Export > glTF 2.0 (.glb/.gltf) i zapisz plik w katalogu projektu Godot.

<b>Krok 2: Importowanie animacji do Godot</b>

  1. Utwórz nowy projekt w Godot:

    • Otwórz Godot i utwórz nowy projekt.

    • Dodaj nową scenę 3D.

  2. Importowanie modeli i animacji:

    • Przeciągnij plik glTF do katalogu projektu w Godot.

    • Godot automatycznie zaimportuje modele i animacje.

  3. Dodawanie obiektu do sceny:

    • Dodaj zaimportowany obiekt do sceny.

    • Upewnij się, że animacja jest poprawnie zaimportowana i przypisana do obiektu.

<b>Krok 3: Tworzenie interakcji z animacją w Godot</b>

  1. Dodawanie skryptu do obiektu:

    • Wybierz obiekt z animacją i dodaj do niego nowy skrypt (GDScript).

    • Skrypt będzie odpowiedzialny za kontrolowanie animacji z poziomu gry.

  2. Kontrolowanie animacji za pomocą skryptu:

    • Otwórz skrypt i dodaj kod, który będzie kontrolował animację obiektu. Przykładowy kod:

gdscript
extends Spatial

var anim_player

func _ready():
anim_player = $AnimationPlayer

func _process(delta):
if Input.is_action_pressed("ui_right"):
anim_player.play("MoveRight")
elif Input.is_action_pressed("ui_left"):
anim_player.play("MoveLeft")
else:
anim_player.stop()
  1. Tworzenie animacji w AnimationPlayer:

    • Dodaj węzeł AnimationPlayer do obiektu.

    • Utwórz animacje w AnimationPlayer, które odpowiadają ruchom obiektu (np. "MoveRight", "MoveLeft").

    • Przypisz odpowiednie klatki kluczowe do animacji w AnimationPlayer.

  2. Testowanie interakcji:

    • Uruchom projekt i przetestuj interakcję z animacją obiektu.

    • Upewnij się, że animacje są poprawnie odtwarzane na podstawie wejścia użytkownika.