From ca13e9f573f8dafc8ae3662b547c3a695f88c387 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Wed, 29 Jul 2026 12:03:27 +0200 Subject: [PATCH] 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 --- blender_manifest_tree.toml | 2 +- dist/index.json | 8 ++++---- dist/stylized_tree_generator-1.16.0.zip | Bin 16318 -> 0 bytes dist/stylized_tree_generator-1.17.0.zip | Bin 0 -> 16523 bytes stylized_tree_generator.py | 20 +++++++++++++------- 5 files changed, 18 insertions(+), 12 deletions(-) delete mode 100644 dist/stylized_tree_generator-1.16.0.zip create mode 100644 dist/stylized_tree_generator-1.17.0.zip diff --git a/blender_manifest_tree.toml b/blender_manifest_tree.toml index 4d13782..cdb0e8e 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.16.0" +version = "1.17.0" name = "Stylized Tree Generator" tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen" maintainer = "D4rkst3r" diff --git a/dist/index.json b/dist/index.json index 3eb8e33..2596408 100644 --- a/dist/index.json +++ b/dist/index.json @@ -32,7 +32,7 @@ "id": "stylized_tree_generator", "name": "Stylized Tree Generator", "tagline": "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen", - "version": "1.16.0", + "version": "1.17.0", "type": "add-on", "maintainer": "D4rkst3r", "license": [ @@ -48,9 +48,9 @@ "Mesh", "Modeling" ], - "archive_url": "./stylized_tree_generator-1.16.0.zip", - "archive_size": 16318, - "archive_hash": "sha256:6bf0522b41a7d78e82f6a525acbcbd8343c53c24ee7005ce2a2829773a5c1adc" + "archive_url": "./stylized_tree_generator-1.17.0.zip", + "archive_size": 16523, + "archive_hash": "sha256:49c3e777aa602ba3c63537aacd866bb5b11ac6484dbc0f91b28d26f497f98c00" } ] } \ No newline at end of file diff --git a/dist/stylized_tree_generator-1.16.0.zip b/dist/stylized_tree_generator-1.16.0.zip deleted file mode 100644 index 2f9a67c6ca5de6caebae74f6bb7fe0133cc94a38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16318 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 F{V#DJVKx8& diff --git a/dist/stylized_tree_generator-1.17.0.zip b/dist/stylized_tree_generator-1.17.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..5a9b8b7a69ed256f69dbd77f9d5b0bbfd06b11f5 GIT binary patch literal 16523 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 DjTMQb literal 0 HcmV?d00001 diff --git a/stylized_tree_generator.py b/stylized_tree_generator.py index 8b870e7..55835b2 100644 --- a/stylized_tree_generator.py +++ b/stylized_tree_generator.py @@ -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'