Tree Generator v1.13.0: Kaktus als echter Saguaro + Trunk Tip
Beide Arme laufen flach raus, knicken und steigen parallel zum Stamm, ohne ihn zu ueberragen (Droop und Hoehe aufeinander abgestimmt). Neu 'Trunk Tip': steuert, ob der Stamm duenn auslaeuft oder mit stumpfer Kuppe endet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -34,9 +34,9 @@ Points*, Goldener Winkel = Phyllotaxis) statt einer aus Weltkoordinaten
|
||||
gerechneten Richtung — Sub-Aeste standen vorher wie Nadeln quer zum Ast.
|
||||
Neu: `Tip Blunt` (Baum laeuft spitz aus, Kaktus endet stumpf).
|
||||
|
||||
⚠️ **Bekannte Grenze:** Das `kaktus`-Preset ist noch nicht ueberzeugend — die Arme
|
||||
spreizen im V, statt nach dem Abgang senkrecht hochzulaufen (die Droop-Naeherung
|
||||
kann nur einen gleichmaessigen Bogen, keinen Ellbogen). Als Platzhalter brauchbar.
|
||||
Der `kaktus` nutzt `Droop Curve` fuer den Saguaro-Ellbogen (Arm laeuft flach raus
|
||||
und knickt dann steil hoch). Offen ist dort nur, dass die Rippen (`Ribs`) im
|
||||
Shading kaum sichtbar sind.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
schema_version = "1.0.0"
|
||||
|
||||
id = "stylized_tree_generator"
|
||||
version = "1.12.0"
|
||||
version = "1.13.0"
|
||||
name = "Stylized Tree Generator"
|
||||
tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen"
|
||||
maintainer = "D4rkst3r"
|
||||
|
||||
Vendored
+4
-4
@@ -32,7 +32,7 @@
|
||||
"id": "stylized_tree_generator",
|
||||
"name": "Stylized Tree Generator",
|
||||
"tagline": "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen",
|
||||
"version": "1.12.0",
|
||||
"version": "1.13.0",
|
||||
"type": "add-on",
|
||||
"maintainer": "D4rkst3r",
|
||||
"license": [
|
||||
@@ -48,9 +48,9 @@
|
||||
"Mesh",
|
||||
"Modeling"
|
||||
],
|
||||
"archive_url": "./stylized_tree_generator-1.12.0.zip",
|
||||
"archive_size": 15970,
|
||||
"archive_hash": "sha256:f0dd283fe891b98f295882a73ba8d7f5dd9618d2367558ba580f3880fba5cc1c"
|
||||
"archive_url": "./stylized_tree_generator-1.13.0.zip",
|
||||
"archive_size": 16050,
|
||||
"archive_hash": "sha256:ea18fb63246eae4a764a4ef428d42363a80dabeaa88abfe1c9321f57e29caa6d"
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
bl_info = {
|
||||
"name": "Stylized Tree Generator",
|
||||
"author": "D4rkst3r",
|
||||
"version": (1, 12, 0),
|
||||
"version": (1, 13, 0),
|
||||
"blender": (4, 2, 0),
|
||||
"location": "View3D > Sidebar > Tree Gen",
|
||||
"description": "Parametrischer Baum-/Palmen-/Busch-Generator (Geometry Nodes) mit Wachstums-Stufen",
|
||||
@@ -39,6 +39,8 @@ DEFAULTS = {
|
||||
"Branch Bend": 0.75, # Krummheit je Ast/Zweig (0 = gerade Staebe)
|
||||
"Branch Droop": 0.0, # >0 haengt nach unten (Palme), <0 kruemmt nach oben (Kaktus)
|
||||
"Droop Curve": 2.0, # 2 = weicher Bogen, 4+ = scharfer Ellbogen
|
||||
"Trunk Tip": 0.3, # Anteil von Tip Blunt fuer die Stammspitze;
|
||||
# klein = laeuft duenn aus, 1.0 = stumpfe Kuppe
|
||||
"Branch Thickness": 0.32, # Ast-Dicke relativ zum Stamm
|
||||
"Branch Taper": 0.55, # schwach verjuengen -> Roehre statt Kegel/Dorn
|
||||
"Sub Count": 2, # Sub-Aeste je Hauptast (0 = aus)
|
||||
@@ -131,15 +133,17 @@ PRESETS = {
|
||||
# Kaktus: dicker, kaum verjuengter Stamm, wenige Arme, die per NEGATIVEM
|
||||
# Droop nach oben kruemmen (Saguaro-Silhouette). Keine Sub-Aeste.
|
||||
"kaktus": {
|
||||
"Height": 3.0, "Trunk Radius": 0.28, "Bend": 0.08, "Taper": 0.10,
|
||||
"Height": 3.4, "Trunk Radius": 0.28, "Bend": 0.08, "Taper": 0.10,
|
||||
"Branch Count": 2, "Branch Length": 1.9, "Branch Up": 0.12,
|
||||
"Branch Start": 0.30, "Branch End": 0.46,
|
||||
"Branch Bend": 0.0,
|
||||
"Branch Droop": -3.0, # negativ = Arme kruemmen nach OBEN (Saguaro)
|
||||
"Branch Droop": -1.35, # negativ = Arme kruemmen nach OBEN (Saguaro);
|
||||
# zu gross und die Arme ueberragen den Stamm
|
||||
"Droop Curve": 4.5, # spaeter, dafuer scharfer Ellbogen
|
||||
"Branch Thickness": 0.72, # Arme fast so dick wie der Stamm
|
||||
"Branch Taper": 0.12, # Arme bleiben dick statt spitz zuzulaufen
|
||||
"Sub Count": 0, "Crown Taper": 0.0, "Root Flare": 0.25,
|
||||
"Trunk Tip": 1.0,
|
||||
"Root Lobe Depth": 0.0, "Tip Blunt": 0.45,
|
||||
"Sides": 16, "Branch Sides": 12, "Ribs": 9.0, "Rib Depth": 0.09,
|
||||
},
|
||||
@@ -216,6 +220,7 @@ def build_group():
|
||||
# (= Kaktus-Arme statt Palmwedel).
|
||||
add_in("Branch Droop", 'NodeSocketFloat', DEFAULTS["Branch Droop"], -3.0, 3.0)
|
||||
add_in("Droop Curve", 'NodeSocketFloat', DEFAULTS["Droop Curve"], 1.0, 8.0)
|
||||
add_in("Trunk Tip", 'NodeSocketFloat', DEFAULTS["Trunk Tip"], 0.05, 1.0)
|
||||
add_in("Branch Thickness", 'NodeSocketFloat', DEFAULTS["Branch Thickness"], 0.05, 1.0)
|
||||
add_in("Branch Taper", 'NodeSocketFloat', DEFAULTS["Branch Taper"], 0.0, 1.0)
|
||||
add_in("Sub Count", 'NodeSocketInt', DEFAULTS["Sub Count"], 0, 12)
|
||||
@@ -347,7 +352,7 @@ def build_group():
|
||||
# Stammspitze duenner auslaufen lassen als die Aeste: sonst endet der Stamm
|
||||
# mit einem sichtbaren flachen Deckel. Ein eigener, kleinerer Mindestwert.
|
||||
ttip = N("ShaderNodeMath"); ttip.location = (-420, -80); ttip.operation = 'MULTIPLY'
|
||||
L(V["Tip Blunt"], ttip.inputs[0]); ttip.inputs[1].default_value = 0.3
|
||||
L(V["Tip Blunt"], ttip.inputs[0]); L(V["Trunk Tip"], ttip.inputs[1])
|
||||
tmulr = N("ShaderNodeMath"); tmulr.location = (-260, 60); tmulr.operation = 'MULTIPLY'
|
||||
L(inv.outputs[0], tmulr.inputs[0]); L(tdome.outputs[0], tmulr.inputs[1])
|
||||
tmaxr = N("ShaderNodeMath"); tmaxr.location = (-110, 60); tmaxr.operation = 'MAXIMUM'
|
||||
|
||||
Reference in New Issue
Block a user