Welt-Texturen aus der .glb statt aus assets/textures/
Der Loader zieht jetzt die baseColorTexture jedes Materials aus dem BIN-Chunk und dekodiert sie (PNG, via png-Crate) → model::Texture mit Pixeln. Die Namenskonvention "Materialname = Dateiname" und der assets/textures/-Pfad für Welt-Texturen entfallen; assets/textures/ bleibt nur noch für UI/Fonts/Platzhalter. - engine::image: neuer, geteilter RGBA8-Image-Typ (aus tga.rs gezogen) plus PNG-Decoder. tga.rs liefert weiter denselben Typ. - gltf: material -> texture -> image -> bufferView auflösen, Bild aus BIN dekodieren; fehlt ein Glied, bleibt image None (Platzhalter). KHR_texture_transform (Blenders Mapping-Node) wird beim Laden in die UVs eingebacken. - model::Model: materials: Vec<String> -> textures: Vec<Texture>. - render: die Pixel je Schlüssel aus den Modellen sammeln (erstes Vorkommen gewinnt, Schlüssel ohne Bild -> Platzhalter). 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
937fbd6ede
commit
fc3494466e
@@ -7,13 +7,18 @@ Start in der Konsole gemeldet (`[model]`, `[audio]`, `[tex]`, …).
|
||||
|
||||
- **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 kommen
|
||||
keine der Properties unten an!).
|
||||
- **Beim Export anhaken:** „Include → Custom Properties" (sonst fehlen die
|
||||
Properties unten) **und** „Include → Textures" / „Data → Images"
|
||||
(sonst fehlen die Texturen).
|
||||
- **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.
|
||||
- **Material-Name = Textur-Name:** Material `holz` → `assets/textures/holz.tga`.
|
||||
Fehlt die Textur (oder das Material), erscheint die Platzhalter-Textur.
|
||||
- **Texturen:** TGA, unkomprimiert oder RLE, 24/32 bit.
|
||||
- **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.
|
||||
- **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 auf Mesh-Objekten
|
||||
|
||||
|
||||
Reference in New Issue
Block a user