Virtuelle Welten | Kreative Quellen | Menschliche Ansichten

Opensim: Region mit eigener Height-Map gestalten!

Im vergangenen Teil der emaster Opensim-Initiative wurde der Second Life-Klon auf dem eigenen Rechner installiert und die erste Region in Betrieb genommen.

So ein großzügiges flaches Land wird auf Dauer sehr langweilig, der virtuellen Welt fehlen noch Berge, Täler, Flussläufe und dergleichen. Solche blühenden Landschaften werden mit Hilfe von Height-Maps erstellt, die Opensim-Werkzeuge zur Landschaftgestaltung eignen sich nicht für derart umfangreiche Erdarbeiten.

Opensim

Obwohl es Generatoren gibt, die Height-Maps erstellen können, widme ich mich hier der manuellen Methode, da man dabei mehr lernen kann. Obwohl das Erstellen von Height-Maps für Opensim alles andere als schwierig ist…

Ein bisschen Height-Map Theorie!

Eine Height-Map für Opensim ist ein Graustufenbild, eine Grafik in schwarzweiß. Solch eine Grafik kann man in jedem x-beliebigen Grafikeditor (Gimp, Photoshop etc.) erstellen – solange es dort als .bmp gespeichert werden kann.

Wichtig ist die exakte Größe von 256 x 256 Pixeln!

Opensim Height Map

Erklärung: Eine Opensim-Region misst 256 x 256 Meter. Jedes Pixel der Height-Map wird also in genau einen Meter umgerechnet. Das ist keine besonders hohe Auflösung, wirklich geschmeidige Gefälle und Übergänge lassen sich damit kaum bewerkstelligen. Dennoch, eine störende Einschränkung ist diese grobe Auflösung nicht, für Opensim/Second Life reicht es völlig. Für Feinarbeiten kann man immer noch auf die inworld-Werkzeuge zurückgreifen.

Wer nun glaubt, er könne beispielsweise mit einer 512 x 512 Pixel großen Grafik die Auflösung verbessern, der irrt. Opensim spukt bei jedem anderen Format als 256px eine Fehlermeldung aus. Man hat allerdings die Möglichkeit, eine große Height-Map über mehrere Regionen zu verteilen, womit ich mich beim nächsten Mal beschäftigen werde.

Eine Height-Map zu lesen ist recht einfach. Dazu eine kleine Faustregel: Niedrige Bereiche wie Täler sind schattig, liegen also mehr im Dunklen als Berge, die ja näher zur Sonne sind, also dementsprechend heller dargestellt werden. In anderen Worten: Die Farbe Schwarz ist in Opensim der Meeresboden, Weiß hingegen die höchste Bergspitze (rund 256m).

Für eine natürliche Landschaft benötigt man also vor allem dunkle bis mittlere Grautöne.

Grundsätzlich gilt: Es braucht meist einige Versuche, bis man mit seiner Height-Map restlos zufrieden ist. Aber das Experimentieren ist ja sowieso ein wesentlicher Bestandteil von Opensim.

Height-Map für Opensim erstellen – in 3 knackigen Schritten!

Schritt 1:

Ich erstelle in meinem Grafikprogramm eine neue Grafik mit den Maßen 256 x 256 Pixel.

Ich fülle dieses Bild mit dem dunklen Grauton #282828, der meiner Meinung nach ideal für ein Land knapp über Wasserhöhe ist.

Flatland Terrain in Opensim

Zur Erinnerung, Normalnull ist in Opensim der Meeresboden, es folgt eine 20 Meter dicke Schicht Wasser; das Land sollte also etwa auf 21 Meter Höhe liegen, um nicht überflutet zu werden. Es gibt die Möglichkeit, die Wassertiefehöhe zu verändern, wovon ich aber abrate.

Schritt 2:

Ich möchte die typischen harten Ufer meiner Region entfernen, also male ich mit schwarzem Pinsel eine organische Küstenlinie mit kleinen Buchten ringsherum.

Ich entscheide mich auch für einen Flusslauf und einen kleinen See:

Fluss, See und natürliche Küstenlinie

Anschließend füge ich mit verschiedenen Grautönen weitere Konturen hinzu und lasse dadurch Hügel, Berge und Schluchten entstehen:

Berge und Seen in Opensim

Das 1:1-Verhältnis zwischen Pixeln und Metern hilft bei der Einschätzung der Proportionen.

Man sieht, dass hier am Ufer kleine Pfützen entstanden sind. Sollten diese stören, einfach das Basisland (#282828) leicht aufhellen, vielleicht um 10 – 15%. Oder nur diese Stellen während des nächsten Schrittes ausarbeiten.

Schritt 3:

Damit die Landschaft nicht überall treppenartige Höhenabstufungen enthält, verwende ich das Blur-Werkzeug oder andere Unschärfe-Filter, um die Height-Map etwas zu verwaschen.

Opensim Terrain Height-Map

Im Grunde kann man bei all diesen Schritten ganz nach seinem Geschmack herumexperimentieren. Im Grunde sind dabei kaum Grenzen gesetzt.

Die Grafik kann nun als .bmp-Datei (24bit) gespeichert und in Opensim geladen werden.

Height-Map in Opensim laden!

Noch ein wichtiger Hinweis: Bereits vorhandene Prims, also alle bereits gebauten Häuser, Bäume, Straßen etc., werden nicht automatisch der neuen Height-Map angepasst, sondern behalten ihre exakten Koordinaten. Objekte können also verschüttet werden! Das ist nicht weiter schlimm, da man jederzeit das vorherige Terrain wieder herstellen kann, man sollte es aber berücksichtigen, um sich Schreck und Mühen zu ersparen. Am besten also alles erst mal ins Inventar speichern und später wieder neu einfügen.

Ich gehe hier nach wie vor davon aus, dass erst eine Region vorhanden ist. Wie man mit mehreren Regionen verfährt, erkläre ich beim nächsten Mal.

Opensim starten, ebenso den Hippo-Viewer.

Wenn alles hochgefahren ist, im DOS-Fenster von Opensim den Befehl “terrain load” eingeben, gefolgt vom Verzeichnispfad, unter dem die Height-Map gespeichert ist. Vorzugsweise speichere ich Height-Maps immer direkt im Opensim-Ordner, das ist übersichtlicher…

Die Befehlszeile sieht also so aus: terrain load c:\Opensim\meine-height-map.bmp

Opensim Befehlszeile

Mit der Entertaste bestätigen. Opensim lädt die Height-Map, die Änderung kann im Hippo-Viewer verfolgt werden.

Opensim Terrain

Nun kann ich mir mein neues Terrain ansehen, Korrekturen im Grafikeditor vornehmen und die überarbeitete Height-Map erneut in Opensim laden. Der Befehl “terrain load” überschreibt immer die vorherige Height-Map.

Mit ein wenig Übung und vielen Tests ist es möglich, sehr individuelle Landschaften zu formen, Gebirgspfade und Seenplatten zu modellieren.

Manchmal entstehen dabei auch Artefakte, beispielsweise kleine eckige Inseln, die auf der Height-Map nicht eingezeichnet sind. Ein Neustart von Opensim und/oder des Hippo-Viewers schafft Abhilfe.

Mit dem Befehl “terrain bake” (im DOS-Fenster eingeben) wird das finale Terrain als Default definiert. Ob man dies nun tut oder nicht – ich habe ehrlich gesagt noch keinen Unterschied feststellen können. Trotzdem, Vorsicht ist die Mutter der Opensim-Kiste.

Beim nächstem Mal wird dies alles noch etwas ausgebaut, wir nehmen weitere Regionen in Betrieb und erstellen einen kleinen Kontinent – wie immer: Kein großes Problem.

Kategorie: Tutorien
Tags: ,
Veröffentlicht am 31.05.2010 von admin | Was sagen Sie dazu?

Kommentar schreiben:




WordPress adds stuff here-->