From c9ac31d864d6995ebb7cca7c8a29bd10ba2ab736 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Wed, 29 Jul 2026 11:49:36 +0200 Subject: [PATCH] Tree Generator v1.14.0: weiche Astansaetze, schlankerer Stamm Collar-Abfall von Exponent 6 auf 2.5 (bei ~7 Segmenten pro Ast war 6 nur einen Punkt breit = Widerhaken statt Uebergang). Trunk Radius 0.13 -> 0.085. Co-Authored-By: Claude Opus 4.8 --- blender_manifest_tree.toml | 2 +- dist/index.json | 8 ++++---- dist/stylized_tree_generator-1.13.0.zip | Bin 16050 -> 0 bytes dist/stylized_tree_generator-1.14.0.zip | Bin 0 -> 16133 bytes stylized_tree_generator.py | 11 +++++++---- 5 files changed, 12 insertions(+), 9 deletions(-) delete mode 100644 dist/stylized_tree_generator-1.13.0.zip create mode 100644 dist/stylized_tree_generator-1.14.0.zip diff --git a/blender_manifest_tree.toml b/blender_manifest_tree.toml index 9cd6b9d..5c72dd6 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.13.0" +version = "1.14.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 43ef407..1523501 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.13.0", + "version": "1.14.0", "type": "add-on", "maintainer": "D4rkst3r", "license": [ @@ -48,9 +48,9 @@ "Mesh", "Modeling" ], - "archive_url": "./stylized_tree_generator-1.13.0.zip", - "archive_size": 16050, - "archive_hash": "sha256:ea18fb63246eae4a764a4ef428d42363a80dabeaa88abfe1c9321f57e29caa6d" + "archive_url": "./stylized_tree_generator-1.14.0.zip", + "archive_size": 16133, + "archive_hash": "sha256:49347879e32dadc979f9ff513acf9f81cc0f0adb2d923c80a0e7e3706f910270" } ] } \ No newline at end of file diff --git a/dist/stylized_tree_generator-1.13.0.zip b/dist/stylized_tree_generator-1.13.0.zip deleted file mode 100644 index eca99cef209ff6d916540324daa6173af44cd3b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16050 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 literal 0 HcmV?d00001 diff --git a/stylized_tree_generator.py b/stylized_tree_generator.py index 0cab7fa..d849476 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, 13, 0), + "version": (1, 14, 0), "blender": (4, 2, 0), "location": "View3D > Sidebar > Tree Gen", "description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen", @@ -28,7 +28,7 @@ OBJ_NAME = "StylizedTree" DEFAULTS = { "Seed": 0, "Height": 5.0, - "Trunk Radius": 0.13, # schlanker Stamm; zu dick wirkt sofort "stumpf" + "Trunk Radius": 0.085, # 5 m Baum ~17 cm Durchmesser; 0.13 wirkte staemmig "Bend": 0.5, "Taper": 0.9, "Branch Count": 9, @@ -63,7 +63,7 @@ DEFAULTS = { "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 - "Branch Collar": 0.4, # Ansatz-Verdickung: Uebergang Ast->Stamm (0 = aus) + "Branch Collar": 0.55, # Ansatz-Verdickung: Uebergang Ast->Stamm (0 = aus) "Merge": 0.0, # 1 = Aeste per Voxel-Remesh mit dem Stamm verschmelzen "Merge Voxel": 0.03, # Voxelgroesse (m): klein = feiner, aber teuer "Ribs": 0.0, # senkrechte Kanneluren (0 = glatt); Kaktus ~9 @@ -334,7 +334,10 @@ def build_group(): ci.inputs[0].default_value = 1.0 L(spar_node.outputs["Factor"], ci.inputs[1]) cp = N("ShaderNodeMath"); cp.location = (x + 150, y - 160); cp.operation = 'POWER' - cp.inputs[1].default_value = 6.0 # faellt schnell ab -> kein Trichter + # Exponent NIEDRIG halten: bei ~7 Segmenten pro Ast ist ein hoher + # Exponent nur EINEN Punkt breit -> sichtbarer Widerhaken statt + # Uebergang. 2.5 verteilt die Verdickung auf 2-3 Segmente. + cp.inputs[1].default_value = 2.5 L(ci.outputs[0], cp.inputs[0]) cm = N("ShaderNodeMath"); cm.location = (x + 300, y - 160); cm.operation = 'MULTIPLY' L(V["Branch Collar"], cm.inputs[0]); L(cp.outputs[0], cm.inputs[1])