Przejdź do treści

Eksport modeli 3D z Blendera do Godot: Kompletny poradnik krok po kroku

Jeśli dopiero zaczynasz swoją przygodę z tworzeniem gier 3D w Godot i zastanawiasz się, jak prawidłowo przenieść swoje modele z Blendera, ten poradnik jest dla Ciebie. Przedstawię dwa sprawdzone workflow, ze szczególnym uwzględnieniem formatu .glb oraz tworzenia zasobów .tres w Godot.

Przygotowanie modelu w Blenderze

Zanim przejdziesz do eksportu, musisz odpowiednio przygotować swój model. Te kroki są kluczowe dla poprawnego działania modelu w Godot:

1. Ukryj lub usuń kamerę i światła

Obiekty takie jak kamery i światła są potrzebne tylko w Blenderze do podglądu sceny. W Godot będziesz korzystać z własnego systemu oświetlenia i kamer, więc nie ma sensu ich eksportować.

Jak to zrobić: - Zaznacz kamerę i światła w outlinerze (prawy panel) - Naciśnij X i wybierz Delete lub - Użyj ikony oka w outlinerze, aby je ukryć przed eksportem

2. Zastosuj transformacje (Apply Transforms)

To jeden z najważniejszych kroków! Jeśli go pominiesz, Twój model może pojawić się w Godot w złej skali, rotacji lub pozycji.

Jak to zrobić: - Zaznacz wszystkie obiekty, które chcesz wyeksportować (A aby zaznaczyć wszystko) - Naciśnij Ctrl + A (lub Cmd + A na Macu) - Wybierz All Transforms z menu

Co to dokładnie robi? Resetuje wszystkie transformacje (przesunięcie, rotację, skalę) do wartości domyślnych, ale zachowuje aktualny wygląd modelu. Dzięki temu Godot otrzymuje "czystą" geometrię.

3. Wyrównanie osi (Axis Alignment)

Blender i Godot używają różnych konwencji dotyczących osi: - Blender: Z-up (oś Z skierowana do góry) - Godot: Y-up (oś Y skierowana do góry)

Na szczęście eksporter glTF automatycznie to obsługuje, ale warto o tym pamiętać podczas modelowania. Twój model powinien być zorientowany "do przodu" wzdłuż osi -Y w Blenderze.

Workflow #1: Eksport do formatu .glb (ZALECANY)

Format glTF/GLB to otwarty standard dla modeli 3D, idealny do silników gier. GLB to binarna wersja glTF - wszystko jest spakowane w jeden plik.

Krok 1: Eksport z Blendera

  1. W Blenderze przejdź do menu FileExportglTF 2.0 (.glb/.gltf)

  2. Wybierz lokalizację zapisu: Najlepiej eksportować bezpośrednio do folderu swojego projektu Godot, np.: res://assets/models/

  3. Skonfiguruj ustawienia eksportu (prawy panel w oknie eksportu):

Include (Co dołączyć): - ✅ Selected Objects - jeśli chcesz wyeksportować tylko zaznaczone obiekty - ✅ Visible Objects - eksportuje tylko widoczne obiekty - ✅ Custom Properties - jeśli używasz niestandardowych właściwości

Transform: - ✅ +Y Up - automatycznie konwertuje układ osi z Blendera do Godot

Geometry: - ✅ Apply Modifiers - zastosuje wszystkie modyfikatory - ✅ UVs - eksportuje mapowanie UV (niezbędne dla tekstur) - ✅ Normals - eksportuje normalne (ważne dla oświetlenia) - ✅ Tangents - eksportuje tangenty (potrzebne dla normal map) - ⚠️ Vertex Colors - jeśli używasz kolorów wierzchołków

Materials: - Format: Wybierz w zależności od potrzeb: - Material Export: Export - eksportuje materiały - Images: Automatic - automatycznie dołącza tekstury

Animation: - ✅ Zaznacz, jeśli Twój model ma animacje - Group by NLA Track - jeśli używasz NLA Editor do organizacji animacji - Export Deformation Bones Only - optymalizacja dla animacji szkieletowych

  1. Wybierz format:
  2. glTF Binary (.glb) - ZALECANY - wszystko w jednym pliku
  3. glTF Separate (.gltf + .bin + tekstury) - jeśli potrzebujesz edytować pliki ręcznie

  4. Kliknij Export glTF 2.0

Krok 2: Import do Godot

  1. Otwórz Godot i przejdź do zakładki FileSystem (domyślnie na dole)

  2. Znajdź swój plik .glb - Godot automatycznie go wykryje i zaimportuje

  3. Otwórz zaawansowane ustawienia importu:

  4. Kliknij na plik .glb w FileSystem
  5. Przejdź do zakładki Import (u góry, obok Scene)
  6. Lub kliknij prawym przyciskiem na plik → Advanced Import Settings...

Krok 3: Konfiguracja importu w Godot

W oknie Advanced Import Settings zobaczysz:

Root Type: - Node3D - podstawowy węzeł 3D (domyślnie) - Spatial - w starszych wersjach Godot - RigidBody3D / CharacterBody3D - jeśli model ma być ciałem fizycznym

Root Name: - Możesz zmienić nazwę głównego węzła

Zakładka Nodes: - Tutaj widzisz hierarchię węzłów z Blendera - Możesz klikać na poszczególne węzły i zmieniać ich typ

Zakładka Meshes: - Widzisz listę wszystkich meshy - Możesz włączyć/wyłączyć generowanie kolizji - Generate Lightmap UV - jeśli planujesz używać lightmap

Zakładka Materials: - Podgląd i edycja zaimportowanych materiałów - Możesz tutaj przypisać własne materiały

Actions: Kliknij przycisk Actions i wybierz jedną z opcji: - Extract Materials - WAŻNE - wyodrębnia materiały do osobnych plików .tres - Extract Meshes - wyodrębnia meshe - Set Animation Storage - konfiguruje miejsce zapisu animacji

Dlaczego warto wyodrębnić materiały? Jeśli materiały pozostaną w pliku .glb, każda zmiana w Blenderze nadpisze Twoje modyfikacje w Godot. Wyodrębnienie tworzy niezależne pliki .tres, które możesz swobodnie edytować.

Krok 4: Wyodrębnienie zasobów (Extract)

  1. Kliknij ActionsExtract Materials...
  2. Wybierz folder, np. res://assets/materials/
  3. Godot utworzy pliki .tres dla każdego materiału
  4. Kliknij Reimport aby zastosować zmiany

Analogicznie możesz postąpić z meshami i animacjami.

Krok 5: Używanie modelu w scenie

  1. Przeciągnij plik .glb na scenę lub instancjonuj go: Kliknij prawym → Instance Child Scene

  2. Lub załaduj go przez kod (GDScript): gdscript var model_scene = preload("res://assets/models/character.glb") var instance = model_scene.instantiate() add_child(instance)

Tworzenie zasobów .tres z plików .glb

Format .tres to tekstowy format zasobów Godot. Oto jak tworzyć różne typy zasobów z zaimportowanych modeli:

Metoda 1: Automatyczne wyodrębnienie (opisane powyżej)

Najszybszy sposób to użycie ActionsExtract Materials/Meshes/Animations w Advanced Import Settings.

Metoda 2: Ręczne tworzenie materiału .tres

  1. W zakładce FileSystem kliknij prawym na folder materials
  2. Wybierz New Resource...
  3. Wyszukaj StandardMaterial3D lub ShaderMaterial
  4. Zapisz jako np. character_material.tres
  5. W inspektorze możesz teraz edytować właściwości materiału
  6. Przypisz ten materiał do swojego modelu

Metoda 3: Zapisywanie mesh jako zasób

Czasem chcesz mieć mesh jako osobny zasób (np. do użycia w wielu miejscach):

  1. W scenie zaznacz MeshInstance3D z Twojego zaimportowanego modelu
  2. W inspektorze znajdź właściwość Mesh
  3. Kliknij na ikonę zasobu (strzałka) obok właściwości Mesh
  4. Wybierz Save As...
  5. Zapisz jako character_mesh.tres

Teraz możesz używać tego mesha w wielu MeshInstance3D:

var my_mesh = load("res://assets/meshes/character_mesh.tres")
$MeshInstance3D.mesh = my_mesh

Metoda 4: Tworzenie AnimationLibrary .tres

Jeśli Twój model ma animacje:

  1. W Advanced Import Settings kliknij ActionsSet Animation Storage...
  2. Wybierz Save to File i wskaż lokalizację
  3. Zostanie utworzony plik .tres z AnimationLibrary
  4. Możesz go później załadować i użyć w AnimationPlayer:
var anim_library = load("res://assets/animations/character_anims.tres")
$AnimationPlayer.add_animation_library("character", anim_library)

Edycja zasobów .tres

Zasoby .tres możesz edytować na dwa sposoby:

1. W inspektorze Godot: - Kliknij dwukrotnie na plik .tres w FileSystem - Edytuj właściwości w inspektorze

2. Jako tekst (zaawansowane): - Pliki .tres są czytelnym tekstem - Możesz je otwierać w edytorze tekstu - Przydatne do version control (Git)

Przykład zawartości pliku .tres (materiał):

[gd_resource type="StandardMaterial3D" format=3]

[resource]
albedo_color = Color(0.8, 0.2, 0.2, 1)
metallic = 0.5
roughness = 0.3

Workflow #2: Bezpośredni import plików .blend

Godot potrafi importować pliki .blend bezpośrednio, ale wymaga to zainstalowanego Blendera.

Konfiguracja

  1. W Godot przejdź do EditorEditor Settings
  2. Znajdź FileSystemImportBlender
  3. Ustaw ścieżkę do pliku wykonywalnego Blendera (blender.exe)

Import

  1. Po prostu skopiuj plik .blend do folderu projektu Godot
  2. Godot automatycznie go wykryje i zaimportuje
  3. Użyj tych samych kroków konfiguracji importu co dla .glb

Uwaga o workflow .blend

Zalety: - Szybkie iteracje - zapisujesz w Blenderze, Godot auto-reimportuje - Nie musisz ręcznie eksportować - Świetne do prototypowania

Wady: - Większe pliki (Blender zapisuje więcej danych) - Wymaga Blendera na każdej maszynie deweloperskiej - Mniejsza kontrola nad tym, co jest eksportowane - Może importować niepotrzebne obiekty (kamery, światła)

Porównanie workflow

Cecha .glb/.gltf .blend
Rozmiar pliku ✅ Mniejszy ❌ Większy
Kontrola eksportu ✅ Pełna ⚠️ Ograniczona
Szybkość iteracji ⚠️ Trzeba eksportować ✅ Automatyczna
Przenośność ✅ Działa wszędzie ❌ Wymaga Blendera
Standard branżowy ✅ Tak ❌ Nie
Tekstury ✅ Wbudowane ⚠️ Zależne

Najlepsze praktyki

1. Organizacja plików

Zorganizuj strukturę folderów:

res://assets/
  ├── models/
  │   ├── characters/
  │   │   ├── player.glb
  │   │   └── enemy.glb
  │   └── props/
  ├── materials/
  │   ├── player_material.tres
  │   └── metal_texture.tres
  ├── meshes/
  └── animations/
      └── player_anims.tres

2. Nazewnictwo

Używaj jasnych, konsekwentnych nazw: - character_player.glb zamiast char1.glb - material_metal_rusty.tres zamiast mat1.tres

3. Optymalizacja

  • Używaj instancji: Jeśli ten sam model występuje wiele razy, używaj instancji zamiast duplikowania
  • LOD (Level of Detail): Dla większych scen rozważ tworzenie wersji modelu o różnej szczegółowości
  • Kompresja tekstur: W import settings możesz skonfigurować kompresję

4. Version Control

  • Pliki .glb i .tres są przyjazne dla Git
  • Rozważ dodanie plików .blend do .gitignore, jeśli są duże
  • Wyodrębnione materiały .tres są łatwiejsze do mergowania

5. Testowanie

Po zaimportowaniu zawsze sprawdź: - Czy skala jest prawidłowa (porównaj z GridMap) - Czy materiały wyglądają poprawnie - Czy animacje działają - Czy kolizje (jeśli są) mają odpowiedni kształt

Rozwiązywanie problemów

Model jest za duży/za mały

Rozwiązanie: - W Blenderze zaznacz model, naciśnij S (scale), wpisz wartość (np. 0.1), zatwierdź - Koniecznie zastosuj transformacje (Ctrl + AAll Transforms) - Eksportuj ponownie

Materiały wyglądają źle

Rozwiązanie: - Upewnij się, że używasz Principled BSDF w Blenderze - Sprawdź, czy tekstury są prawidłowo przypisane - W Godot wyodrębnij materiały i edytuj ręcznie

Animacje nie działają

Rozwiązanie: - Sprawdź, czy animacje były zaznaczone podczas eksportu - Upewnij się, że armature (szkielet) został wyeksportowany - W Godot sprawdź AnimationPlayer - czy animacje są tam widoczne

Model jest "do góry nogami" lub źle zorientowany

Rozwiązanie: - W ustawieniach eksportu glTF upewnij się, że +Y Up jest zaznaczone - W Blenderze sprawdź orientację modelu (powinien być zorientowany wzdłuż -Y)

Podsumowanie

Workflow Blender → Godot przez format .glb jest aktualnym standardem i najlepszym wyborem dla większości projektów. Oferuje pełną kontrolę, małe rozmiary plików i doskonałą kompatybilność.

Podstawowe kroki: 1. ✅ Przygotuj model w Blenderze (usuń kamery/światła, zastosuj transformacje) 2. ✅ Eksportuj do .glb z odpowiednimi ustawieniami 3. ✅ Zaimportuj w Godot 4. ✅ Wyodrębnij materiały/meshe do plików .tres 5. ✅ Używaj zasobów .tres do elastycznej edycji

Workflow .blend jest szybszy do prototypowania, ale .glb jest lepszy dla produkcji.


Mam nadzieję, że ten poradnik pomoże Ci w płynnym przepływie pracy między Blenderem a Godot. Tworzenie gier 3D to ekscytująca przygoda, a dobre workflow pozwala skupić się na kreatywności zamiast na problemach technicznych!