PureBoard
http://forums.purebasic.com/german/

Landschaft in 3D
http://forums.purebasic.com/german/viewtopic.php?f=5&t=28111
Seite 1 von 1

Autor:  Gerold1961 [ 12.06.2014 17:37 ]
Betreff des Beitrags:  Landschaft in 3D

Ich habe für eine Fotorealistische Landschaft ein Höhenprofil erstellt.
Dann habe ich versucht über Create Terrain, DefineTerrainTile, usw. die 3D Landschaft umzusetzen.
DefineTerrainTile war einfach anzupassen, aber der Kachelaufbau bereitet mir Schwierigkeiten.

Mein Problem: Im Prinzip müsste ich ein Terrain mit nur einer Kachel (sehr groß) erschaffen.

Das ist nicht vorgesehen und widerspricht auch der Grundidee/-funktion von CreateTerrain, usw. .

Hat jemand eine Idee wie das umzusetzen ist ?

Autor:  Chimorin [ 12.06.2014 17:54 ]
Betreff des Beitrags:  Re: Landschaft in 3D

Dein Bild muss als Heightmap ja in 513x 513 gespeichert sein.
So, grob gesagt kannst du bei einem Terrain nur diese "Pixel" erhöhen oder absenken. Skalierst du nun dein Terrain größer, wird eben alles in die Länge gezogen, an der Definition von 512x512 veränderbaren Punkten ändert sich nichts.
Verschiedene Terraintiles werden dich nicht weiterbringen, da du ja beim Erstellen des Terrains an sich die Heightmap angibst.
Du brauchst verschiedene Heightmaps. Diese lädst du für jeweils ein Terrain und erstellst je Terrain ein Terraintile.
Die Terrain musst du gemäß deiner Skalierung eben so positionieren, dass sie nicht ineinanderliegen.

Autor:  Gerold1961 [ 13.06.2014 00:58 ]
Betreff des Beitrags:  Re: Landschaft in 3D

Ich kann die Skalierung erhöhen, weil ich mit dem Präzisionsverlust gut leben kann.
Ich schaffe es aber nicht auf die skalierte Fläche die Landkarte.jpg zu legen.
Es entstehen immer viele Kacheln, was mir natürlich nicht weiter hilft.
Das Landkarten.jpg ist 4096 x 4096 groß.

Ich würde das nur sehr ungerne in 513er Felder aufteilen.

Autor:  Chimorin [ 13.06.2014 08:55 ]
Betreff des Beitrags:  Re: Landschaft in 3D

Oh, sorry, meine erste Antwort war nicht ganz richtig.
Ich habe nichts mit Heightmaps am Hut und dachte, dass diese in CreateTerrain() rein müssen. Das stimmt so aber nicht, die kommen erst in CreateTerrainTile() ins Spiel.

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Ogre+Terrain+Component+FAQ
Hier stehen einige Fakten zum Terrain, falls du des Englischen mächtig bist.
Du kannst das schon so laden, wie du das vor hast. Ich meine mich zu erinnern, dass PB da aber Probleme hat und dir einfach nichts darstellt. Einen Versuch ist es wert, eventuell hat sich ja was geändert.
Code:
 CreateTerrain(#Terrain, Größe, WeltGröße, Skalierung, AnzLayer, Dateiname$, Endung$)

Bei Größe gibst du dann die Größe deiner Heightmap an (Aber -1 Pixel). Ich glaube, da OGRE mit 16x16 Chunks arbeitet, muss es eine auf 16 aufbauende Zahl sein. Heißt: Füg einfach noch einen Rand von 1 deiner Heightmap hinzu, dann kommst du auf 4096².
Die Weltgröße ist einfach je nach Skalierung (1WU = 1meter, 1 km, 1dm,1cm).
Den Skalierungswert verstehe ich gar nicht, eventuell hat der was mit der Heightmap zu tun -> Ausprobieren.

Autor:  Gerold1961 [ 16.06.2014 00:49 ]
Betreff des Beitrags:  Re: Landschaft in 3D

Danke für den Tipp.
Hab das Problem inzwischen gelöst.
Ich hab mich zu sehr an dem Beispiel-Prog aufgehalten.

Wenn man die selbst auferlegte Beschränkung erst einmal überwunden hat, ist alles viel einfacher.

Danke noch mal für den Link, war der richtige Anstoß.

Autor:  Chimorin [ 16.06.2014 17:57 ]
Betreff des Beitrags:  Re: Landschaft in 3D

Hast du es geschafft, eine größere Heighmap zu laden?

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/