Kollisionsproblem mesh - terrain - erledigt

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Ebola33

Betreff: Kollisionsproblem mesh - terrain - erledigt

BeitragDo, Jan 27, 2005 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo hallo,
Ich bin ja der absolute 3d anfänger. Und ich raste gleich aus.
Mein Problem :
ich habe eine Kamera :
Code: [AUSKLAPPEN]
EntityType camera,1
EntityRadius camera,4

und ich habe ein terrain :
Code: [AUSKLAPPEN]
EntityType terrain,2

Kollisionen wie folgt gesetzt :
Code: [AUSKLAPPEN]
Collisions 1,2,2,3

Jetzt sollte es doch normalerweise so sein daß die Kamera bei einer Collision ganz geschmeidig über's Terrain slidet, oder habe ich da etwas falsch verstanden ?
Bei mir jedenfalls fliegt sie locker in den Boden und immer tiefer Confused

Was mach' ich falsch ? Habe jetzt schon sämtliche Beispiele durch....da ist es genau so gemacht. Wo liegt mein Fehler ?

Danke im vorraus

Ebola
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
  • Zuletzt bearbeitet von Ebola33 am Do, Jan 27, 2005 19:57, insgesamt einmal bearbeitet

Rob_

BeitragDo, Jan 27, 2005 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zeig mal den ganzen code denn wenn dues so startest dann kanns ja nicht klappen weil du ja auf collision prüfen musst.
AMD Athlon 64 3500+ | Infineon 1 GB DDR RAM | nVidia Geforce 7800 GTX

Ebola33

BeitragDo, Jan 27, 2005 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, hier der code :
Code: [AUSKLAPPEN]
Graphics3D 1024,768,16,1
SetBuffer BackBuffer()

Global xbes#,zbes#,xspeed#,zspeed#
Global x#,z#


;Kamera erstellen und positionieren.
camera=CreateCamera()
CameraRange camera,.1,5000
EntityType camera,1
EntityRadius camera,4
MoveEntity camera, -100, 20, -100
TurnEntity camera,14,108,3
CameraClsColor camera,190,185,180
CameraFogColor camera,180,175,170
CameraFogRange camera,1,100
CameraFogMode camera,1


;Terrain
terrain=LoadTerrain("heightmap.png")
TerrainDetail terrain,2000,True
ScaleEntity terrain,-0.7,20,-0.7
grass_tex=LoadTexture("tex1.bmp")
EntityTexture terrain,grass_tex,0,1
TerrainShading Terrain,1
EntityType terrain,2

; Licht erstellen
light=CreateLight()
RotateEntity light,90,0,0


;Flugzeug laden
Mesh=LoadMesh ("max/f82.3ds",camera)
PositionEntity mesh,0,-2,5
ScaleMesh mesh,0.2,0.2,0.2
TurnEntity mesh,-10,0,0
;EntityType mesh,1


;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
While Not KeyHit(1)
   If KeyDown(205)=1 Then xbes#=xbes#-0.005
   If KeyDown(203)=1 Then xbes#=xbes#+0.005
   If KeyDown(74)=1 Then zbes#=zbes#-0.0005
   If KeyDown(78)=1 Then zbes#=zbes#+0.0005
   If KeyDown(200)=1 Then nase#=nase#+0.005
   If KeyDown(208)=1 Then nase#=nase#-0.005
   TurnEntity camera,nase#,0,xbes#
   MoveEntity camera,0,0,zbes#

Collisions 1,2,2,3

col =CountCollisions (camera)


x#=x#+xbes#
z#=z#+zbes#
If xbes#>0 Then xbes#=xbes#-0.001
If xbes#<0 Then xbes#=xbes#+0.001
If xbes#>-0.002 And xbes#<0.002 Then xbes#=0
If nase#>0 Then nase#=nase#-0.001
If nase#<0 Then nase#=nase#+0.001
If nase#>-0.002 And nase#<0.002 Then nase#=0
RenderWorld
Text 0,0,"Benutze Cursortasten...  +/-  Geschwindigkeit"
Text 0,10,"x# "+x#
Text 0,20,"z# "+z#
Text 0,30,"entity kamera X"+EntityX#( camera)
Text 0,40,"entity kamera Y"+EntityY# (camera)
Text 0,50,"entity kamera Z"+EntityZ# (camera)
Text 0,60,"entity kamera pitch"+EntityPitch  (camera)
Text 0,70,"entity kamera yaw"+EntityYaw (camera)
Text 0,80,"entity kamera roll"+EntityRoll (camera)
Text 0,90,"collision"+col
   Flip
Wend
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
;******************************************************************************************************************
End



edit : Sorry Leute für die Belästigung Embarassed
Problem behoben....
Man sollte nicht aus versehen updateworld löschen Wink
danke trotzdem


edit2: ich habe gerade herrausgefunden daß man diese kollision nur 1x vor der hauptschleife definieren muss....ist blitz3d nicht toll ? Very Happy Very Happy Very Happy
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group