Heightmap wird nicht richtig angezeigt

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

ke^kx

Betreff: Heightmap wird nicht richtig angezeigt

BeitragSa, März 26, 2005 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mit folgendem Code eine Hightmap geladen. Wenn ich das Proggramm starte wird aber nur ein flaches Terrain angezeigt, was mache ich falsch?

BlitzBasic: [AUSKLAPPEN]

Graphics3D 1024, 768, 32, 2
SetBuffer BackBuffer()

Global py
Global px
Global pz
Global speed = 1

Global player = CreateCube()
ScaleEntity player, 5, 5, 5
PositionEntity player, 30, 10, 30

Global linkskurve
Global rechtskurve

;_____________________________________________________________________________________________________

Global cam = CreateCamera(player)
PositionEntity cam, 0, 5, -10
TurnEntity cam, 30, 0, 0


Global light = CreateLight ()
RotateEntity light, 9, 0, 0

;______________________________________________________________________________________________________

Global terrain = LoadTerrain(\"strecke1.bmp\")
ScaleEntity terrain, 1024, 4096, 1024
;______________________________________________________________________________________________________

Repeat

Bewegungsabfrage()
Kollisionsabfrage()

UpdateWorld()
RenderWorld()
Flip


Until KeyHit(1)

;______________________________________________________________________________________________________
;Functions
;______________________________________________________________________________________________________;

;Bewegung

Function Bewegungsabfrage()

If KeyDown(200) Then
TurnEntity player, 3, 0, 0
EndIf

If KeyDown(208) Then
TurnEntity player, -3, 0, 0
EndIf

If KeyDown(203) Then
TurnEntity player, 0, 2, 0
linkskurve = 1
EndIf

If KeyDown(205) Then
TurnEntity player, 0, -2, 0
rechtskurve = 1
EndIf

If KeyDown(17) Then
speed = speed +1
EndIf

If KeyDown(31) Then
speed = speed -1
EndIf

If speed < 1 Then
speed = 1
ElseIf speed > 20 Then
speed = 20
EndIf


If KeyDown(203) = 0 Then
linkskurve = 0
EndIf

If KeyDown(205) = 0 Then
rechtskurve = 0
EndIf


If linkskurve = 1 Then
TurnEntity player, 0, 0, 2
EndIf

If rechtskurve = 1 Then
TurnEntity player, 0, 0, -2
EndIf

drehen = 0 -EntityRoll (player)

If rechtskurve = 0 And linkskurve = 0 Then

If drehen < 0 Then
TurnEntity player, 0, 1, -1.5
ElseIf drehen > 0 Then
TurnEntity player, 0, -1, 1.5
EndIf



EndIf


MoveEntity player, 0, 0, speed



End Function

;Kollision

Function Kollisionsabfrage()

If EntityY (player) < TerrainY (terrain, EntityX(player), EntityY(player), EntityZ(player)) Then
PositionEntity player, EntityX(player), TerrainY (terrain, EntityX(player), EntityY(player), EntityZ(player)), EntityZ (player)
EndIf


End Function


Die Heightmap gibt es hier: http://www.blitz-pasting.de.vu...recke1.rar

Wäre nett, wenn ihr euch das mal anschaut,
Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM
 

fliege

BeitragSa, März 26, 2005 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist in wirklichkeit nicht gerade...Das Terrain ist nur nach dem laden zu klein Skaliert...Verwende mal Scaleentity mit dem y - Faktor 20...vielleicht hilft das...
Hoffe auch, das es hilft
Fliege
Wer weiß was kommt.. ?
 

ke^kx

BeitragSa, März 26, 2005 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Dankeschön, durch rumspielen mit den Scaleentityparametern habe ich es tatsächlich geschafft.

Allerdings tritt noch ein nerviges Ruckeln auf, wenn ich auf bestimmte Weise auf das Terrain zufliege, kannst du mir sagen, woran das liegt?

Ich bin in 3D halt noch nicth besonders fitt Very Happy,
Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Mr.Keks

BeitragSa, März 26, 2005 23:40
Antworten mit Zitat
Benutzer-Profile anzeigen
mit ruckeln meinst du das rumgerutsche der texturen und polys durch das lod? versuch mal den dritten parameter von terraindetail. falls du mit ruckeln fpsbedingtes ruckeln meinst, liegt das nicht am terrain - es sei denn, du hast es beim zweiten parameter von terraindetail übertrieben Wink

da du ein licht erstellt hast, wird deine nächste frage bestimmt sein, warum man das auf dem terrain nicht sieht. -> terrainshading Wink
MrKeks.net

Seoman

BeitragSo, März 27, 2005 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Nur mal so aus Interesse:
Ist es immer nötig eine Heightmap nachträglich zu skalieren? Programme wie Milkshape geben doch eigentlich schon das richtige Ergebnis, nur Blitz scheint irgendwie falsche Skalierungen vorzunehmen (auch wenn man gar nichts diesbezüglich angibt...).

Edit: Habe mich geirrt, was ich fälschlicherweise für Kameraruckeln hielt kam tatsächlich durch Verschiebung der Textur zu Stande...

mfg
Seoman
In Australien...

Projekte sind zur Zeit wieder eingefroren und auf Designlevel zurueckgestuft... Generalueberholungen notwendig Wink

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group