Tree Generator v1.17.0: Stammfuss am Referenzbaum ausgemessen

Basisring trifft den TreeIt-Baum jetzt fast exakt (r 0.178 vs 0.179, Unrundheit
1.61 vs 1.60). Lappen zentriert moduliert, damit die Lappentiefe nicht mehr den
mittleren Radius mit anhebt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-29 12:03:27 +02:00
co-authored by Claude Opus 4.8
parent 4c4ea5b9cf
commit ca13e9f573
5 changed files with 18 additions and 12 deletions
+13 -7
View File
@@ -1,7 +1,7 @@
bl_info = {
"name": "Stylized Tree Generator",
"author": "D4rkst3r",
"version": (1, 16, 0),
"version": (1, 17, 0),
"blender": (4, 2, 0),
"location": "View3D > Sidebar > Tree Gen",
"description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen",
@@ -59,10 +59,14 @@ DEFAULTS = {
"Tip Blunt": 0.18, # >0 verhindert Nadelspitzen (0 = spitz, 0.45 = Kaktus)
"Crown Taper": 0.35, # >0 kegelfoermig, 0 saeulig, <0 besenfoermig
"Crown Bulge": 0.0, # >0 = Bauch in der Mitte (runde Krone)
"Root Flare": 1.1, # Wurzelanlauf: Stamm verbreitert sich am Fuss
"Root Flare": 1.55, # Wurzelanlauf. Ziel ist das TreeIt-Verhaeltnis
# Fuss/Stamm ~2.2 (dort 0.179 zu 0.082).
"Root Lobes": 6.0, # Wurzelbretter; sollte in "Sides" aufgehen,
# sonst sampelt das Profil die Lappen weg
"Root Lobe Depth": 1.3, # wie weit die Lappen rausstehen
"Root Lobe Depth": 0.65, # wie weit die Lappen rausstehen. Am TreeIt-Baum
# gemessen: Unrundheit am Basisring 1.60.
# Messfalle: Ringe nicht ueber z-Bereiche mitteln,
# sonst mischt man Nachbarringe rein (ergab faelschlich 5.1).
"Root Height": 1.1, # Hoehe (m) des Anlaufs; zu klein -> zu wenige
# Ringe liegen drin und man sieht nichts
"Detail": 0.55, # skaliert alle Resample-Counts = Tri-Budget-Regler
@@ -107,7 +111,7 @@ PRESETS = {
"Branch Start": 0.3, "Branch End": 0.95,
"Crown Taper": -0.15, "Crown Bulge": 0.5,
"Branch Bend": 0.9, "Branch Thickness": 0.24, "Sub Count": 3,
"Sub Length": 0.8, "Root Flare": 1.6, "Root Lobe Depth": 1.6,
"Sub Length": 0.8, "Root Flare": 1.5, "Root Lobe Depth": 0.4,
},
"birke": { # schlank, hoher Ansatz, feine Zweige
"Height": 7.5, "Trunk Radius": 0.09, "Bend": 0.7, "Taper": 0.92,
@@ -818,9 +822,11 @@ def build_group():
L(fat.outputs[0], fml.inputs[0]); L(V["Root Lobes"], fml.inputs[1])
fco = N("ShaderNodeMath"); fco.location = (5350, 1000); fco.operation = 'COSINE'
L(fml.outputs[0], fco.inputs[0])
fno = N("ShaderNodeMath"); fno.location = (5500, 1000); fno.operation = 'MULTIPLY_ADD'
fno.inputs[1].default_value = 0.5; fno.inputs[2].default_value = 0.5
L(fco.outputs[0], fno.inputs[0])
# cos direkt verwenden (-1..1), NICHT auf 0..1 heben: sonst druecken die
# Lappen nur nach aussen und der MITTLERE Radius waechst mit der Lappentiefe
# (gemessen: 0.184 -> 0.224). Zentriert bleibt der Mittelwert konstant und
# es entstehen echte Taeler zwischen den Wurzelbrettern.
fno = fco
# Betrag = RootLobeDepth * Hoehenabfall * Lappen * Stammradius
fa1 = N("ShaderNodeMath"); fa1.location = (5800, 1150); fa1.operation = 'MULTIPLY'