Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 16:44

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Di Jan 31, 2006 13:03 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
Moinsen,

Ich habe folgendes Problem. Wenn ich eine Heightmap erzeuge und diese auf eine Kugel mappe, dann entsteht an der Stelle, an der beide Enden der Karte aufeinander treffen eine unschöne Kante. Ich habe bereits eine Lösung für das Problem, bin mir aber nicht sicher, ob das die cleverste Lösung ist. Hier meine Nachbearbeitung der Heightmap, mit der diese Kanten verschwinden (Siehe Bild):
Ich erstelle nur eine halbe Heightmap, kopiere sie und lege sie daneben (1). Dann wird die Kopie gespiegelt (2) und man erhält zumindest eine geschlossene Oberfläche.

Dennoch kann man erkennen, dass die Landschaft an dieser Stelle eine Unregelmäßigkeit hat und genau genommen kann man sogar erkennen, dass eine Spiegelung vorliegt.

Welche Alternativen habe ich?
- Bereits das Noise so parametrieren, dass am Kartenrand immer "Wasser" ist? Das schränkt die Vielfalt ein, da es immer mindestens einen Kontinent gibt. (Ist z.B. schlecht bei Monden, wo doch der handelsübliche Mond mehr Krater als Wasser hat)
- Die Ränder nochmal weichzeichnen und evtl. nochmal mit Noise drüber?
- Der mir unbekannte Algorithmus <insert name here>, welcher mit den Schlagworten "pattern" oder "seamless" und "heightmap" in Google nicht auffindbar scheint?
- (Hmm, gerade noch eingefallen). Ich könnte die Karte auch größer als benötigt machen, die Ränder ein Stück (10%) überlappen lassen, die Höhen addieren und dann auf Planetenniveau runternormalisieren. (Könnte klappen)


Grüße, Daniel


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 31, 2006 13:27 
Offline
DGL Member

Registriert: Sa Jan 22, 2005 21:10
Beiträge: 225
Du Könntest die Map ein bisschen größer machen, als du sie benötigst (vllt so 10-20%) und dann die rechts und unten überstehenden 10-20% in die linke und obere Kante reinmischen. Mit einem sanften Verlauf.

Zitat:
Der mir unbekannte Algorithmus <insert name here>, welcher mit den Schlagworten "pattern" oder "seamless" und "heightmap" in Google nicht auffindbar scheint?


Fraktales Mid-Point-Displacement kann man sehr einfach Kachelbar machen. Sieht nur (meiner Meinung nach) nicht so gut aus - es sei denn, du willst nen richtig zerklüfteten Planeten.
Perlin Noise kann man auch sehr einfach Kachelbar machen.

Wenn du jedoch auf Planeten aus bist, frage ich mich, warum du Heightmaps nutzt und keine Isospheres. Da gabs hier auch mal ne Demo zu. Musste mal das Forum durchsuchen.

EDIT: viewtopic.php?t=2340

_________________
[18:30] tomok: so wie ich das sehe : alles. was nich was anderes ist als nen Essay ist nen Essay

hi, i'm a signature viruz, plz set me as your signature and help me spread :)


Zuletzt geändert von AL am Di Jan 31, 2006 13:31, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 31, 2006 13:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Für mich wäre es mal interessant zu erfahren als was deine Heightmap vorliegt.

Wenn sie als Bild vorliegt, dann musst du natürlich bereits im Bild darauf achten, dass es kachelbar ist. In Gimp gibt es speziell dafür eine Option. Wenn es per Algorythmus generiert wird ist es nicht so leicht. Und kommt dann recht stark darauf an wie es gemacht wurde. Dürfte aber wohl darauf hinaus laufen, dass der Rand ein bisschen übergeblendet wird. Und zwar so weich, dass es nicht auffällt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 31, 2006 16:32 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
AL hat geschrieben:
Du Könntest die Map ein bisschen größer machen, als du sie benötigst (vllt so 10-20%) und dann die rechts und unten überstehenden 10-20% in die linke und obere Kante reinmischen. Mit einem sanften Verlauf.
Ja, das wäre die vierte von mir angesprochene Variante. Scheint mir gut machbar zu sein. Danke für die Festigung. :)

AL hat geschrieben:
Wenn du jedoch auf Planeten aus bist, frage ich mich, warum du Heightmaps nutzt und keine Isospheres. Da gabs hier auch mal ne Demo zu. Musste mal das Forum durchsuchen.EDIT: viewtopic.php?t=2340
Das lese ich mir mal durch. Vorteil von Heightmaps ist die einfache Erstellung eben dieser mit Perlin Noise. Man muss zu einem Planeten nur ein paar Parameter hinterlegen und alle Clients können exakt die gleiche Heightmap selbst erstellen. Wenn Isospheres genauso gut parametrierbar sind, dann wäre das auch eine Möglichkeit. Aber ich lese mich da erstmal rein.


Lossy eX hat geschrieben:
Für mich wäre es mal interessant zu erfahren als was deine Heightmap vorliegt.
Wird durch einen Noise-Algorithmus zur Laufzeit erstellt. Die Übertragung der recht großen Maps wollte ich vermeiden.

Grüße, DNA

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jan 31, 2006 16:36 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Siehe auch: viewtopic.php?t=3859 :mrgreen:

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]