Rock Generator 2.11.0: Quader-Proportionen auf gleiches Volumen normiert
Beim Export von Form C (flache Platte) fiel auf: Fels_C_S war 1.45 m, waehrend Fels_A_S nur 0.85 m misst - dieselbe Klasse, aber deutlich groesser, nur weil eine Achse gestreckt ist. Damit waere die Groessen-Klasse formabhaengig gewesen. Die Proportionen werden jetzt auf geometrisches Mittel 1.0 normiert. "M" bedeutet bei jeder Form dasselbe Volumen; eine Platte ist dann flacher UND breiter, aber nicht schwerer. Dass ihre laengste Kante groesser ausfaellt, ist geometrisch zwangslaeufig und Absicht. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -202,6 +202,10 @@ damit die Raw-URL sie ausliefert.
|
|||||||
`Proportions-Streuung` — damit entstehen flache **Platten** und langgestreckte
|
`Proportions-Streuung` — damit entstehen flache **Platten** und langgestreckte
|
||||||
**Riegel** statt nur runder Brocken. Gemessen bei Proportion (2.0, 1.5, 0.35):
|
**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.
|
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:
|
Die Proportionen werden auf die MESH-DATEN angewendet, nicht auf das Objekt:
|
||||||
der Displace nutzt globale Texturkoordinaten, eine Objekt-Skalierung wuerde
|
der Displace nutzt globale Texturkoordinaten, eine Objekt-Skalierung wuerde
|
||||||
das Rauschen mitverzerren statt die Form zu aendern.
|
das Rauschen mitverzerren statt die Form zu aendern.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
schema_version = "1.0.0"
|
schema_version = "1.0.0"
|
||||||
|
|
||||||
id = "stylized_rock_generator"
|
id = "stylized_rock_generator"
|
||||||
version = "2.10.0"
|
version = "2.11.0"
|
||||||
name = "Stylized Rock Generator"
|
name = "Stylized Rock Generator"
|
||||||
tagline = "Batch-Generator fuer stylized Rocks mit UE5-Export"
|
tagline = "Batch-Generator fuer stylized Rocks mit UE5-Export"
|
||||||
maintainer = "D4rkst3r"
|
maintainer = "D4rkst3r"
|
||||||
|
|||||||
Vendored
+4
-4
@@ -32,7 +32,7 @@
|
|||||||
"id": "stylized_rock_generator",
|
"id": "stylized_rock_generator",
|
||||||
"name": "Stylized Rock Generator",
|
"name": "Stylized Rock Generator",
|
||||||
"tagline": "Batch-Generator fuer stylized Rocks mit UE5-Export",
|
"tagline": "Batch-Generator fuer stylized Rocks mit UE5-Export",
|
||||||
"version": "2.10.0",
|
"version": "2.11.0",
|
||||||
"type": "add-on",
|
"type": "add-on",
|
||||||
"maintainer": "D4rkst3r",
|
"maintainer": "D4rkst3r",
|
||||||
"license": [
|
"license": [
|
||||||
@@ -48,9 +48,9 @@
|
|||||||
"Mesh",
|
"Mesh",
|
||||||
"Modeling"
|
"Modeling"
|
||||||
],
|
],
|
||||||
"archive_url": "./stylized_rock_generator-2.10.0.zip",
|
"archive_url": "./stylized_rock_generator-2.11.0.zip",
|
||||||
"archive_size": 20241,
|
"archive_size": 20382,
|
||||||
"archive_hash": "sha256:d092ae0a1cfefed9bdd4fbe1ffcd8160f4fffb00033cec346bbde3d14c755254"
|
"archive_hash": "sha256:50eeed1d105ad68487e25020fdf28f5e3b8d81e83f9a21b9d33968eaa06aff2d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"schema_version": "1.0.0",
|
"schema_version": "1.0.0",
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
bl_info = {
|
bl_info = {
|
||||||
"name": "Stylized Rock Generator",
|
"name": "Stylized Rock Generator",
|
||||||
"author": "D4rkst3r",
|
"author": "D4rkst3r",
|
||||||
"version": (2, 10, 0),
|
"version": (2, 11, 0),
|
||||||
"blender": (4, 2, 0),
|
"blender": (4, 2, 0),
|
||||||
"location": "View3D > Sidebar > Rock Gen",
|
"location": "View3D > Sidebar > Rock Gen",
|
||||||
"description": (
|
"description": (
|
||||||
@@ -310,6 +310,13 @@ def _build_rock_mesh(context, settings, index, location, rng, name=None):
|
|||||||
# der Displace nutzt globale Texturkoordinaten, eine Objekt-Skalierung
|
# der Displace nutzt globale Texturkoordinaten, eine Objekt-Skalierung
|
||||||
# wuerde das Rauschen mitverzerren statt die Form zu aendern.
|
# wuerde das Rauschen mitverzerren statt die Form zu aendern.
|
||||||
px, py, pz = settings.box_proportions
|
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
|
v = settings.box_variation
|
||||||
if v > 0.0:
|
if v > 0.0:
|
||||||
px *= 1.0 + rng.uniform(-v, v) * 0.5
|
px *= 1.0 + rng.uniform(-v, v) * 0.5
|
||||||
|
|||||||
Reference in New Issue
Block a user