Ego-Shooter Kollisionsfrage

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

N0X

Betreff: Ego-Shooter Kollisionsfrage

BeitragSa, März 07, 2009 13:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, Leute!
Ich habe folgende Probleme:

Ich habe eine Kamera und eine Waffe und habe beide an einen Pivot gehängt.
Dieser soll sich nun nach den Mauskoordinaten ausrichten.
Die Waffe aber tut das nicht richtig.

Hier der Code: [AUSKLAPPEN]
Global pivot=CreatePivot()

Global weapon = LoadMesh("model\awm.3ds",pivot)
PositionEntity weapon,.8,-5,1

Global cam   = CreateCamera(pivot)

While Not KeyHit(1)
   
   RotateEntity pivot,EntityPitch(pivot)+MouseYSpeed(),EntityYaw(pivot)-MouseXSpeed(),0
   
   UpdateWorld()
   RenderWorld()
   Flip
Wend
End


Hoffe auf Hilfe!

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%
  • Zuletzt bearbeitet von N0X am So, März 08, 2009 18:58, insgesamt 3-mal bearbeitet

the FR3AK

BeitragSa, März 07, 2009 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Waffe als Child der Kamera machen. Die Kamera wird dann bei den Hoch-Runter Bewegungen gedreht und der Pivot bei den Links-Rechts bewegungen. Das sollte gehen Wink

N0X

BeitragSa, März 07, 2009 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke, hab ich gemacht.
Allerdings funktioniert das nicht so ganz.
Kannst du mir sagen was ich in meinem Code falsch gemacht habe?

Code: [AUSKLAPPEN]
Global pivot=CreatePivot()

Global weapon = LoadMesh("model\awm.3ds",pivot)
PositionEntity weapon,.8,-5,1

Global cam   = CreateCamera(weapon)
PositionEntity cam,0,10,0

While Not KeyHit(1)
   
   RotateEntity pivot,EntityPitch(pivot)+MouseYSpeed(),EntityYaw(pivot),MouseXSpeed(),0
   
   UpdateWorld()
   RenderWorld()
   Flip
Wend
End


Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

ToeB

BeitragSa, März 07, 2009 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht die Camera an die waffe sondern die waffe an die camera Wink


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

N0X

BeitragSa, März 07, 2009 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
So in etwa?
Code: [AUSKLAPPEN]
Global pivot=CreatePivot()

Global weapon = LoadMesh("model\awm.3ds",cam)
PositionEntity weapon,.8,-5,1

Global cam   = CreateCamera(pivot)
PositionEntity cam,0,10,0

While Not KeyHit(1)
   
   RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
   
   UpdateWorld()
   RenderWorld()
   Flip
Wend
End
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Megamag

BeitragSa, März 07, 2009 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Waffe NACH der Kamera erstellen,
da sonst die Kamera nicht existiert, und die Waffe auch
kein Parent von einem nicht-existenten Objekt sein kann.

N0X

BeitragSa, März 07, 2009 15:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab' ich in meinem Code auch gemacht (nur falsch gepostet)!
Die Waffe ist aber so nicht sichtbar!
Weiß jemand warum?
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%
 

feider

ehemals "Decelion"

BeitragSa, März 07, 2009 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuch mal, etwas mit der Positionierung der Waffe herumzuspielen. Eventuell ist sie einfach ausserhalb des Sichtbereiches der Kamera.

N0X

BeitragSa, März 07, 2009 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke an Alle!
Hat alles funktioniert!

Mfg,
N0X

\\EDIT

Wie kann ich einen per Sprite erstellten Schuss richtig bewegen?

Code: [AUSKLAPPEN]
Function Schuss()
   s.schuss = New schuss
   s\img = CopyEntity(sprite)
   MoveEntity s\img,0,0,a
   a=a+1
End Function
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

ToeB

BeitragSa, März 07, 2009 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Function CreateShuss(obj)
s.s = New s
s\mesh = CopyEntity(Schusssprite,Obj)  ;So werden alle Rotationen und Positionen übernommen
EntityParent(s\mesh,0) ;Wieder an kein Object hängen
End Function
Function UpdateSchuss()
For s.s = Each s
MoveEntity s\mesh,0,0,s\speed#
Next
End Function


Rolling Eyes

Also jetzt kannst du dir mal ein Type-tut durchlesen...


mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

N0X

BeitragSo, März 08, 2009 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir den Beispielcode "Samples\Blitz3D Samples\zenith\scare" mal angeschaut und mich gefragt wie man dort die einzelnen Sprites auf Kollision mit einem Objekt (z.B. Gegner) prüfen kann.
Hab' lange rumprobiert, ist aber nichts Gutes bei rausgekommen.
Habt ihr vielleicht eine Idee?

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Nicdel

BeitragSo, März 08, 2009 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Einfach Kugeln statt Sprites verwenden ?!
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

coolo

BeitragSo, März 08, 2009 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, keine Kugeln verwenden, Sprites sind gut, er muss einfach den Kollisionsradius setzen. mit der Funktion EntityRadius und entitytype.
Dann schau die Collisions an.

So mit ein bisschen eigeninitiative hättest du das selbst herrausfinden können Wink.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat

N0X

BeitragSo, März 08, 2009 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke Coolo!
Ich werde mir den Code noch mal näher anschauen um ihn richtig zu verstehen.

Mfg,
N0X
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5%

Nicdel

BeitragMo, März 09, 2009 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay das mit den kugeln war nur ne Zwischenlösung.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group