Wie groß darf ein Terrain sein und womit erstellt ihr dies?

Probleme beim Erstellen von 3D-Modellen und Texturen, keine Ahnung womit man Musik macht? Dies ist dein Forum.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Wie groß darf ein Terrain sein und womit erstellt ihr dies?

Beitrag von Scarabol »

Hallo Leute,

ich habe ein bisschen mit den Terrains in PB rumgespielt und war ein wenig überrascht. Wenn man die Terrain.png Datei auf 4097 Pixel vergrößert ruckelt und stottert der PC (ist ja auch ganz schön groß), aber wenn ich das Terrain aus den Examples mit Scale auf das !10.000! fache vergrößere läuft alles flüssig.
Wie kann das sein?

2. Wie erstellt ihr Terrains?
Ich finde einfach keinen Weg bequem und schnell eine Terrain Datei zu erstellen.

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

1. Das ist eigentlich ziemlich offensichtlich.
Wenn du das Terrain mit Scale vergrößerst ändert sich natürlich nichts an der Polygonanzahl, die koordinaten der Vertiecen werden nur an andere Positionen verschoben (mit 10 000 multipliziert).
Wenn du ein Terrain erzeugst aus einer Heightmap mit 4097*4097 Punkten ist das resultat ein Terrain mit 4096*4096*2 = 33 554 432 Polygonen.
Das entspricht etwa 33 durchschnittlichen UT 2004 Levels, auch wenn man das nicht so wirklich vergleichen kann.

2. GIMP, PhotoShop oder ähnliches ist ein einfacher 2d weg.
Anschaulicher geht es auch mit Bryce gehen oder einem Heightmap editor. Da gibt es eine ganze menge kostenloser.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

das gab auch irgendein problem glaubich, die PNGs für Terrains zu erstellen, aber frag mich jetzt nicht, welches.....

@Zaphod
grüß dich, lang nimmer gelesen... :D
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

ja, habe lange nichts mit pure gemacht... hab da nur mein altes iso-projekt wiederentdeckt. Generell mache ich jetzt aber mehr mit Java, werde also wahrscheinlich eher rar bleiben ;)

Das Problem mit PNGs war glaube ich, dass man sie unbedingt in Greyscale speichern muß, 8 bit modus alleine reichte glaube ich nicht. Das können aber blöderweise nicht alle Grafikprogramme.

Ich hatte da auch einen wirklich tollen heightmap editor gefunden, das war ein Japanisches programm. Mir fällt nur der name nichtmehr ein.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Hallo,

Kennt einer das genaue Dateiformat von den PNGs die man benötigt?

Dann könnte man nen Konverte schreiben.

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Die erste anlaufstelle für Fomate die man nicht kennt ist immer www.wotsit.org

Wenn du da nach PNG schaust und dann in den header des beispielterrains weißt du es auf jeden fall genau.

Ich würde mir aber nicht so viel mühe machen. Ich bin mir sicher, dass man das richtige Format mit GIMP erzeugen kann und es wird auf jedenfall nur ein bruchteil der Arbeit sein damit ein bischen rumzuexperimentieren als selbst einen konverter zu schreiben.
Zuletzt geändert von Zaphod am 03.03.2007 23:01, insgesamt 1-mal geändert.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Du solltest den Punkt hinter org wegmachen sonst landet man auf einer ganz anderen Seite mit Comics.

[Edit]
Um den Header der Beispieldatei zu lesen muss ich die zuerst öffnen mit OpenFile. Aber mit welchem Read Befehl lese ich dann die Werte vernünftig aus?
[/Edit]

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

Mit ReadByte(#File) ließt du einzelne bytes aus.
Bequemerweise kannst du aber sogar werte schon im richtigen Format auslesen, also zb ReadLong(#File) wenn du an der stelle einen Longwert auslesen willst.

Interessiert dich also zb das zehnte Byte kannst du entweder die ersten 9 mit den anderen Read befehlen auslesen oder du springst mit FileSeek(#File, NewPosition) gleich an die entsprechende Position und benutzt ReadByte.
Antworten