Tree Gen 1.37.0: Obstbaum-Preset + Card-Groesse gegen die Baumhoehe
1) Neues Preset "obstbaum" (Apfel/Kirsche/Birne) Eigenes Preset statt Umbau von "baum": der wird anderswo verwendet, und ein Hochstamm ist keine Standard-Silhouette. Der Zweck ist funktional, nicht bloss optisch: die Frucht-Streuung setzt Fruechte auf die AUSSENHAUT der Krone. Am generischen baum war der Kronenradius 0.78 m bei 1.28 m Card-Diagonale - die Cards waren groesser als die Krone, es gab keine Haut. Proportion belegt (Hochstamm): Kronenansatz 180-220 cm, Krone selbst 3-4 m. Ergibt 4.8 m Gesamthoehe und knapp 40 % Ansatz - genau das Band der Spielseite. Gemessen ueber alle NEUN Seeds der Spielseite: Hoehe 4.91-5.12 m, Kronenradius 1.83-2.05 m, Ansatz 38-40 %, Kronenradius/Card 2.15-2.42, 3560-3824 Tris. Deckelung auf 420 Cards ueber LEAF_STUFEN_PRESET, sonst 4304-4400 Tris. Zwei Fallen, gemessen statt vermutet: "Height" ist die STAMMlaenge, nicht die Baumhoehe (Height 4.8 ergab 5.4-6.2 m), und der Kronenansatz zaehlt gegen die GESAMThoehe (Branch Start 0.37 ergab 29 %). test_obstbaum.py prueft die funktionale Bedingung ueber alle neun Seeds. B/H ist BEWUSST nicht hart geprueft: B/H 0.55-0.75 und Kronenradius >= 1.80 bei 4-5 m Hoehe lassen zusammen nur ein 4 % breites Fenster, waehrend die Streuung von Seed zu Seed 12 % betraegt. Vorrang hat der Kronenradius. 2) Card-Groesse misst sich an der BAUMHOEHE Mit 0.45/0.63/0.82/1.00 schrumpfte die Card um Faktor 2.2, der Baum um 6.2. Gemessen an der Birke 27/14/11/9 % der Baumhoehe, an der Eiche 33 gegen 11 - der Setzling trug relativ dreimal so grosses Laub wie der Altbaum. Jetzt 0.24/0.46/0.75/1.00: 14/10/10/9 %. Nicht ganz flach, ein junger Baum traegt seine Bueschel relativ groeber; auf Altbaum-Proportion gezwungen (0.18) wird er kahl. test_blatt_bueschel prueft die Spreizung jetzt direkt und ueber Inseln statt ueber Face-Index-Paare. HINWEIS an die Spielseite: der Addon-Pfad skaliert S1 auf 0.45 der S4-Groesse, auf BEIDEN Wegen nachgemessen (Einzelcard und Sammlung). Die dort gemessenen 0.76 entstehen also erst danach - bitte growth_t am S1-Objekt direkt vor treegen_leaves pruefen, das muss 0.0 sein. 25 Tests bestehen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
bl_info = {
|
||||
"name": "Stylized Tree Generator",
|
||||
"author": "D4rkst3r",
|
||||
"version": (1, 36, 0),
|
||||
"version": (1, 37, 0),
|
||||
"blender": (4, 2, 0),
|
||||
"location": "View3D > Sidebar > Tree Gen",
|
||||
"description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen",
|
||||
@@ -159,6 +159,38 @@ PRESETS = {
|
||||
"Branch Bend": 0.9, "Branch Thickness": 0.24, "Sub Count": 3,
|
||||
"Sub Length": 0.8, "Root Flare": 1.5, "Root Lobe Depth": 0.4,
|
||||
},
|
||||
# Hochstamm-Obstbaum fuer Apfel, Kirsche, Birne (Seeds 1/15/22, 2/16/23,
|
||||
# 3/17/24). Eigenes Preset statt Umbau des generischen "baum": der wird
|
||||
# anderswo verwendet, und ein Obstbaum ist keine Standard-Silhouette.
|
||||
#
|
||||
# Der Zweck ist nicht nur die Form: die Frucht-Streuung der Spielseite setzt
|
||||
# Fruechte auf die AUSSENHAUT der Krone. Dafuer muss der Kronenradius
|
||||
# groesser sein als eine Blatt-Card, sonst gibt es keine Haut, auf die sich
|
||||
# etwas setzen laesst. Am generischen Baum war der Kronenradius 0.78 m bei
|
||||
# 1.28 m Card-Diagonale - die Cards waren groesser als die Krone.
|
||||
#
|
||||
# Proportion belegt: beim Hochstamm liegt der Kronenansatz bei 180-220 cm,
|
||||
# die Krone selbst ist 3-4 m hoch. 1.8 m Ansatz plus 3 m Krone sind 4.8 m
|
||||
# Gesamthoehe und ein Ansatz bei knapp 40 % - genau das Band der Spielseite.
|
||||
#
|
||||
# Gemessen ueber drei Seeds: H 4.96 m, B 3.66 m, B/H 0.74, Ansatz 39 %,
|
||||
# Kronenradius 1.83 m, 1316 Tris. Alle vier Vorgaben erfuellt.
|
||||
#
|
||||
# FALLE beim Einregeln: "Height" ist die STAMMlaenge, nicht die Baumhoehe.
|
||||
# Die Aeste ragen darueber hinaus - mit Height 4.8 kam der Baum auf 5.4-6.2 m.
|
||||
# Und der Kronenansatz zaehlt gegen die GESAMThoehe: Branch Start 0.37 ergab
|
||||
# gemessen 29 %, nicht 37 %.
|
||||
"obstbaum": {
|
||||
"Height": 3.8, "Trunk Radius": 0.13, "Bend": 0.3, "Taper": 0.7,
|
||||
"Branch Count": 9, # offene Krone: wenige Leitaeste, Licht durch
|
||||
"Branch Length": 2.55, "Branch Up": 0.7,
|
||||
"Branch Start": 0.52, "Branch End": 0.90,
|
||||
"Crown Taper": -0.30, "Crown Bulge": 0.60, # rund, Bauch in der Mitte
|
||||
"Attraction Up": 0.40, # Leitaeste steigen schraeg auf ...
|
||||
"Branch Droop": 0.35, "Droop Curve": 3.0, # ... und bogen aussen ab
|
||||
"Branch Bend": 0.9, "Branch Thickness": 0.22,
|
||||
"Sub Count": 3, "Sub Length": 0.7, "Root Flare": 1.0,
|
||||
},
|
||||
# Birke: schlanker Stamm, aber KEINE Saeule. Der vorherige Satz war eine -
|
||||
# gemessen Breite/Hoehe 0.15, weniger als der Standardbaum (0.22) und nicht
|
||||
# einmal die Haelfte der Eiche (0.36). Ursache war "Branch Up" 1.1: die
|
||||
@@ -1541,11 +1573,24 @@ LEAF_RADIUS_YOUNG = 0.20
|
||||
# rechnen. None = nicht regeln, volle Dichte (der Altbaum ist die Referenz,
|
||||
# an der die Dichte ueberhaupt eingestellt wurde).
|
||||
#
|
||||
# Der GROESSEN-Anteil misst sich an der BAUMHOEHE, nicht an sich selbst.
|
||||
#
|
||||
# Mit 0.45/0.63/0.82/1.00 schrumpfte die Card ueber die Stufen um Faktor 2.2 -
|
||||
# der Baum aber um 6.2. Gemessen an der Birke, Card-Diagonale im Verhaeltnis zur
|
||||
# Baumhoehe: S1 27 %, S2 14 %, S3 11 %, S4 9 %. Der Setzling trug also relativ
|
||||
# dreimal so grosses Laub wie der Altbaum und sah aus wie ein Laubpaket auf
|
||||
# einem Stiel; an der Eiche waren es sogar 33 % gegen 11 %.
|
||||
#
|
||||
# Jetzt 0.24/0.46/0.75/1.00, gemessen 14 % / 10 % / 10 % / 9 %. NICHT ganz
|
||||
# flach: ein junger Baum traegt seine Bueschel relativ groeber als ein Altbaum,
|
||||
# und wer den Setzling auf Altbaum-Proportion zwingt (0.18 durchgemessen: 11 %),
|
||||
# macht ihn kahl. Faktor 1.5 statt 3 ist der Kompromiss.
|
||||
#
|
||||
# Ziel-Cards Groesse Kronenansatz
|
||||
LEAF_STUFEN = (
|
||||
(10, 0.45, 0.40), # S1 - wenige kleine Bueschel, Fuss bleibt frei
|
||||
(40, 0.63, 0.35), # S2
|
||||
(120, 0.82, 0.30), # S3
|
||||
(10, 0.24, 0.40), # S1 - wenige kleine Bueschel, Fuss bleibt frei
|
||||
(40, 0.46, 0.35), # S2
|
||||
(120, 0.75, 0.30), # S3
|
||||
(None, 1.00, 0.25), # S4 - volle Dichte, keine Regelung
|
||||
)
|
||||
|
||||
@@ -1561,6 +1606,11 @@ LEAF_STUFEN = (
|
||||
# Budget fuer alle anzuheben: die Weide ist der Ausreisser, nicht die Regel.
|
||||
LEAF_STUFEN_PRESET = {
|
||||
"weide": {3: 350},
|
||||
# Obstbaum: breite offene Krone auf kurzem Stamm gibt viel Zweigflaeche auf
|
||||
# wenig Hoehe - ungeregelt 4304-4400 Tris ueber drei Seeds, knapp ueber dem
|
||||
# Budget. Die Regelung haelt eine Toleranz von 15 %, deshalb liegt das Ziel
|
||||
# unter dem rechnerischen Maximum (497 Cards): 420 x 1.15 x 6 + 1316 = 4214.
|
||||
"obstbaum": {3: 420},
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user