Blender-Welten aus der .blend im Map-Ordner bauen
Analog zur Ink-Pipeline: eine .blend neben ihrer .glb im Map-Ordner (assets/maps/<map>/<name>.blend) wird von tools/build-models.sh headless zu <name>.glb exportiert, inkrementell per mtime. build.rs stößt das beim cargo-Build an, sobald sich eine .blend geändert hat. - Export: blender -b --factory-startup ... export_scene.gltf mit export_extras (collide/signal/role), export_apply, yup, image AUTO. - Blender über $BLENDER oder PATH; fehlt es, wird der Schritt still übersprungen — die committeten .glb reichen zum Bauen/Spielen. - Ein Export-Fehler bei vorhandenem Blender ist fatal (wie bei Ink). - build.rs teilt sich jetzt run_script/watch-Helfer für beide Pipelines. - Cinemaroom.blend -> assets/maps/cinema/cinema.blend verschoben und die .glb einmal daraus gebaut. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196AM4UyAJEXVtPvp5DdKr8
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f51f4e83fd
commit
331caf417a
@@ -5,20 +5,22 @@ Start in der Konsole gemeldet (`[model]`, `[audio]`, `[tex]`, …).
|
||||
|
||||
## 3D / Blender
|
||||
|
||||
- **Format:** glTF Binary (`.glb`) nach `assets/maps/props/` — alle Dateien
|
||||
dort werden beim Start geladen (anderer Ordner: `cargo run -- --maps <dir>`).
|
||||
- **Beim Export anhaken:** „Include → Custom Properties" (sonst fehlen die
|
||||
Properties unten) **und** „Include → Textures" / „Data → Images"
|
||||
(sonst fehlen die Texturen).
|
||||
- **Ablage:** die `.blend` in ihren Map-Ordner legen —
|
||||
`assets/maps/<map>/<name>.blend`. `cargo build` (oder
|
||||
`./tools/build-models.sh`) exportiert sie zu `<name>.glb` daneben; von
|
||||
Hand exportieren musst du nichts. Die Welt sind alle `.glb` unter
|
||||
`assets/maps/props/`; ein anderer Ordner per `cargo run -- --maps <dir>`.
|
||||
- **Maßstab:** 1 Blender-Meter = 1 Engine-Meter. Augenhöhe 1,6 m,
|
||||
Türen/Durchgänge ≥ 2 m hoch und ≥ 0,8 m breit denken.
|
||||
- **Texturen:** Bild im Material als Base Color zuweisen — es wird beim
|
||||
Export in die `.glb` eingebettet und mitgeladen (kein `assets/textures/`
|
||||
mehr). Format **PNG** (Export „Images: PNG" oder „Automatic"). Fehlt das
|
||||
Bild, erscheint die Platzhalter-Textur.
|
||||
- **Texturen:** Bild im Material als Base Color zuweisen (PNG) — es wird
|
||||
beim Export in die `.glb` eingebettet. Damit die Datei self-contained
|
||||
bleibt: „File → External Data → Pack Resources". Fehlt das Bild,
|
||||
erscheint die Platzhalter-Textur.
|
||||
- **Kacheln / Skalieren:** über einen **Mapping-Node** vor dem
|
||||
Image-Texture-Node (Location/Scale). Die Engine backt das
|
||||
(`KHR_texture_transform`) beim Laden in die UVs ein.
|
||||
- **Custom Properties** (unten) kommen automatisch mit; Modifier werden
|
||||
beim Export angewandt.
|
||||
|
||||
### Custom Properties auf Mesh-Objekten
|
||||
|
||||
@@ -72,8 +74,10 @@ Start in der Konsole gemeldet (`[model]`, `[audio]`, `[tex]`, …).
|
||||
|
||||
## Testen
|
||||
|
||||
- `cargo run` — Konsole zeigt beim Start, was ankam: Objekte, Dreiecke,
|
||||
Empties und **jede Custom Property**. Fehlt eine → Export-Haken prüfen.
|
||||
- `cargo run` — baut geänderte `.blend` neu und zeigt beim Start, was
|
||||
ankam: Objekte, Dreiecke, Empties und **jede Custom Property**. Fehlt
|
||||
eine, sitzt sie in Blender nicht am Objekt (Object Properties → Custom
|
||||
Properties), nicht am Mesh-Data.
|
||||
- Im Spiel (Konsole = das Terminal, aus dem gestartet wurde): `noclip` zum
|
||||
freien Fliegen, `kv` zeigt alle Variablen, `signal <name>` feuert jedes
|
||||
Signal von Hand, `reload` lädt signals.toml neu.
|
||||
|
||||
Reference in New Issue
Block a user