From 514684f57663d06bcbcaefa5c61e752865424231 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Wed, 29 Jul 2026 10:57:26 +0200 Subject: [PATCH] Tree Generator v1.5.0: Ast-Dicke folgt der Elterndicke Aeste/Zweige werden per Instanz-Scale an den Radius ihres Elternpunktes gekoppelt ('Input Radius' auf der Punkt-Domain von Instance on Points). Oben am duennen Stamm sind die Aeste dadurch automatisch kuerzer und duenner statt gleich dick. Co-Authored-By: Claude Opus 4.8 --- blender_manifest_tree.toml | 2 +- dist/index.json | 8 +++--- dist/stylized_tree_generator-1.4.0.zip | Bin 11373 -> 0 bytes dist/stylized_tree_generator-1.5.0.zip | Bin 0 -> 11772 bytes stylized_tree_generator.py | 33 ++++++++++++++++++++++--- 5 files changed, 35 insertions(+), 8 deletions(-) delete mode 100644 dist/stylized_tree_generator-1.4.0.zip create mode 100644 dist/stylized_tree_generator-1.5.0.zip diff --git a/blender_manifest_tree.toml b/blender_manifest_tree.toml index 502829f..58aa4af 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.4.0" +version = "1.5.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 67429f5..d170991 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.4.0", + "version": "1.5.0", "type": "add-on", "maintainer": "D4rkst3r", "license": [ @@ -48,9 +48,9 @@ "Mesh", "Modeling" ], - "archive_url": "./stylized_tree_generator-1.4.0.zip", - "archive_size": 11373, - "archive_hash": "sha256:421a702f2e5b088988db638dd7cbfb49de8126397476cfe192441bf069983c55" + "archive_url": "./stylized_tree_generator-1.5.0.zip", + "archive_size": 11772, + "archive_hash": "sha256:fe45391647074729afaac194801ab55c0d004c38f36b94737fdd6715e9c9501c" } ] } \ No newline at end of file diff --git a/dist/stylized_tree_generator-1.4.0.zip b/dist/stylized_tree_generator-1.4.0.zip deleted file mode 100644 index 52cb92a874098c871d4a2bbac9ab7142c8cf8e8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11373 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 yr!DY*)c+Cn{ohmk?=0*8n*ac43sm`!82YD1R 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 literal 0 HcmV?d00001 diff --git a/stylized_tree_generator.py b/stylized_tree_generator.py index 48409e0..907d053 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, 4, 0), + "version": (1, 5, 0), "blender": (4, 2, 0), "location": "View3D > Sidebar > Tree Gen", "description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen", @@ -326,9 +326,23 @@ def build_group(): pass L(dirv.outputs[0], _sock(align, "Vector")) - inst = N("GeometryNodeInstanceOnPoints"); inst.location = (1050, 320) + # Aeste an die ELTERNDICKE anpassen: "Instance on Points" wertet Felder auf + # der Punkt-Domain aus, dort liefert "Input Radius" den Stammradius genau am + # Ansatzpunkt. Ohne das sind Aeste oben (duenner Stamm) genauso dick wie + # unten - und damit dicker als der Stamm selbst. + prad = N("GeometryNodeInputRadius"); prad.location = (900, 120) + pratio = N("ShaderNodeMath"); pratio.location = (1050, 120); pratio.operation = 'DIVIDE' + L(prad.outputs[0], pratio.inputs[0]); L(V["Trunk Radius"], pratio.inputs[1]) + pscale = N("ShaderNodeMapRange"); pscale.location = (1200, 120) + L(pratio.outputs[0], pscale.inputs["Value"]) + pscale.inputs["To Min"].default_value = 0.35 # nicht ganz kollabieren lassen + pscale.inputs["To Max"].default_value = 1.0 + pscale.clamp = True + + inst = N("GeometryNodeInstanceOnPoints"); inst.location = (1400, 320) L(_out(c2p, "Points"), _sock(inst, "Points")) L(_out(bsetr, "Curve"), _sock(inst, "Instance")) + L(pscale.outputs[0], _sock(inst, "Scale")) if align is not None: L(align.outputs[0], _sock(inst, "Rotation")) @@ -439,9 +453,22 @@ def build_group(): pass L(sdir.outputs[0], _sock(salign, "Vector")) - sinst = N("GeometryNodeInstanceOnPoints"); sinst.location = (2850, 520) + # Zweige ebenso an die Dicke ihres Elternastes koppeln. + sprad = N("GeometryNodeInputRadius"); sprad.location = (2700, 300) + sbaseref = N("ShaderNodeMath"); sbaseref.location = (2700, 180); sbaseref.operation = 'MULTIPLY' + L(V["Trunk Radius"], sbaseref.inputs[0]); L(V["Branch Thickness"], sbaseref.inputs[1]) + sratio = N("ShaderNodeMath"); sratio.location = (2850, 240); sratio.operation = 'DIVIDE' + L(sprad.outputs[0], sratio.inputs[0]); L(sbaseref.outputs[0], sratio.inputs[1]) + sscale = N("ShaderNodeMapRange"); sscale.location = (3000, 240) + L(sratio.outputs[0], sscale.inputs["Value"]) + sscale.inputs["To Min"].default_value = 0.4 + sscale.inputs["To Max"].default_value = 1.0 + sscale.clamp = True + + sinst = N("GeometryNodeInstanceOnPoints"); sinst.location = (3150, 520) L(_out(sp, "Points"), _sock(sinst, "Points")) L(_out(ssetr, "Curve"), _sock(sinst, "Instance")) + L(sscale.outputs[0], _sock(sinst, "Scale")) if salign is not None: L(salign.outputs[0], _sock(sinst, "Rotation")) sreal = N("GeometryNodeRealizeInstances"); sreal.location = (3000, 520)