CodeForum.chCode ForenDirectXThema: Terrain Heighmaps
Seiten: [1]
AntwortenDrucken
Autor Thema: Terrain Heighmaps  (Gelesen 5366 mal)
Tinos
Mitglied
*
Offline Offline

Beiträge: 71


WWW
« am: 16. März 2008, 17:27:26 »
ZitierenZitat

Bei meinem Tutorial lade ich die Datei terrain.raw als Heighmap rein.

Jedoch wenn ich bei google solche raw editoren suche find ich nix.

Kennt jemand einen Mapeditor, der ein Terrain im raw format erzeugt?
Moderator informieren   Gespeichert
SuperMario
Globaler Moderator
*
Offline Offline

Beiträge: 2497



« Antworten #1 am: 16. März 2008, 20:17:39 »
ZitierenZitat

Ich hab Terragen mal genutzt. Es erzeugte schon damals faszinierende Ergebnisse und man kann Raw Heightmaps importieren und exportieren:
http://www.planetside.co.uk/terragen/cando.shtml

Adobe Photoshop kann auch 8Bit/16Bit Raw Bilder abspeichern. D.h. du pinselst einfach dein Heightmap in Graustufen im Photoshop und speicherst es als .raw.

Hier habe ich auch noch was kostenloses gefunden. Ist aber ziemlich rudimentär:
http://hme.sourceforge.net/

Ich hab in Google so gesucht:
http://www.google.de/search?hl=de&q=directx++raw+heightmap+editor&btnG=Suche&meta=
Moderator informieren   Gespeichert
Tinos
Mitglied
*
Offline Offline

Beiträge: 71


WWW
« Antworten #2 am: 17. März 2008, 07:12:21 »
ZitierenZitat

danke.

Mit Photoshop kann man auch in *.raw bilder erstellen.

mit dem gratistool hme kann man zwar eine schöne heightmap erstellen, aber hab nix gefunden, das man im raw format speichern kann.

Noch eine Frage:
Kann mir jemand erklären, wie man eine heightmap macht und dazu gleich die texture?
Das muss ja zusammenstimmen. Vielleicht gibts ja bei photoshop eine mehode um eine heighmap mit texturen zu machen.
Moderator informieren   Gespeichert
SuperMario
Globaler Moderator
*
Offline Offline

Beiträge: 2497



« Antworten #3 am: 17. März 2008, 13:47:55 »
ZitierenZitat

Ich glaube, du denkst, das .raw ein spezielles Format für Heightmaps ist. .raw ist ein ganz normales Bild-Format, bei dem die Daten Pixel für Pixel abgelegt sind, ohne jegliche Kompression, wie z.b auch bei BMP (Bitmap).
Ich glaub nicht, das ein raw Bild mehrere Layer oder Bilder enthalten kann, wie z.b. bei tiff, deswegen brauchst du schon 2 getrennte Bilder. Einmal die Heightmap, besteht aus grautönen, wobei je dunker das grau tiefer bedeutet und je heller das Grau, höheres Gelände bedeuet. Un dann brauchst du ein zweites Bild mit der eigentlich Textur. Die 2 Bilder sollte die gleichen Ma??e haben, sonst passt es nicht zusammen.

Im Photoshop könntest du z.b. einfach ein 2.Ebene anlegen und über die Heightmap legen, Dann stellst du die Transparenz/Opacity dieser neuen Texture-Ebene auf 70%-80% und pinselst einfach deine Textur passend zur darunterliegenden Height map.
Wenn du z.b einen einfach Berg als Heightmap hast, dann malst du an der höchsten Stelle (weiss in der Heightmap) einfach eine weisse Stelle in der Texture, die dann den Schnee darstellt. An den Stellen wo das Weiss ein wenig dunkler wird, kannst du dann eine schöne grass-Textur in die Textur-Ebene malen und weiter unten kann du dann vielleicht ein paar Gesteins-texturen hinzufügen. und so weiter.

Oder du schaust dir mal Terragen (http://www.planetside.co.uk/terragen/). Damit kannst echt super Gelände generieren lassen und dann auch noch im 3D Modus das graue Gelände mit einem Textur-Pinsel bemalen. Ich glaub das ging damals auch schon. Ist auf alle Fälle ein Blick wert die Software. Und sie ist für private Zwecke kostenlos.
Moderator informieren   Gespeichert
Tinos
Mitglied
*
Offline Offline

Beiträge: 71


WWW
« Antworten #4 am: 20. März 2008, 15:59:06 »
ZitierenZitat

Danke für die vielen Tips.

Hätte da noch eine Frage punkto heigtmaps.

Hab da ein Beispiel aus dem Buch Inside Microsoft DirectX 9 Spieleprogrammierung, wo es eine Funktion gibt, mit der man einfach die Heightmap Datei laden kann und es in eine Matrize umwandelt.

Ich versuche schon seit einiger Zeit, das ich die Kamera an dem Terrain ausrichtet. Damit meine ich das die kamera immer auf der Höhe von dem Y-Wert des Terrains ist, egal wohin ich die Kamera bewege (x- und z-Achse). Aber hab da irgendwelche Fehler.
Ist es möglich das man zwischen den Dreiecken runterfallen kann?
Meine Vermutung der Matrize ist, dass sie so aufgebaut sein muss das wenn man die matrize mit x und z anspricht die y variable erhält.

Ich gehe mal davon aus, dass ihr ohne Quellcode nichts dazu sagen könnt, aber ich zeig euch wie das Terrain geladen wird:
Code:
D3DXMATRIX matWorld;

matWorld=m_GameData.Terrain.MyProperties.GetMatrix();

Wenn ihr noch mehr braucht schreib ich auch die gesamte terrain.cpp und terrain.h rein. jedoch braucht man da wieder die GEObjectPropertis.ccp und .h und weiters die GameMainRoutines.h

Aber ich hoffe ihr könnt mir auch so helfen.
Moderator informieren   Gespeichert
Seiten: [1]
AntwortenDrucken
CodeForum.chCode ForenDirectXThema: Terrain Heighmaps
Gehe zu:  

 

Partner Sites

Werbung

TinyPortal v1.0.5 beta 1© Bloc