Karten: Heightmaps mit Blender erstellen

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • In diesem Artikel möchte ich mit der Zeit versuchen, verschiedene Wege zu demonstrieren, wie man mit Blender heightmaps erstellen kann.

    1 Methode 1 mit Blender Render


    Auf die Ideen, die ich hier präsenteren werde, komme ich bestimmt nicht selbst, also werde ich meine Quellen natürlich nennen. Ich möchte hier szs. versuchen, euch das etwas ausführlicher zu erklären. Hier meine erste "Inspiration":
    [SLB] Terrain heightmap for OpenSim with Blender 2.5x and ANT plug-in HD


    Wie ihr seht, gehts da eigentlich um ein anderes Spiel, aber heightmap ist heightmap, sag ich mir. Zuerst starten wir also Blender und löschen den Default-Cube aus unserer Szene (X). Dann wechselt in die orthografische (NUM 5) Top-View (NUM 7) und wählt die Camera aus. Nun gibts einen Affengriff: Mit Strg + Alt+ NUM 0 setzt ihr die Kamera mittig über eure Szene. Notfalls öffnet in der 3D-View das Property-Panel (N) und setzt alle Werte bei Location und Scale auf 0. Ok, Location-Z kann auf 5 oder sowas. Jetzt verschiebt eure (noch ausgewählte) Kamera in einen andere Layer. Drückt dazu M und wählt einen Layer aus (diesen Punkt hat er im Video irgendwie unterschlagen -.-).


    Gut, nun wollen wir erstmal die Landschaft kreieren. Dazu müsst ihr vorher ein AddOn/Plugin aktivieren. Bei mir war es freundlicherweise gleich mit Blender mitgeliefert, ich geh bei euch also auch davon aus. In folgendem Bild hab ich das Wichtigste für euch mal zusammen gefasst:


    Einerseits seht ihr, wie ihr die Optionen aufruft, andererseits seht ihr beim Optionen-Fenster, was ihr machen müsst. Klickt den Reiter/Tab Add-ons an und gebt bei der Lupe "land" bspw. ein. Bei mir findet er da nur dieses eine gesuchte Addon. Ihr könnt vor dem Namen auf den Pfeil klicken um mehr Infos zu bekommen, wichtig ist aber nur, dass am Ende der Zeile das Häkchen gesetzt wird, damit aktiviert ihr das AddOn. Speichert mit Save User Settings und das wars auch schon.



    Nun könnt ihr in der 3D-View landscapes hinzufügen - tut dies bitte einmal :) Bedenkt dabei aber bitte, dass ihr wieder das erste Layer ausgewählt habt, oder verschiebt das erstellte Landscape-Mesh wie schon die Kamera zuvor, in einen anderen Layer. Scheinbar ist es wichtig, dass Kamera und Mesh in getrennten Ebenen liegen.



    Nun erhaltet ihr im rechten Panel (notfalls mit T aktivieren) unten eine Fülle an Optionen. Spielt am besten einfach etwas mit den Werten herum, um herauszufinden, was sie machen. Erstellt euch nun eine Landschaft, die euch gefällt.


    Ein paar Tipps hätte ich noch:
    Ganz unten mit Falloff könnt ihr ausstellen, dass die Map zum Rand hin abflacht. Das trifft den Charakter einer TF-Map doch deutlich eher. Die Mesh-Size wird noch wichtig, merkt euch den Wert (bzw ist das ja die Dimension der Map). Je höher der Wert, desto größer wird die Karte, ohne jedoch an Höhe zu gewinnen. Also quasi erweitert ihr die Landschaft. Hoffe, das ist verständlich. Notfalls einfach mal bissl rumspielen damit. Die Subdivisions solltet ihr nicht zu hoch drehen, schon garnicht, solange ihr noch rumtüftelt. Je mehr Subdivisions, desto rechenlastiger werden Änderungen. Ich hatte anfangs ganz forsch mal "Pixelgetreue" 4097 einstellen wollen... keine gute Idee xD 512 liefen noch ganz gut, 1024 gingen sicher auch noch. Ich hab schlussendlich 256 für gut befunden, aber wie gesagt, spielt etwas damit herum. Zum Testen hab ich 64 genommen - das war noch recht flink und brachte auch schon gute Ergebnisse.


    Soweit so gut. Nun erstmal wieder zurück zur Kamera. Wählt sie aus und geht in ihre Settings:


    Stellt sie um auf Orthographic und gebt als Orthographic Scale den Wert ein, den ihr eben beim Landscape Erstellen bei Mesh-Size angegeben hattet. Notfalls schaut nochmal im Property-Panel (N) nach, welche Dimensions (x/y - Achsen) euer Mesh hat. Nun geht in die Render-Settings und stellt die Auflösung ein, in der eure Map gerendert werden soll. Für eine große Karte wären das also 4097x4097 Pixel. Stellt sicher, dass als Größe 100% eingestellt sind (bzw nutzt kleinere Werte zum schnellen testen).



    Nun sollte eure Kamera (wenn ihr in der 3d-View noch in der Ortho Top-View seid) passgenau über der Landschaft sitzen. Oben beim Bild, wo es um die Layer ging, seht ihr, wie es aussehen sollte. Weiter gehts mit den Texturen/Materialien. Wählt wieder euer landscape-Mesh aus und wechselt in die Material-Settings. Erstellt ein neues Material oder weisst das Default-Material zu und schaut im Bereich Shading nach der Option Shadeless. Setzt das Häkchen und wir sind hier vorerst fertig.


    Hmm, nun wirds etwas anspruchsvoller. Also eher für mich, mit ordentlichen Bildchens ^^ Na mal sehen. Weiter gehts mit den Texturen. Wechselt zu den Settings und erstellt ne neue Textur. Setzt den Type auf Blend und aktiviert im Bereich Colors die Option Ramp.



    Hie habe ich einen teil grün markiert - da jetzt bitte drauf klicken und den Alpha-Wert auf 1.000 setzen.



    Nun müssen wir im Panel nur etwas nach unten scrollen, bis wir den Bereich Blend finden. Hier stellen wir von Horizontal auf Vertical um. Darunter ist gleich der Bereich Mapping und hier stellen wir für die Achsen folgende Kombination ein: Statt X Y Z setzen wir None Z None. Die Coordinates sind im Video auf Generated, ich weis nicht, ob das was ausmacht. ich habs einfach mal übernommen.



    Jo, und damit sollten wir alles eingestellt haben. Jetzt einmal F12 drücken und er rendert euch hoffentlich eine heightmap in eurer gewünschten Auflösung. Das Render-Ergebnis mit F3 noch speichern et voila - geschafft. Achtet beim Speichern darauf, es gleich als 16Bit Grayscale zu speichern:


    Hier mal ein Ergebnis von mir:



    Mein Fazit:
    Eine recht simple Methode, sicherlich hat man ne Menge einzustellen, aber das macht man einmal und danach wirds einfacher. Auch ist es schön, dass man es in der gewünschten Zielauflösung rendern kann. Bei den Color-Ramp Einstellungen der Textur kann man wieder mit Helligkeit und Kontrast spielen, um so das Ergebnis etwas anzupassen, wenn man mag und es renderd auch ziemlich flott. Allerdings bin ich vom Ergebnis, also so rein vom optischen Eindruck her, irgendwie nicht so überzeugt. Das sieht doch sehr rundgelutscht aus alles, irgendwie halt nicht sehr echt. Auch muss sich zeigen, ob die geschaffenen Geländeformen TF-tauglich sind. Die optionen zum Gelände generieren sind zwar erstmal vielfältig, aber nutzbringende Einstellungen sind nun doch nicht gar so viele vorhanden und die Ergebnisse werden sich wohl nur durch wenige Landschaftstypen mit ledigleich leichten Variationen durch anderen Random-Seeds erschöpfen. Aber... Es gibt sicher noch andere methoden, Landschaften schön zu erstellen. Wie dann hier die Ergebnisse aussehen, muss man weiter sehen. Eventuell brauchts dann doch noch eine andere Methode zum Rendern. Aber - es ist ein einfacher Einstieg in die Materie :D


    Hier nochmal eine schnelle Implementierung in TF. Ließ sich recht Problemlos erstellen, wie ihr es prinzipiell findet, überlass ich mal euch ^^

Teilen