Normale Aircraft Steuerung?
Übersicht

blackmasterBetreff: Normale Aircraft Steuerung? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
Ich hab ein Jet gemoddelt und in BlitzBasic mit LoadMesh geladen. So, und wie kann ich es so einstellen das der Jet fliegt und die Camera mitfolgt? Also es soll auch nach rechts und nach links fliegen, so wie bei Microsoft Flight Simulator, das die camera auch ein bissel Rotiert wird wenn man nach links oder nach rechts fliegt. Wisst ihr wie ich das am besten in B3D Realisieren kann? Danke euch schonmal. MFG Markus |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du nimmst eine Pivot. createpivot(). und wenn du den in jeder schleife an die jetpos setzt, dann kannsst du andere Objekte danach ausrichten. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke dir,
aber ich bin noch net soweit, bin erst von BlitzBasic zu Blitz3D Umgestiegen. Könntest du mir vieleicht ein beispiel Posten? Wäre dir sehr dankbar dafür ![]() MFG Markus |
||
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Soll die Steuerung über Jojstick Tastertur oder Maus Sein????? | ||
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
über Tastatur ![]() |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, schau dir das hier an: http://blitzbase.de/befehle3d/createpivot.htm Da ird erklärt, was ein Pivot ist, und wie er arbeitet. Damit solltest du es hinbekommen.
MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Cool, Ich Danke dir ![]() Ich kann bestimmt was damit anfangen, is wirklich nicht schlecht. Aber mir ist bei B3D etwas aufgefallen, und zwar wenn ich am anfang alles lade wie in BB2D und 2 Functionen habe, z.B. Hauptmenu() und Hauptspiel() Dann wird bei Function Hauptmenu schon alle sachen angezeigt was net sein darf. Wie mache ich das in B3D das die andere sachen erst bei Function Hauptspiel() angezeigt wird? Also am anfang der Funktion also über die Schleife wenn ich die sachen dort lade, dann kann es ja zu Datenverlust führen weil wenn die Function dann mehrmals ausgeführt wird, wird ja das gleiche nochmal ins Speicher gespeichert. Könnt ihr mir vieleicht zeigen wie man das in B3D macht? MFG Markus |
||
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst die Sachen entweder später laden, oder sie mit dem befhel Hideentity verstecken.http://blitzbase.de/befehle3d/hideentity.htm
Bei BLitzbasic (2D) kann man Grafiken laden, und sie erst später anzeigen. bei B3D sind alle geladen Sachen sofort im 3D Raum. Dann kannst du sie eben so verstecken. Dann sind auch automatisch alle definierten Kollisionen etc. deaktiviert(Für das eine objekt.) MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
OK, danke dir,
ich werds mal ausprobieren ![]() MFG Markus |
||
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
du kannst mit EntityAlpha auch Objekte verstecken, ohne kollisionen und sowas zu ersparen.
Praktisch bei Kollisionserkennung für Räder am Auto/Panzer oder sowas. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo nochmal,
ich habe es jetzt folgendermaßen probiert: Code: [AUSKLAPPEN] Graphics3D 1024,768,16,2
SetBuffer BackBuffer() ;Terrain laden Global terrain = LoadTerrain("Insel1HMap.jpg") ;Textur laden Global textur = LoadTexture("Insel.jpg") ScaleEntity terrain,1,50,1 TerrainDetail terrain,4000,True ;Terrain die Textur zuweisen EntityTexture terrain,textur,0,1 ;Den Jet laden Global jet = LoadMesh("jet/jet.3ds") ;Eine Camera erstellen Global camera = CreateCamera() ;Camera Positionieren PositionEntity camera,0,0,-20 CameraClsColor camera,190,185,180 CameraFogColor camera,180,175,170 ;Nebeleffekt einstellen CameraFogRange camera,1,10 Global pitch_jet#,yaw_jet#,roll_jet# Global camera_x#,camera_y#,camera_z#=1.0 Repeat ;Jet nach links Drehen If KeyDown(203) Then roll_jet=roll_jet+.09 RotateEntity jet,pitch_jet,yaw_jet,roll_jet EndIf ;Jet nach rechts Drehen If KeyDown(205) Then roll_jet=roll_jet-.09 RotateEntity jet,pitch_jet,yaw_jet,roll_jet EndIf ;Jet nach vorne Neigen If KeyDown(200) Then pitch_jet=pitch_jet+.09 RotateEntity jet,pitch_jet,yaw_jet,roll_jet EndIf ;Jet nach hinten Neigen If KeyDown(208) Then pitch_jet=pitch_jet-.09 RotateEntity jet,pitch_jet,yaw_jet,roll_jet EndIf MoveEntity jet,camera_x,camera_y,camera_z MoveEntity camera,camera_x,camera_y,camera_z RenderWorld UpdateWorld Flip Until KeyHit(1) End die steuerung funktioniert soweit, aber die Kamera bleibt net immer hinter den Jet, wisst ihr ob es so richtig ist und wie ich das hinbekomme das der jet nach links fliegt, weil der dreht sich nur nach links, aber fliegt net nach link oder rechts. Vielen Dank schonmal. Gruss Markus |
||
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Schade das niemand weiss wie ich das machen kann.
Egal ich werds irgendwie schon hinbekommen. |
||
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich bas mal so gemacht:
Code: [AUSKLAPPEN] Graphics3D 1024,768,32,2
SetBuffer BackBuffer() Global terrain = LoadTerrain("heightmap.bmp") Global text1 = LoadTexture("grass.jpg") EntityTexture terrain,text1,0,0 ScaleEntity terrain,50,290,50 ScaleTexture text1,50,50 Global jet = LoadMesh("jet/jet.3ds") PositionEntity jet,1000,800,1020 Global cam = CreateCamera() MoveEntity cam,1000,800,1000 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,4000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 Global light = CreateLight() TurnEntity light,45,45,0 Global cam_x#,cam_y#,cam_z# Repeat If KeyDown(203) Then cam_z=cam_z+.20 EndIf If KeyDown(205) Then cam_z=cam_z-.20 EndIf If KeyDown(200) Then cam_x=cam_x+.20 EndIf If KeyDown(208) Then cam_x=cam_x-.20 EndIf RotateEntity cam,cam_x,cam_y,cam_z RotateEntity jet,cam_x,cam_y,cam_z MoveEntity cam,0,0,9 MoveEntity jet,0,0,9 RenderWorld Flip Until KeyHit(1) End es geht bis jetzt alles, aber wenn der Jet und die Camera nach links oder rechts rotiert wird, dann fliegt der nicht nach rechts oder links. Wisst ihr vieleicht wie ich das hinbekommen kann? MFG Markus |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 1024,768,32,2
SetBuffer BackBuffer() Global terrain = LoadTerrain("heightmap.bmp") Global text1 = LoadTexture("grass.jpg") EntityTexture terrain,text1,0,0 ScaleEntity terrain,50,290,50 ScaleTexture text1,50,50 Global jet =LoadMesh("jet/jet.3ds") PositionEntity jet,1000,800,1020 Jet_Pivot=CreatePivot(jet) ;Pivot für die Kamera erstellen PositionEntity Jet_Pivot,0,5,-5 Global cam = CreateCamera() MoveEntity cam,1000,800,1000 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,4000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 Global light = CreateLight() TurnEntity light,45,45,0 Global cam_x#,cam_y#,cam_z# Repeat ;jet drehen If KeyDown(203) Then TurnEntity jet,0,0,1 EndIf If KeyDown(205) Then TurnEntity jet,0,0,-1 EndIf If KeyDown(200) Then TurnEntity jet,1,0,0 EndIf If KeyDown(208) Then TurnEntity jet,-1,0,0 EndIf ;Kamera hinter dem Pivot herfliegen lassen x#=EntityX(Jet_Pivot,1)-EntityX(Cam,1) y#=EntityY(Jet_Pivot,1)-EntityY(Cam,1) z#=EntityZ(Jet_Pivot,1)-EntityZ(Cam,1) TranslateEntity Cam,X*0.4,Y*0.4,Z*0.4;Stell andere werte ein um die Stärke zu beeinflussen ;Kamera auf Jet ausrichten, mit Berücksichtigung des Z-Winkels des Jets PointEntity Cam,Jet,EntityRoll(Jet) MoveEntity jet,0,0,9 RenderWorld Flip Until KeyHit(1) End Nun der Code arbeitet anders, aber ich denke er ist zu gebrauchen. Bei deinem Code drehst du den Jet und die Kamera mit dem Gleichen Winkel, deswegen sieht man mit der Kamera den Jet bei einem bestimmten Winkel nicht mehr. |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Cool, ich danke dir ![]() Genau das meine ich. Hab noch eine Frage, und zwar wenn ich jetzt schüsse mit einbauen möchte die ich in 3D Studio Max erstellt habe, kann ich doch auch mit Types erzeugen wie in B2D, oder? Oder mach man die schüsse in 3D Welt anders? Gruss Markus |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, das funktioniert genauso, du musst nur die 3D koordinaten berücksichtigen, also statt x und y jetz auch z. | ||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
blackmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke dir ![]() habs mal so gemacht mit den Schüssen: Code: [AUSKLAPPEN] Graphics3D 1024,768,32,2
SetBuffer BackBuffer() Global terrain = LoadTerrain("heightmap.bmp") Global text1 = LoadTexture("grass.jpg") EntityTexture terrain,text1,0,0 ScaleEntity terrain,500,900,500 ScaleTexture text1,50,50 Global jet =LoadMesh("jet/jet.3ds") PositionEntity jet,1000,800,1020 Jet_Pivot=CreatePivot(jet) ;Pivot für die Kamera erstellen PositionEntity Jet_Pivot,0,5,10 Global schuss = CreateCube() Global cam = CreateCamera() MoveEntity cam,1000,800,1000 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,4000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 Global light = CreateLight() TurnEntity light,45,45,0 Global cam_x#,cam_y#,cam_z# Type schuss Field schuss_x# Field schuss_y# Field schuss_z# End Type Repeat ;jet drehen If KeyDown(203) Then TurnEntity jet,0,0,1 EndIf If KeyDown(205) Then TurnEntity jet,0,0,-1 EndIf If KeyDown(200) Then TurnEntity jet,.50,0,0 EndIf If KeyDown(208) Then TurnEntity jet,-.50,0,0 EndIf ;Neuer Schuss erstellen If KeyDown(57) Then s.schuss = New schuss s\schuss_x = X# s\schuss_y = Y# s\schuss_z = Z# EndIf ;Alle Schüsse abfragen For s.schuss = Each schuss MoveEntity schuss,s\schuss_x,s\schuss_y,s\schuss_z s\schuss_z = s\schuss_z + 40 Next ;Kamera hinter dem Pivot herfliegen lassen x#=EntityX(Jet_Pivot,1)-EntityX(Cam,1) y#=EntityY(Jet_Pivot,1)-EntityY(Cam,1) z#=EntityZ(Jet_Pivot,1)-EntityZ(Cam,1) TranslateEntity Cam,X*0.4,Y*0.4,Z*0.4;Stell andere werte ein um die Stärke zu beeinflussen ;Kamera auf Jet ausrichten, mit Berücksichtigung des Z-Winkels des Jets PointEntity Cam,Jet,EntityRoll(Jet) MoveEntity jet,0,0,15 RenderWorld Flip Until KeyHit(1) End aber man sieht die rakete irgendwie net, is da vieleicht ein fehler im code? MFG Markus |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 1024,768,32,2
SetBuffer BackBuffer() Global terrain = LoadTerrain("heightmap.bmp") Global text1 = LoadTexture("grass.jpg") EntityTexture terrain,text1,0,0 ScaleEntity terrain,500,900,500 ScaleTexture text1,50,50 Global jet =LoadMesh("jet/jet.3ds") PositionEntity jet,1000,800,1020 Jet_Pivot=CreatePivot(jet) ;Pivot für die Kamera erstellen PositionEntity Jet_Pivot,0,5,10 Raketenwerfer=CreatePivot(jet);Pivot für die Schüsse erstellen PositionEntity Raketenwerfer,0,0,-2 Global Rakete = CreateCube() ;Eine "Vorlage" erstellen HideEntity Rakete ;Unsichtbar machen Global cam = CreateCamera() MoveEntity cam,1000,800,1000 CameraFogMode cam,1 CameraRange cam,1,30000 CameraFogRange cam,100,4000 CameraFogColor cam,40,140,255 CameraClsColor cam,40,140,255 Global light = CreateLight() TurnEntity light,45,45,0 Global cam_x#,cam_y#,cam_z# Type schuss Field sch,uss End Type Repeat ;jet drehen If KeyDown(203) Then TurnEntity jet,0,0,1 EndIf If KeyDown(205) Then TurnEntity jet,0,0,-1 EndIf If KeyDown(200) Then TurnEntity jet,.50,0,0 EndIf If KeyDown(208) Then TurnEntity jet,-.50,0,0 EndIf ;Neuen Schuss erstellen If KeyHit(57) Then ;Down würde sich nur empfehlen, wenn du ein MG machen willst sch.schuss = New schuss sch\uss=CopyEntity(Rakete,Raketenwerfer);Neues Objekt erstellen, indem man die Vorlage kopiert, und in den Raketenwerfer positioniert EntityParent(sch\uss,0) ;Schuss "unabhängig machen EndIf ;Alle Schüsse abfragen For s.schuss = Each schuss MoveEntity sch\uss,0,0,1 ;Verwechsel "MoveEntity" nicht mit "PositionEntity" ;Bei MoveEntity wird (in diesem Fall) die Z-Achse ermittelt und ;das Objekt daran um "1" weiterbewegt. Next ;Kamera hinter dem Pivot herfliegen lassen x#=EntityX(Jet_Pivot,1)-EntityX(Cam,1) y#=EntityY(Jet_Pivot,1)-EntityY(Cam,1) z#=EntityZ(Jet_Pivot,1)-EntityZ(Cam,1) TranslateEntity Cam,X*0.4,Y*0.4,Z*0.4;Stell andere werte ein um die Stärke zu beeinflussen ;Kamera auf Jet ausrichten, mit Berücksichtigung des Z-Winkels des Jets PointEntity Cam,Jet,EntityRoll(Jet) MoveEntity jet,0,0,15 RenderWorld Flip Until KeyHit(1) End Setz dich noch ein bisschen hin, und schau dir 3D tutorials an. |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group