Terrain Größe auf X,Y,Z Kordinaten der 3D Figur umrechnen.

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Tratos

Betreff: Terrain Größe auf X,Y,Z Kordinaten der 3D Figur umrechnen.

BeitragSa, Dez 31, 2005 21:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Ich tüftle jetzt schon eine Weile an einem kleinen Problem das mit einer Waypoint artigen Sache zu tun hat.

Also ich Programmiere gerade ein Rennspiel in B3D und habe jetzt die Rennstrecke seperat in einem Photoshop Programm als Hightmap erstellt. + die Texturen.

Diese lassen sich auch so wunderbar darstellen auf dem erstellten Terrain und ich kann mich mit meinem Vertex-Model auch gut darüber bewegen.

Aber jetzt möchte ich verhindern das das Auto über die Fahrbahnmarkierungen (Seitenstreifen) fahren kann um so dem Streckenverlauf nicht mehr zu folgen.

Da Die Straße ja als Textur über die Karte gezogen wird und ich diese aber verkleinere weiß ich jetzt nicht wie ich Pixelkordinaten der Map auf meine Positonsangabe des 3D Models umrechnen kann.


BlitzBasic: [AUSKLAPPEN]
terrain=LoadTerrain(\"hightmap.png\")
ScaleEntity terrain,.2,5,.2

tex=LoadTexture(\"strecke.png\")
ScaleTexture tex,TerrainSize(terrain),TerrainSize(terrain)
EntityTexture terrain,tex,0,1

TerrainShading terrain,1

terra_detail=7000
vertex_morph=True

TerrainDetail terrain,terra_detail,vertex_morph



Die hightmap.png hat die Größe 1024x1024 und die Strecke die Größe 2048x2048

Diese Verkleine ich ja und somit habe ich Relative Kordinaten der Karte
X=0-205 und Z=0-205 (was auch den 80% Verkleinerungsfaktor entspricht)


nun habe ich aber schon die Strecke und alles Heruntergerechnet auf diese Größe und im Ursprungsformat mal testweise mit DIM Blöcken herumexperementiert, aber eine 1 zu 1 umsetzung der Position Kordinaten meines 3D Models im 3D Raum zur Karte habe ich noch nicht ermöglichen können.

Hat dazu vielleicht jemand eine Idee wie das umzusetzen ist ?

Danke schonmal Tratos.. Smile

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Dez 31, 2005 23:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, eigentlich ist heute ja zum feiern gedacht... Da gehe ich gleich auch hin. Mir fallen für dein Problem zwei Möglichkeiten ein.

1) Vektorisiere die Fahrbahnkanten und mach darauf hin eine eigene Kollisionsabfrage. Kompliziert, kompliziert...

2) Erstelle eine weitere Bitmap die, die Fahrbahnstrecke wiedergibt. Beispiel: Weiß=Uneingeschränkter Fahrgenuß, Schwartz=Fahrzeug wird Geschwindigkeit abgezogen (Sumpfartiges Fahrferhalten), Graustufen=All die anderen Fahrverhalten-Zwischenstufen zwischen Weiß und Schwartz. Speicherfressend, wenn du da auch noch 1024^2 Texturen benutzt. Nimm dann 256^2 oder so... Die Abfrage kannst du dann mit Imagebuffer und writepixelfast abfragen. Da reichte es wenn du nur den Blauwert abfragst bzw. unterschiedliche Farben für Rollwiederstand, Rutschfaktor (zB Schotter)...

Die erste Möglichkeit ist nicht grad einfach und das Fahrzeig würde gegen die unsichtbare Wand gegenfahren wie in eine Mauer. Die zweite Möglichkeit wird dem Spieler nicht die Möglichkeit nehmen die Umgebung zu erkunden, aber bei max 20km/h wird ihm schnell der Spaß daran fehlen. Ausserdem kann man mit der zweiten Möglichkeiten ohne weiteren Programmieraufwand unterschiedliche Fahrbahn'eigenschaften' erstellen.

//EDIT... Ähhhh, sorry. Umrechnen kannst du soweit ich weiß mit dem Faktor den du bei ScaleEntity terrain x,y,z und der Bitmapauflösung des LoadTerrain Bildes...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group