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
+1 -1
View File
@@ -1,7 +1,7 @@
schema_version = "1.0.0" schema_version = "1.0.0"
id = "stylized_tree_generator" id = "stylized_tree_generator"
version = "1.16.0" version = "1.17.0"
name = "Stylized Tree Generator" name = "Stylized Tree Generator"
tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen" tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen"
maintainer = "D4rkst3r" maintainer = "D4rkst3r"
+4 -4
View File
@@ -32,7 +32,7 @@
"id": "stylized_tree_generator", "id": "stylized_tree_generator",
"name": "Stylized Tree Generator", "name": "Stylized Tree Generator",
"tagline": "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen", "tagline": "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen",
"version": "1.16.0", "version": "1.17.0",
"type": "add-on", "type": "add-on",
"maintainer": "D4rkst3r", "maintainer": "D4rkst3r",
"license": [ "license": [
@@ -48,9 +48,9 @@
"Mesh", "Mesh",
"Modeling" "Modeling"
], ],
"archive_url": "./stylized_tree_generator-1.16.0.zip", "archive_url": "./stylized_tree_generator-1.17.0.zip",
"archive_size": 16318, "archive_size": 16523,
"archive_hash": "sha256:6bf0522b41a7d78e82f6a525acbcbd8343c53c24ee7005ce2a2829773a5c1adc" "archive_hash": "sha256:49c3e777aa602ba3c63537aacd866bb5b11ac6484dbc0f91b28d26f497f98c00"
} }
] ]
} }
Binary file not shown.
Binary file not shown.
+13 -7
View File
@@ -1,7 +1,7 @@
bl_info = { bl_info = {
"name": "Stylized Tree Generator", "name": "Stylized Tree Generator",
"author": "D4rkst3r", "author": "D4rkst3r",
"version": (1, 16, 0), "version": (1, 17, 0),
"blender": (4, 2, 0), "blender": (4, 2, 0),
"location": "View3D > Sidebar > Tree Gen", "location": "View3D > Sidebar > Tree Gen",
"description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen", "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) "Tip Blunt": 0.18, # >0 verhindert Nadelspitzen (0 = spitz, 0.45 = Kaktus)
"Crown Taper": 0.35, # >0 kegelfoermig, 0 saeulig, <0 besenfoermig "Crown Taper": 0.35, # >0 kegelfoermig, 0 saeulig, <0 besenfoermig
"Crown Bulge": 0.0, # >0 = Bauch in der Mitte (runde Krone) "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, "Root Lobes": 6.0, # Wurzelbretter; sollte in "Sides" aufgehen,
# sonst sampelt das Profil die Lappen weg # 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 "Root Height": 1.1, # Hoehe (m) des Anlaufs; zu klein -> zu wenige
# Ringe liegen drin und man sieht nichts # Ringe liegen drin und man sieht nichts
"Detail": 0.55, # skaliert alle Resample-Counts = Tri-Budget-Regler "Detail": 0.55, # skaliert alle Resample-Counts = Tri-Budget-Regler
@@ -107,7 +111,7 @@ PRESETS = {
"Branch Start": 0.3, "Branch End": 0.95, "Branch Start": 0.3, "Branch End": 0.95,
"Crown Taper": -0.15, "Crown Bulge": 0.5, "Crown Taper": -0.15, "Crown Bulge": 0.5,
"Branch Bend": 0.9, "Branch Thickness": 0.24, "Sub Count": 3, "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 "birke": { # schlank, hoher Ansatz, feine Zweige
"Height": 7.5, "Trunk Radius": 0.09, "Bend": 0.7, "Taper": 0.92, "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]) L(fat.outputs[0], fml.inputs[0]); L(V["Root Lobes"], fml.inputs[1])
fco = N("ShaderNodeMath"); fco.location = (5350, 1000); fco.operation = 'COSINE' fco = N("ShaderNodeMath"); fco.location = (5350, 1000); fco.operation = 'COSINE'
L(fml.outputs[0], fco.inputs[0]) L(fml.outputs[0], fco.inputs[0])
fno = N("ShaderNodeMath"); fno.location = (5500, 1000); fno.operation = 'MULTIPLY_ADD' # cos direkt verwenden (-1..1), NICHT auf 0..1 heben: sonst druecken die
fno.inputs[1].default_value = 0.5; fno.inputs[2].default_value = 0.5 # Lappen nur nach aussen und der MITTLERE Radius waechst mit der Lappentiefe
L(fco.outputs[0], fno.inputs[0]) # (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 # Betrag = RootLobeDepth * Hoehenabfall * Lappen * Stammradius
fa1 = N("ShaderNodeMath"); fa1.location = (5800, 1150); fa1.operation = 'MULTIPLY' fa1 = N("ShaderNodeMath"); fa1.location = (5800, 1150); fa1.operation = 'MULTIPLY'