diff --git a/README.md b/README.md index 2b6a793..b541d15 100644 --- a/README.md +++ b/README.md @@ -352,6 +352,39 @@ Gras-, Blumen- und Farn-Bueschel. Der Kern ist die **Wind-UV**: ## Stylized Tree Generator +### Spielfertiger Stand-Baum (Faellsystem) + +Knopf **Spielfertig exportieren** im Export-Panel: Stamm und `_Leaf`-Ebene +werden zu **einem** Mesh mit **zwei Material-Slots** verschmolzen +(Slot 0 = `M_Bark`, Slot 1 = `M_Foliage`). Die getrennten Objekte im Blend +bleiben die Arbeitsebene — verschmolzen wird nur die Export-Kopie. Ursprung +Bbox-Unterseite Mitte, FBX-Einstellungen wie in der Fels-Pipeline. + +**Kugel-Normalen** (Haken `Kugel-Normalen auf Blaetter`, Standard an): alle +Blatt-Normalen zeigen radial vom Kronen-Schwerpunkt nach aussen. Ohne das wirkt +jede Card wie ein eigenes flaches Blech und die Krone flimmert im Licht. Der +Schwerpunkt kommt **nur aus den Blatt-Faces** — der Stamm wuerde die Mitte nach +unten ziehen und die Kugel verkippen. + +> Bewusst direkt ueber `normals_split_custom_set` statt ueber den +> Normal-Edit-Modifier: der muesste vor dem Export angewendet werden, und +> angewendete Modifier plus Custom Normals ist genau die Kombination, bei der +> der FBX-Export gerne flachbuegelt. Am **reimportierten** FBX gemessen: +> mittlere Radialitaet **1.000**, 100 % der 510 Blatt-Loops ueber 0.8. +> Gegenprobe Rinde 0.043. + +**Card-Varianten:** `Card-Sammlung` nimmt eine Collection mit 4–6 Diamond-Cards +unterschiedlicher Atlas-UVs; je Blattpunkt wird eine zufaellig gezogen +(seed-stabil). Eine einzelne Card geht weiter — die Sammlung hat Vorrang. + +Zwei Fallen beim Bauen: + +- Ueber `bmesh.from_mesh` zusammenzufuegen haengt die Geometrie zwar an, wirft + aber die **Material-Indizes** weg: danach lagen alle 748 Faces auf Index 0. + Blenders `join` fuehrt die Slot-Listen zusammen und rechnet die Indizes um. +- `join` loescht das zweite Objekt; jede gehaltene Referenz darauf ist danach + tot. Die Aufraeumliste fuehrt deshalb **Namen** statt Objekte. + ### Proportionen: gemessen, nicht geschaetzt Drei Presets sahen falsch aus. Die Ursachen wurden gemessen bzw. belegt, nicht @@ -572,6 +605,8 @@ gefiltert `.\run_tests.ps1 -Filter panels`. | Datei | prueft | |---|---| +| `tests/test_baum_export.py` | Stand-Baum: ein Mesh, zwei Slots, Ursprung, **Kugel-Normalen im exportierten FBX** | +| `tests/test_blatt_varianten.py` | Card-Sammlung: alle Varianten werden gezogen, seed-stabil, Einzelobjekt weiter moeglich | | `tests/test_proportionen.py` | Baum-Proportionen: Palmenkrone, Strauch-Breite, Setzling-Schlankheit, Branch Count 0 | | `tests/test_bruchstuecke.py` | Bruchstuecke: Volumen 100 % des Muttersteins, dichte Topologie, genau ein Erz-Stueck, Material-Slots, Ursprung, UCX je Teil | | `tests/test_schnellstart.py` | Schnellstart: jede Sorte liefert ohne Nacharbeit Geometrie + Slot, Erz-Sorte ueber der Dichte-Schwelle, Dissolve-Bereich streut je Stein | diff --git a/blender_manifest_tree.toml b/blender_manifest_tree.toml index 76ac871..1375eff 100644 --- a/blender_manifest_tree.toml +++ b/blender_manifest_tree.toml @@ -1,7 +1,7 @@ schema_version = "1.0.0" id = "stylized_tree_generator" -version = "1.26.0" +version = "1.27.0" name = "Stylized Tree Generator" tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen" maintainer = "D4rkst3r" diff --git a/dist/index.html b/dist/index.html index 24a80ba..4e434ed 100644 --- a/dist/index.html +++ b/dist/index.html @@ -50,17 +50,17 @@
Built 2026-08-06, 04:42
Built 2026-08-06, 04:48