blender customization

This commit is contained in:
Vysyr committed 2026-10-31 17:21:00 +01:00
1 parent fb39e290c0
commit 8c0a639fba
12 files changed
+264 -8

No files matched your search

+56
View File
@@ -128,8 +128,64 @@ python3 tools/run_workshop.py --check --blender
Ścieżki nie są zapisane na sztywno w bibliotece. Launcher ma domyślną lokalizację
instalacji UE 5.7 na Windows; na Linuksie korzysta ze zmiennej lub PATH.
## Wybór postaci i model pobrany z internetu
W `exercises/my_shot.py` wybierz `MODEL`:
| Wartość | Postać |
|---|---|
| `"primitive"` | Dotychczasowa postać z brył, bez importu. |
| `"robot"` | RobotPolice z dołączonego `DemoAssets`. |
| `"pilot"` | Humanoid z `DemoAssets/pilot`. |
| `"file"` | Własny plik wskazany w `MODEL_FILE`. |
Przykład własnego modelu:
```python
MODEL = "file"
MODEL_FILE = PROJECT / "source_assets/models/my_character.glb"
MODEL_HEIGHT = 200
MODEL_ROTATION = (0, 0, 90)
```
Rozpakuj pobrany model razem z teksturami. Możesz użyć ścieżki absolutnej
albo ścieżki względem projektu. GLB z osadzonymi teksturami PNG/JPEG pozwala
przenieść podstawowe materiały PBR w jednym pliku. FBX i OBJ wymagają zachowania
plików tekstur i powiązanych FBM/MTL. Nie wczytujemy ZIP ani plików `.uasset`.
Import zawsze odbywa się do wydzielonego katalogu generowanych assetów.
Biblioteka łączy części modelu, ustawia jego wysokość w centymetrach i przesuwa
podstawę na Z=0. `MODEL_HEIGHT=None` zachowuje rozmiar źródłowy. Jeśli model leży
na boku, popraw `MODEL_ROTATION` (roll, pitch, yaw); obrót jest stosowany przed
dopasowaniem wysokości. Pivot animacji znajduje się na środku podstawy.
Dla pojedynczego atlasu FBX/OBJ można dołączyć mapy `NazwaModelu_BC.png`,
`_N`, `_R`, `_M`, `_E` (również JPG/JPEG). Biblioteka odtworzy z nich jeden
materiał dla wszystkich slotów. Robot i pilot korzystają z tej konwencji.
Bez pliku `_BC` pozostają materiały zaimportowane przez UE. W GLB zachowywany
jest osobny materiał dla każdego slotu.
Po zmianie postaci reszta skryptu działa tak samo: klucze `location`, `rotation`
i `scale` animują cały model. W przykładzie jest też opcjonalny podskok.
Modele z rigami są w tej wersji importowane jako statyczna geometria:
animacje kości, chodzenie z Mixamo i retargeting nie są jeszcze obsługiwane.
Wybrany model działa zarówno w edytorze, jak i przez `my_shot_headless.py`.
## Blender → UE → film
Własną kopię wybierzesz też bezpośrednio w `my_shot.py`:
```python
MODEL = "file"
MODEL_FILE = PROJECT / "source_assets/character/character_custom.blend"
```
Zapisz zmiany w Blenderze i ponownie uruchom ćwiczenie. Za każdym razem plik
jest eksportowany w tle i aktualizuje ten sam asset `CustomCharacter` w UE.
Nie trzeba ręcznie usuwać poprzedniego modelu. Eksport obejmuje kolekcję `Character`.
Na Windows biblioteka wykrywa też standardowe instalacje w `Blender Foundation`,
jeśli Blender nie jest w PATH; `WORKSHOP_BLENDER` pozwala wybrać inną instalację.
Przykładowy model znajduje się w `source_assets/character/character.blend`.
Można go też odtworzyć (generator nie nadpisuje istniejącego pliku):