Probleme mit der Kollisoinsabfrage
Übersicht

sven123Betreff: Probleme mit der Kollisoinsabfrage |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So nun habe ich endlich wieder Internet und auch wieder ein neues Problem.Ich möchte das mein Flugzeug bei der Kollision mit dem terrain nicht weiter durch das Terrain durchfliegt,dazu habe ich einen Pivot erstellt diesen dann als Parent zum Flugzeugt deklariert,dem Pivot eine Kugelförmige Kollisionsfläche mit entityradius gegeben,habe dann zwei Variabelen deklariert die eine per entitytype dem terrain zugerordnet und die zweite dem Flugzeug Pivot.Trotzdem funtzt die ganze Sache nicht und ich weis nicht warum.Dann habe ich noch ein 2.Problem ich habe camerafog erstellt doch auch wenn ich die Farbe per Camerafogcoloreinstelle,ist der Nebel schwartz.
Code: [AUSKLAPPEN] ScaleTexture text1,100,200 ;Pivot für Kollision positionieren PositionEntity pivot,-8000,-5000,2000 ;Spielfigur posizionieren PositionMesh flieger,-8000,-5000,2000 TerrainDetail terrain,8000,True ;Position der Hand PositionMesh Mesh,4000,800,8000 ;Position des Hauses PositionMesh Gebaude,6000,30,7000 ;Erstellen eines Würfels cubus=CreateCube() PositionEntity cubus,3000,800,6000 ;Die Textur des Hauses bearbeiten und verwenden RotateTexture haus,180 EntityTexture Gebaude,haus ;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Thirdperson sicht ;; ;; ;Kameravoreinstellungen cam=CreateCamera() PositionEntity cam,5100,2050,8075 CameraRange cam,1,8000 light=CreateLight() TurnEntity light,45,45,0 CameraFogRange cam,80000,800000 CameraFogColor cam,0,20,140 ;Einstellungen für die Sicht TurnEntity cam,10,106,0 EntityRadius pivot,30 EntityParent flieger,cam,pivot ;Kollisionsabfrage EntityType terrain,Feld EntityType pivot,player Collisions player,Feld,2,1 ;Steuerung des Spieler und der Cam ;;;;;;;;;;;;;;;;;;;;-------Hauptschleife While Not KeyHit(1) ;Mausabfrage RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 ;muss immer mesh parent sein!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If KeyDown(200)=1 Then MoveEntity cam,0,0,20 If KeyDown(203)=1 Then MoveEntity cam,-20,0,0 If KeyDown(205)=1 Then MoveEntity cam,20,0,0 If KeyDown(208)=1 Then MoveEntity cam,0,0,-20 RenderWorld Flip Wend ClearWorld End |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
- Zuletzt bearbeitet von sven123 am Mi, Okt 20, 2004 19:10, insgesamt einmal bearbeitet
![]() |
Suco-XBetreff: .... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Updateworld nicht vergessen ![]() Mfg Suco |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
2paul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok, das mit der collision sollte mit Suco-X tipp behoben sein...
der nebel ist vollkommen falsch eingestellt CameraRange cam,1,8000 CameraFogRange cam,80000,800000 das kann nicht klappen, die camera hat eine sichtweite von 8000 und dein nebel fängt erst bei 80000 an... das was du als schwarz siehst ist nicht der nebel sondern CameraClsColor, und da du die nicht definiert hast, nimmt er 0,0,0. lösung: CameraRange cam,1,8000 CameraFogRange cam,1000,8000 das wäre eine möglichkeit |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gut das mit dem Nebel versuche ich jetzt nochmal.Doch mit der Kollision habe ich trotzdem noch ein Problem um den Pivot richtig zu positionieren habe ich mir jetzt eine Kugel erstelt und diese bei etityparent flieger,cam,Kugel drangehengt die Kugel müsste sich ja ähnlich dem Pivot verhalten.Jetzt besteht das Problem die Kugel wird nicht mitbewegt was ja eigentlich im umkehrschluss heist,dass der Pivot auch nicht mitbewegt wird,dann kann nämlich die Kollisionsabfrage auch nicht korekt funktionieren. | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe gerade des mit dem Fog geteste allerdings kann ich trotzdem die Nebelfarbe nicht ändern | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
den nebel siehste nur auf anderen objekten, nicht "in der luft" | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gut dann wäre das gelöst aber die Kollision Klappt immer noch nicht,weil sich der Pivot nicht mit dem flieger bewegt warum.Siehe Code | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
an welchem Code?
der oben kann ja so net stimmen, da nur 2 entities + wahrheitswert gefragt sind |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
2paul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
EntityParent flieger,cam,pivot
das sollte das problem sein, ich glaub das hat Deamora gemeint |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gut dann liegt da der Fehler.Aber ich blicke nicht wie ich das jetzt besser machen kann also so das es funtzt wie schaffe ich das der pivot mitbewegt wird? | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
2paul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
EntityParent flieger,cam
so vielleicht |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja das habe ich ja auch gemacht aber für die Kollisionsabfrage brauche ich noch den Pivot der ja auch mit dem Flieger und der cam mitbewegt werden muss!Könnte sich nicht jemand mal den obigen Code durchgucken und mir genau sagen woran es hängt?Updateworld habe ich jetzt in meinen Aktuellen Code hinzugefügt die Collisionsabfrage funktioniert trotzdem nicht.Hier mal der Aktuelle Code mit allen ändereungen:Code: [AUSKLAPPEN] Graphics3D 800,600,32,1 SetBuffer BackBuffer() ;Laden der Texturen und Meshs terrain=LoadTerrain("f:\newheightmap.bmp") text1=LoadTexture("C:\Programme\Blitz 3D\Tools\Textures\Urban\Urb009.bmp") haus=LoadTexture("f:\glass30.bmp") Mesh=LoadMesh ("f:\3dModeller\Hand.3ds") Gebaude=LoadMesh ("f:\hhouse.x") flieger=LoadMesh ("f:\Flieger.3ds") ;Globals für die Kollision Global Feld=1 Global player=2 ;Objekt richtig drehen TurnEntity flieger,-90,0,90 ;Erstellen eines Pivot für die Kollision pivot=CreatePivot() EntityRadius pivot,0.2 PositionEntity pivot,3000,1000,6000 ;Das Terrain erstellen und Texturieren EntityTexture terrain,text1,0,0 ScaleEntity terrain,100,200,100 ScaleTexture text1,100,200 ;Spielfigur posizionieren PositionMesh flieger,-8000,-5000,2000 TerrainDetail terrain,8000,True ;Position der Hand PositionMesh Mesh,4000,800,8000 ;Position des Hauses PositionMesh Gebaude,6000,30,9000 ;Die Textur des Hauses bearbeiten und verwenden RotateTexture haus,180 EntityTexture Gebaude,haus ;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Thirdperson sicht ;; ;; ;Kameravoreinstellungen cam=CreateCamera() PositionEntity cam,5100,2050,8075 CameraRange cam,1,80000 light=CreateLight() TurnEntity light,45,45,0 ;Einstellungen für die Sicht TurnEntity cam,10,106,0 EntityParent pivot,cam EntityParent flieger,cam PositionEntity cam,3007,1025,5845 TurnEntity cam,0,-90,0 ;Kollisionsabfrage EntityType terrain,Feld EntityType pivot,player ;Steuerung des Spieler und der Cam ;;;;;;;;;;;;;;;;;;;;-------Hauptschleife While Not KeyHit(1) ;Mausabfrage RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 ;muss immer mesh parent sein!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If KeyDown(200)=1 Then MoveEntity cam,0,0,20 If KeyDown(203)=1 Then MoveEntity cam,-20,0,0 If KeyDown(205)=1 Then MoveEntity cam,20,0,0 If KeyDown(208)=1 Then MoveEntity cam,0,0,-20 Collisions player,Feld,2,1 RenderWorld UpdateWorld Flip Wend ClearWorld End Nicht das ihr jetzt dengt ich wäre zu faul um mir das selber beiszubringen aber in allen Tutorials und in den Blitz3D Beispielen steht das so drinn wie ich es gemacht habe und ich finde den Fehler beim besten willen nicht! |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
2paul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nur mal eben 2 fehler auf den ersten blick
erst UpdateWorld dann RenderWorld und die Collisionsabfrage aus der endlosschleife |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So nun ist updateworld vor renderworld und auch colisions ist aus der Schleife drausen.Aber die ganze Sache funktioniert immer noch nicht richtig.Code: [AUSKLAPPEN] pivot=CreatePivot()
EntityRadius pivot,0.2 PositionEntity pivot,3000,1000,6000 ;Das Terrain erstellen und Texturieren EntityTexture terrain,text1,0,0 ScaleEntity terrain,100,200,100 ScaleTexture text1,100,200 ;Spielfigur posizionieren PositionMesh flieger,-8000,-5000,2000 TerrainDetail terrain,8000,True ;Position der Hand PositionMesh Mesh,4000,800,8000 ;Position des Hauses PositionMesh Gebaude,6000,30,9000 ;Die Textur des Hauses bearbeiten und verwenden RotateTexture haus,180 EntityTexture Gebaude,haus ;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Thirdperson sicht ;; ;; ;Kameravoreinstellungen cam=CreateCamera() PositionEntity cam,5100,2050,8075 CameraRange cam,1,80000 light=CreateLight() TurnEntity light,45,45,0 ;Einstellungen für die Sicht TurnEntity cam,10,106,0 EntityParent pivot,cam EntityParent flieger,cam PositionEntity cam,3007,1025,5845 TurnEntity cam,0,-90,0 ;Kollisionsabfrage EntityType terrain,Feld EntityType pivot,player Collisions player,Feld,2,1 ;Steuerung des Spieler und der Cam ;;;;;;;;;;;;;;;;;;;;-------Hauptschleife While Not KeyHit(1) ;Mausabfrage RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 ;muss immer mesh parent sein!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! If KeyDown(200)=1 Then MoveEntity cam,0,0,20 If KeyDown(203)=1 Then MoveEntity cam,-20,0,0 If KeyDown(205)=1 Then MoveEntity cam,20,0,0 If KeyDown(208)=1 Then MoveEntity cam,0,0,-20 UpdateWorld RenderWorld Flip Wend ClearWorld End |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So ich habe es nun noch einmal mit der Collision versucht bei mir funktioniert sie aber nicht(ich möchte das wenn das Mesh(flieger) mit dem Terrain kollidiert,der flieger stehen bleibt und nicht durch das Terrain fliegt).Jetzt poste ich nur einmal den Kollisionscode allerdings muss man noch wissen das der flieger das parent der cam ist und die cam bewegt wird nicht der flieger den Rest lasse ich wegen der übersicht weg wenn inicht steht der Code obn in gänze.
Code: [AUSKLAPPEN] Graphics3D 800,600,0,1
;Erstellen eines Pivot für die Kollision pivot=CreatePivot(flieger) EntityRadius pivot,0.2 EntityRadius flieger,0.1 ;Kollisionsabfrage EntityType terrain,2 EntityType pivot,1 Collisions 1,2,2,1 |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group