In den .con-Dateien von Industrien wird die Oberflächenstruktur des Bodens offensichtlich durch eine Liste von Koordinaten definiert. Das sieht in der Datei etwa so aus:
meshes = {
["equal"] = {
{ { { 62, 70, 0 }, {67.69878, 75.44878, 0 }, {66.02470, 76.66660, 0 }, },{ { 69.76532, 71.96745, 0 }, {62, 70, 0 }, {70, 70, 0 }, },{ { 68.97760, 73.83571, 0 }, {62, 70, 0 }, {69.76532, 71.96745, 0 }, },{ { 67.69878, 75.44878, 0 }, {62, 70, 0 }, {68.97760, 73.83571, 0 }, },{ { 62, 70, 0 }, {66.02470, 76.66660, 0 }, {64.07813, 77.37601, 0 }, },{ { 62, 70, 0 }, {64.07813, 77.37601, 0 }, {62, 77.50000, 0 }, },{ { 62, 37.47691, 0 }, {52, -62.43179, 0 }, {60, -63.81123, 0 }, },{ { 60, -63.81123, 0 }, {70, 37.47691, 0 }, {62, 37.47691, 0 }, },{ { 52, -69.93179, 0 }, {60, -63.81123, 0 }, {52, -62.43179, 0 }, },{ { 60, -63.81123, 0 }, {52, -69.93179, 0 }, {60, -71.31123, 0 }, },{ { -70, 37.47691, 0 }, {-60, -43.11977, 0 }, {-62, 37.47691, 0 }, },{ { -52, -44.49920, 0 }, {-62, 37.47691, 0 }, {-60, -43.11977, 0 }, },{ { -60, -50.61976, 0 }, {-52, -44.49920, 0 }, {-60, -43.11977, 0 }, },{ { -52, -44.49920, 0 }, {-60, -50.61976, 0 }, {-52, -51.99919, 0 }, },{ { 70, 37.47691, 0 }, {60, -63.81123, 0 }, {85.35500, -68.19366, 0 }, },{ { 85.35500, -68.19366, 0 }, {104.29769, 37.47691, 0 }, {70, 37.47691, 0 }, },{ { 60, -71.31123, 0 }, {85.35500, -68.19366, 0 }, {60, -63.81123, 0 }, },{ { 85.35500, -68.19366, 0 }, {60, -71.31123, 0 }, {85.35500, -75.69366, 0 }, },{ { 104.29769, 37.47691, 0 }, {74.24264, 44.97691, 0 }, {70, 37.47691, 0 }, },{ { 74.24264, 44.97691, 0 }, {104.29769, 37.47691, 0 }, {104.29769, 44.97691, 0 }, },{ { -60, -43.11977, 0 }, {-91.89769, -45.11968, 0 }, {-60, -50.61976, 0 }, },{ { -91.89769, -45.11968, 0 }, {-60, -43.11977, 0 }, {-91.89769, -37.61968, 0 }, },{ { 87.43314, -75.56966, 0 }, {85.35500, -68.19366, 0 }, {85.35500, -75.69366, 0 }, },{ { 85.35500, -68.19366, 0 }, {91.05379, -73.64244, 0 }, {92.33260, -72.02936, 0 }, },{ { 89.37969, -74.86025, 0 }, {85.35500, -68.19366, 0 }, {87.43314, -75.56966, 0 }, },{ { 91.05379, -73.64244, 0 }, {85.35500, -68.19366, 0 }, {89.37969, -74.86025, 0 }, },{ { 85.35500, -68.19366, 0 }, {92.33260, -72.02936, 0 }, {93.12032, -70.16111, 0 }, },{ { 85.35500, -68.19366, 0 }, {93.12032, -70.16111, 0 }, {93.70499, -68.19366, 0 }, },{ { 104.29769, 37.47691, 0 }, {109.99648, 42.92569, 0 }, {108.32239, 44.14351, 0 }, },{ { 112.06302, 39.44436, 0 }, {104.29769, 37.47691, 0 }, {112.29769, 37.47691, 0 }, },{ { 111.27530, 41.31261, 0 }, {104.29769, 37.47691, 0 }, {112.06302, 39.44436, 0 }, },{ { 109.99648, 42.92569, 0 }, {104.29769, 37.47691, 0 }, {111.27530, 41.31261, 0 }, },{ { 104.29769, 37.47691, 0 }, {108.32239, 44.14351, 0 }, {106.37582, 44.85291, 0 }, },{ { 104.29769, 37.47691, 0 }, {106.37582, 44.85291, 0 }, {104.29769, 44.97691, 0 }, },{ { -93.97583, -44.99568, 0 }, {-91.89769, -37.61968, 0 }, {-95.92239, -44.28628, 0 }, },{ { -91.89769, -37.61968, 0 }, {-97.59648, -43.06846, 0 }, {-95.92239, -44.28628, 0 }, },{ { -99.66302, -39.58714, 0 }, {-91.89769, -37.61968, 0 }, {-99.89769, -37.61968, 0 }, },{ { -98.87529, -41.45538, 0 }, {-91.89769, -37.61968, 0 }, {-99.66302, -39.58714, 0 }, },{ { -97.59648, -43.06846, 0 }, {-91.89769, -37.61968, 0 }, {-98.87529, -41.45538, 0 }, },{ { -91.89769, -45.11968, 0 }, {-91.89769, -37.61968, 0 }, {-93.97583, -44.99568, 0 }, }
...und diese Zeichenwurst geht in dieser Form und exakt genau so unstrukturiert noch wesentlich länger weiter. Das, was ich hier rauskopiert habe, ist ungefähr 5% der ganzen Kolonne. Offensichtlich sind das XYZ-Koordinaten, die die lokale Höhe des Bodens definieren und dabei auch gleich eine Boundary Box abwerfen.
Zwei Fragen habe ich dazu:
1. "equal" ist offensichtlich ein lokal ebener Punkt auf Z=0. Was aber ist "greater" und "less"? Das sind ebenfalls solche Koordinaten, aber mit einem ziemlich wilden Z-Wert, der in einer zufällig ausgewählten .con von -20 bis +31.2 geht. Die "greater"- hat dabei interessanterweise meist die negativen, die "less"-Liste die positiven Werte. Die dabei entstehende Bodenstruktur hat aber keine Amplitude von über 50 Metern, da muß also was anderes auch noch reinspielen.
2. Da ich nicht annehme, daß bei UG Masochisten arbeiten, die zum Vergnügen Telefonbücher auswendig lernen oder solche Zahlenkolonnen von Hand tippen (dann wären sie vermutlich auch schöner strukturiert und nicht so ein fürchterliches Chaos), nehme ich an, daß diese Strukturen irgendwie prozedural oder mit Hilfe eines Programmes erzeugt werden. Hat hier irgendjemand einen Fingerzeig? Bestimmt gibt es eine Methode, zum Beispiel ein auf der XY-Ebene liegendes Rechteck zu rastern, jedem Punkt einen Z-Wert zuzuweisen und das Ergebnis dann in so eine Buchstabensuppe zu übersetzen? In Blender wäre das sicher flott gemacht, wenn es hier eine Möglichkeit gäbe...
Jede Hilfe ist willkommen