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
-
W Blenderze przejdź do menu
File→Export→glTF 2.0 (.glb/.gltf) -
Wybierz lokalizację zapisu: Najlepiej eksportować bezpośrednio do folderu swojego projektu Godot, np.:
res://assets/models/ -
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
- Wybierz format:
- glTF Binary (.glb) - ZALECANY - wszystko w jednym pliku
-
glTF Separate (.gltf + .bin + tekstury) - jeśli potrzebujesz edytować pliki ręcznie
-
Kliknij
Export glTF 2.0
Krok 2: Import do Godot
-
Otwórz Godot i przejdź do zakładki
FileSystem(domyślnie na dole) -
Znajdź swój plik .glb - Godot automatycznie go wykryje i zaimportuje
-
Otwórz zaawansowane ustawienia importu:
- Kliknij na plik .glb w FileSystem
- Przejdź do zakładki
Import(u góry, obokScene) - 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)
- Kliknij
Actions→Extract Materials... - Wybierz folder, np.
res://assets/materials/ - Godot utworzy pliki .tres dla każdego materiału
- Kliknij
Reimportaby zastosować zmiany
Analogicznie możesz postąpić z meshami i animacjami.
Krok 5: Używanie modelu w scenie
-
Przeciągnij plik .glb na scenę lub instancjonuj go:
Kliknij prawym → Instance Child Scene -
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 Actions → Extract Materials/Meshes/Animations w Advanced Import Settings.
Metoda 2: Ręczne tworzenie materiału .tres
- W zakładce FileSystem kliknij prawym na folder
materials - Wybierz
New Resource... - Wyszukaj
StandardMaterial3DlubShaderMaterial - Zapisz jako np.
character_material.tres - W inspektorze możesz teraz edytować właściwości materiału
- 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):
- W scenie zaznacz MeshInstance3D z Twojego zaimportowanego modelu
- W inspektorze znajdź właściwość
Mesh - Kliknij na ikonę zasobu (strzałka) obok właściwości Mesh
- Wybierz
Save As... - 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:
- W Advanced Import Settings kliknij
Actions→Set Animation Storage... - Wybierz
Save to Filei wskaż lokalizację - Zostanie utworzony plik .tres z AnimationLibrary
- 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
- W Godot przejdź do
Editor→Editor Settings - Znajdź
FileSystem→Import→Blender - Ustaw ścieżkę do pliku wykonywalnego Blendera (blender.exe)
Import
- Po prostu skopiuj plik .blend do folderu projektu Godot
- Godot automatycznie go wykryje i zaimportuje
- 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 + A → All 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!