From 1df70c9e5070eca3e1f20798500c5e89a89e93cf Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Fri, 31 Jul 2026 08:46:01 +0200 Subject: [PATCH] Rock Generator 2.7.0: Plattenstil nach Genshin-Referenz Der User hat Genshin-Screenshots als Stilvorlage geschickt. Auswertung: die Felsen dort bestehen aus WENIGEN GROSSEN, fast leeren Platten mit SCHMALEN DUNKLEN FUGEN. Das Detail steckt in der Fuge, nicht in der Flaeche. Meine Textur machte das Gegenteil - viele kleine Zellen mit breitem Verlauf ueber die ganze Oberflaeche. Deshalb half weder TexScale noch die Zellgroesse: beide haben nur am Symptom gedreht, waehrend das Muster grundsaetzlich zu dicht war. Neue Regler: - "Fugenbreite" (Default 0.05): Breite des Uebergangs Fuge -> Flaeche. Klein = harte Fuge und flache Platte. War vorher fest auf 0.32 = weicher Verlauf ueber die ganze Zelle ("Golfball"). - "Platten flach" (Default 1.0): 1 = Flaeche nahezu einfarbig, Kontrast wandert komplett in die Fuge. - "Zellgroesse" heisst jetzt "Plattengroesse" (Default 0.7 statt 2.5) - kleiner = GROESSERE Platten. Der alte Name war irrefuehrend. Grundton auf helles warmes Grau, AO-Staerke 1.0 -> 0.55 (weniger Unruhe). Co-Authored-By: Claude Opus 4.8 --- README.md | 6 ++++ blender_manifest.toml | 2 +- dist/index.json | 8 ++--- dist/stylized_rock_generator-2.6.0.zip | Bin 17621 -> 0 bytes dist/stylized_rock_generator-2.7.0.zip | Bin 0 -> 18091 bytes stylized_rock_generator.py | 46 ++++++++++++++++++------- 6 files changed, 45 insertions(+), 17 deletions(-) delete mode 100644 dist/stylized_rock_generator-2.6.0.zip create mode 100644 dist/stylized_rock_generator-2.7.0.zip diff --git a/README.md b/README.md index b526221..f41c8a1 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,12 @@ Abgestimmt auf `A:\eco\EcoGame` (UE 5.8). Kurzfassung: - **AO/Cavity wird ins Albedo multipliziert** (Option „AO ins Albedo einrechnen", Staerke regelbar). Dunkle Ritzen und helle Platten stecken im Farbbild — das traegt den Stylized-Look. Separate Rough-/AO-Paesse sind Default **aus**. +- **Plattenstil (Genshin-Referenz):** Die Textur besteht aus **wenigen grossen, + fast leeren Platten** mit **schmalen dunklen Fugen** — das Detail steckt in der + Fuge, nicht in der Flaeche. Regler: `Plattengroesse` (kleiner = groessere + Platten), `Fugenbreite` (klein = harte Fuge, flache Platte), `Platten flach` + (1 = Flaeche nahezu einfarbig). Ein dichtes Zellmuster ueber die ganze + Oberflaeche erschlaegt die Form und passt NICHT zu diesem Look. - 1024 px reicht fuer stylized Formen. - Tileable (4D-Torus) passt zum triplanar mappenden Master-Material. diff --git a/blender_manifest.toml b/blender_manifest.toml index 9d70fde..7cdfb78 100644 --- a/blender_manifest.toml +++ b/blender_manifest.toml @@ -1,7 +1,7 @@ schema_version = "1.0.0" id = "stylized_rock_generator" -version = "2.6.0" +version = "2.7.0" name = "Stylized Rock Generator" tagline = "Batch-Generator fuer stylized Rocks mit UE5-Export" maintainer = "D4rkst3r" diff --git a/dist/index.json b/dist/index.json index 4483d2f..e45b176 100644 --- a/dist/index.json +++ b/dist/index.json @@ -7,7 +7,7 @@ "id": "stylized_rock_generator", "name": "Stylized Rock Generator", "tagline": "Batch-Generator fuer stylized Rocks mit UE5-Export", - "version": "2.6.0", + "version": "2.7.0", "type": "add-on", "maintainer": "D4rkst3r", "license": [ @@ -23,9 +23,9 @@ "Mesh", "Modeling" ], - "archive_url": "./stylized_rock_generator-2.6.0.zip", - "archive_size": 17621, - "archive_hash": "sha256:f20343bd1aae3c03585e7621816b8934719e8855d7d4c411a0973df3d21ac397" + "archive_url": "./stylized_rock_generator-2.7.0.zip", + "archive_size": 18091, + "archive_hash": "sha256:2a3b20b6a915271e10b5246b77fc89361cab3dab2ead032aff4e4cd3526ccf33" }, { "schema_version": "1.0.0", diff --git a/dist/stylized_rock_generator-2.6.0.zip b/dist/stylized_rock_generator-2.6.0.zip deleted file mode 100644 index 69ab35b482fc70c57928aee497cc0819ef358508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17621 zcmV(^K-IrcO9KQH0000800J>rIx^Kl?) z(PCe(&LnvABv{;#NK}o|0W=j<*6jKT+dW!vw@e4EBKVj;u=!tSEO~w_lqP>X)Jx1p zcIRjqgb!U%6;d*zgMnY%I7Q*LChFWIO)EuQo=IF{dJ#x3eOYgl-P(+!J6POCO=Gsl{`%%04F0tuf6iOGtToIY!r+ll z*kwGvWk)>XiJ!$ut1HX-d3FOoq2%G~C zO>>^GR3A^uT3UH$n2*vtnX=xm>@Y|dp+DyIosWaLpV9Y|U>;;p8{VgJc*i>i1bD|T z5}xub?Xr{e!`@MnFBUxNvQwy^1b*0Kc{E|y?|MU?nP!V$Oh3Yh`1}^75D&b z@L8NZAU@7VfAVpLL;w4me|+BT1;1N*#8E`7# z)=zowAP#}fFOT;79hbf5$%ID?=20+B5@!LR$NlCXr~RwJ<#GSSyXc<`uC4~qqMTr- zb?RYZ?+9oF2))(ChnwyzWKs9kCjQ<2xy!cP&5okbq7HNc`bSl;&ej%|mVaM0)ENRP zrdb?eOHgNL2TQ*$TC>(Ujnni&G=p`vUzdH`()!jBh=X1QDKKKp)0DG6Ig?+b-fy9g zkDODENPXkqqLA?ODVz8ylmbSb^Yo_UB9!;X2XC*Ak5~`56-uY$n*gN1W1g@-@~Iz& zX%8rw=Xo^SWrxRu;XpORf;3|@ejkTnhP;o!atVTiRLj^T;7oKSazUoou33ah0wtnpTXQld4li|!khEUQx-%Z>wri`jDsjiBv=wT_dzmYcX7m8 zx12A$6l7qF279Y0Iz>?L;xL~h9Vd6)$YkhPNN4o>>Rp*KAKV=%;Jraf%$;#9+gw@=|K%o=<

Myyw-5OB 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 Y(@Bs{$q4XfWdlhv0bvc0c6I^r01tQl;s5{u diff --git a/dist/stylized_rock_generator-2.7.0.zip b/dist/stylized_rock_generator-2.7.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..7007ff0b070e8bbb3a181a10d32c1be7c3ebf4c7 GIT binary patch literal 18091 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 literal 0 HcmV?d00001 diff --git a/stylized_rock_generator.py b/stylized_rock_generator.py index b917b7c..bea0d64 100644 --- a/stylized_rock_generator.py +++ b/stylized_rock_generator.py @@ -1,7 +1,7 @@ bl_info = { "name": "Stylized Rock Generator", "author": "D4rkst3r", - "version": (2, 6, 0), + "version": (2, 7, 0), "blender": (4, 2, 0), "location": "View3D > Sidebar > Rock Gen", "description": ( @@ -842,17 +842,29 @@ class RockGenSettings(PropertyGroup): description="Cavity/AO multiplikativ ins Farbbild backen (EcoGame-Konvention)", ) bake_ao_strength: FloatProperty( - name="AO-Staerke", default=1.0, min=0.0, max=1.0, + name="AO-Staerke", default=0.55, min=0.0, max=1.0, description="0 = kein AO im Albedo, 1 = voll", ) bake_base_color: FloatVectorProperty( name="Grundfarbe", subtype='COLOR', size=4, - default=(0.52, 0.47, 0.40, 1.0), min=0.0, max=1.0, + default=(0.62, 0.60, 0.56, 1.0), min=0.0, max=1.0, description="Grundton des Steins; Outline/Highlight werden davon abgeleitet", ) + bake_seam_width: FloatProperty( + name="Fugenbreite", default=0.05, min=0.01, max=0.5, + description=("Wie breit der Uebergang von der Fuge zur Plattenflaeche ist. " + "Klein = schmale harte Fuge und flache Platte (Genshin), " + "gross = weicher Verlauf ueber die ganze Zelle"), + ) + bake_plate_flat: FloatProperty( + name="Platten flach", default=1.0, min=0.0, max=1.0, + description=("1 = Plattenflaeche nahezu einfarbig, Detail steckt nur in der " + "dunklen Fuge. 0 = klassischer Verlauf ueber die Zelle"), + ) bake_cell_scale: FloatProperty( - name="Zellgroesse", default=2.5, min=0.5, max=12.0, - description="Kleiner = groessere Zellen (weniger Bruchstuecke)", + name="Plattengroesse", default=0.7, min=0.3, max=12.0, + description=("Kleiner = GROESSERE Platten. Genshin-Referenz: nur wenige grosse " + "Platten pro Kachel, nicht viele kleine Zellen"), ) # --- FBX-Export --- @@ -1055,7 +1067,8 @@ class OBJECT_OT_export_rocks_fbx(Operator): # Textur-Bake (nahtlos tileable via 4D-Torus-Projektion, fuer Triplanar in UE) # --------------------------------------------------------------------------- -def _build_bake_material(base_color=(0.52, 0.47, 0.40), cell_scale=2.5): +def _build_bake_material(base_color=(0.52, 0.47, 0.40), cell_scale=2.5, + seam_width=0.32, plate_flat=0.0): """Baut ein prozedurales, nahtlos tileables Stylized-Rock-Material (Zell-Look). Trick: Die 2D-UV wird als (cos u, sin u, cos v, sin v) auf einen Torus @@ -1132,7 +1145,9 @@ def _build_bake_material(base_color=(0.52, 0.47, 0.40), cell_scale=2.5): cell_fac = nodes.new("ShaderNodeMapRange") links.new(vor_edge.outputs["Distance"], cell_fac.inputs["Value"]) cell_fac.inputs["From Min"].default_value = 0.0 - cell_fac.inputs["From Max"].default_value = 0.32 + # Fugenbreite: klein = schmale, harte Fuge und flache Platte (Genshin-Look), + # gross = breiter Verlauf ueber die ganze Zelle ("puffy", Golfball). + cell_fac.inputs["From Max"].default_value = seam_width cell_fac.inputs["To Min"].default_value = 0.0 cell_fac.inputs["To Max"].default_value = 1.0 cell_fac.clamp = True @@ -1154,12 +1169,15 @@ def _build_bake_material(base_color=(0.52, 0.47, 0.40), cell_scale=2.5): # alle Toene aus base_color abgeleitet. ramp = nodes.new("ShaderNodeValToRGB") cr = ramp.color_ramp + # plate_flat 0 = klassischer Verlauf, 1 = Plattenflaeche nahezu einfarbig + # mit dunkler Fuge (Referenz Genshin: leere Flaeche, Detail nur in der Fuge). + f = max(0.0, min(1.0, plate_flat)) cr.elements[0].position = 0.0 - cr.elements[0].color = _tone(0.12) # Riss / Outline - cr.elements[1].position = 0.85 - cr.elements[1].color = _tone(1.22) # Zell-Highlight - mid = cr.elements.new(0.32) - mid.color = _tone(0.72) # Zell-Grundton + cr.elements[0].color = _tone(0.12 - 0.05 * f) # Fuge: dunkler bei flach + cr.elements[1].position = 0.85 - 0.6 * f # Plateau frueher erreicht + cr.elements[1].color = _tone(1.22 - 0.24 * f) # weniger Highlight + mid = cr.elements.new(max(0.04, 0.32 - 0.26 * f)) + mid.color = _tone(0.72 + 0.22 * f) # Platte heller/gleichmaessiger links.new(combined.outputs[0], ramp.inputs["Fac"]) # Roughness: an den Rissen etwas rauer @@ -1262,6 +1280,8 @@ class OBJECT_OT_bake_rock_textures(Operator): mat, sk = _build_bake_material( base_color=tuple(settings.bake_base_color), cell_scale=settings.bake_cell_scale, + seam_width=settings.bake_seam_width, + plate_flat=settings.bake_plate_flat, ) # AO-Staerke ins Albedo (Fac 0 = aus, 1 = voll) sk["ao_mix"].inputs["Fac"].default_value = ( @@ -1592,6 +1612,8 @@ class VIEW3D_PT_rock_generator(Panel): box.prop(settings, "bake_resolution") box.prop(settings, "bake_base_color") box.prop(settings, "bake_cell_scale") + box.prop(settings, "bake_seam_width") + box.prop(settings, "bake_plate_flat") row = box.row(align=True) row.prop(settings, "bake_color", toggle=True) row.prop(settings, "bake_normal", toggle=True)