diff --git a/README.md b/README.md index 0bda2ec..70ca002 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,10 @@ damit die Raw-URL sie ausliefert. `Proportions-Streuung` — damit entstehen flache **Platten** und langgestreckte **Riegel** statt nur runder Brocken. Gemessen bei Proportion (2.0, 1.5, 0.35): 3.43 / 2.56 / 0.79 m — Z also 23 % von X. + Die Proportionen werden auf **gleiches Volumen normiert** — „M" bedeutet damit + bei jeder Form dasselbe. Eine Platte ist dann flacher UND breiter als ein + Wuerfel derselben Klasse, aber nicht schwerer; ihre laengste Kante ist + entsprechend groesser (das ist Absicht, kein Fehler). Die Proportionen werden auf die MESH-DATEN angewendet, nicht auf das Objekt: der Displace nutzt globale Texturkoordinaten, eine Objekt-Skalierung wuerde das Rauschen mitverzerren statt die Form zu aendern. diff --git a/blender_manifest.toml b/blender_manifest.toml index b37d3fb..0db2713 100644 --- a/blender_manifest.toml +++ b/blender_manifest.toml @@ -1,7 +1,7 @@ schema_version = "1.0.0" id = "stylized_rock_generator" -version = "2.10.0" +version = "2.11.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 15dd3c3..e153d8e 100644 --- a/dist/index.json +++ b/dist/index.json @@ -32,7 +32,7 @@ "id": "stylized_rock_generator", "name": "Stylized Rock Generator", "tagline": "Batch-Generator fuer stylized Rocks mit UE5-Export", - "version": "2.10.0", + "version": "2.11.0", "type": "add-on", "maintainer": "D4rkst3r", "license": [ @@ -48,9 +48,9 @@ "Mesh", "Modeling" ], - "archive_url": "./stylized_rock_generator-2.10.0.zip", - "archive_size": 20241, - "archive_hash": "sha256:d092ae0a1cfefed9bdd4fbe1ffcd8160f4fffb00033cec346bbde3d14c755254" + "archive_url": "./stylized_rock_generator-2.11.0.zip", + "archive_size": 20382, + "archive_hash": "sha256:50eeed1d105ad68487e25020fdf28f5e3b8d81e83f9a21b9d33968eaa06aff2d" }, { "schema_version": "1.0.0", diff --git a/dist/stylized_rock_generator-2.10.0.zip b/dist/stylized_rock_generator-2.10.0.zip deleted file mode 100644 index 6debf08..0000000 Binary files a/dist/stylized_rock_generator-2.10.0.zip and /dev/null differ diff --git a/dist/stylized_rock_generator-2.11.0.zip b/dist/stylized_rock_generator-2.11.0.zip new file mode 100644 index 0000000..61dcccc Binary files /dev/null and b/dist/stylized_rock_generator-2.11.0.zip differ diff --git a/stylized_rock_generator.py b/stylized_rock_generator.py index bf53df8..a7f3243 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, 10, 0), + "version": (2, 11, 0), "blender": (4, 2, 0), "location": "View3D > Sidebar > Rock Gen", "description": ( @@ -310,6 +310,13 @@ def _build_rock_mesh(context, settings, index, location, rng, name=None): # der Displace nutzt globale Texturkoordinaten, eine Objekt-Skalierung # wuerde das Rauschen mitverzerren statt die Form zu aendern. px, py, pz = settings.box_proportions + # Auf gleiches Volumen normieren: sonst waere ein Quader bei gleicher + # Groessen-Klasse deutlich groesser als ein Wuerfel, nur weil eine + # Achse gestreckt ist. So bedeutet "M" bei jeder Form dasselbe - + # die Platte ist dann flacher UND breiter, aber nicht schwerer. + gmean = (abs(px) * abs(py) * abs(pz)) ** (1.0 / 3.0) + if gmean > 1e-6: + px, py, pz = px / gmean, py / gmean, pz / gmean v = settings.box_variation if v > 0.0: px *= 1.0 + rng.uniform(-v, v) * 0.5