Collision nach ScaleEntity

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Flori-D

Betreff: Collision nach ScaleEntity

BeitragMo, Jun 12, 2006 12:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,ich hab ein Problem und zwar lasse ich zwei Kugeln kollidieren.Das funktioniert soweit.Wenn ich aber eine Kugel Skaliere funktioniert die Kollision nicht mehr.Hab den Radius schon erhöht.Klappt alles nicht :/ .

Code: [AUSKLAPPEN]

Global player1 = CreateSphere()
EntityType player1,1
EntityRadius player1,1

planet1 = CreateSphere(32)
EntityType planet1,1
EntityRadius planet1,200
PositionEntity planet1,200,300,400
ScaleEntity planet1,50,50,50
EntityTexture planet1,planet1_tex

Collisions 1,1,3,2


Ich finde meinen Fehler einfach nicht Sad .
BB is Macht!

Homepage: www.flori-d.de

FreetimeCoder

BeitragMo, Jun 12, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuchs mal mit:

Code: [AUSKLAPPEN]
ScaleMesh  planet1,50,50,50

Flori-D

BeitragMo, Jun 12, 2006 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
scalemesh bringt auch nix Sad
BB is Macht!

Homepage: www.flori-d.de

5k41

BeitragMo, Jun 12, 2006 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
wieso weisst du dem spieler und dem planet den gleichen EntityType zu? siehe ql:EntityType

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Flori-D

BeitragMo, Jun 12, 2006 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Sie haben den gleichen EntityType weil es beides Kugeln sind und ich in meiner Projekt Planung sowieso Kugel-Kugel Kollisionen vorgesehen habe.Also sind beide ein Type und eine Kollision.Btw ich verzweifel noch an dem prob...

Hab gleich noch ein prob wo ich dran arbeite,wäre jedoch fü denkansätze dankbar.Hab nun Netzwerk/Inet funktion eingebaut.Jetzt möchte ich die X,Y,Z Position des Spielers1 an Spieler2 schicken damit dessen Raumschiff2 diese Position annimmt.Umgekehrt schickt natprlich Spieler2 X,Y,Z damit sich Raumschiff2 von Spieler1 bewegt.
Jedoch sind nun auf beiden Monitoren jeweils Raumschiff2 wild am umherflitzen obwohl ich nxi bewege ... Sad

Code: [AUSKLAPPEN]

 PositionX = Player1\x2
 PositionY = Player1\y2
 PositionZ = Player1\z2
 SendNetMsg 1,PositionX,SpielerNr,0
  If RecvNetMsg() = 1 Then
   PositionSp2X = NetMsgData()
  EndIf

 SendNetMsg 1,PositionY,SpielerNr,0
  If RecvNetMsg() = 1 Then
   PositionSp2Y = NetMsgData()
  EndIf

SendNetMsg 1,PositionZ,SpielerNr,0
 If RecvNetMsg() = 1 Then
  PositionSp2Z = NetMsgData()
 EndIf
PositionEntity player2\objekt,PositionSp2X,PositionSp2Y,PositionSp2Z
BB is Macht!

Homepage: www.flori-d.de

Flori-D

BeitragDi, Jun 13, 2006 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hatt den wirklich keine eine Idee womit diese Kugel Kollisions Porblem zusammenhöngt? Sad
BB is Macht!

Homepage: www.flori-d.de

5k41

BeitragDo, Jun 15, 2006 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
weise ihn doch mal verschiedene typen zu! ich wette es geht Wink

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

Dreamora

BeitragDo, Jun 15, 2006 17:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem könnte sein, das du erwartest, dass dort wo das Mesh ist dann auch eine Kollision stattfindet, was es nicht tut.

Deine Kollisionsradien sind 2x bzw 4x so gross wie die Kugeln sind womit sie bei "grafischer Kollision" schon lange in einander drin sind -> keine Kollision
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Flori-D

BeitragDo, Jun 15, 2006 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
also wenn ich das objetk skaliere muss theoretisch auch der Radius größer.Nur der radius muss ja die korrekte größe haben.Nur wie krieg ich jetzt den Radius raus?Mit ner nromalen Radius formel doch eigtl nicht oder?
BB is Macht!

Homepage: www.flori-d.de
 

Dreamora

BeitragDo, Jun 15, 2006 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Radius = Scale/2 (da du alle 3 gleich skalieren musst, kommt es nicht draufan welchen Scale Wert man nimmt)
Da Scale die Bounding Box skaliert und diese hat am Anfang die Grösse 2*Radius = 2*0.5 = 1
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Flori-D

BeitragSa, Jun 17, 2006 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
gut danke Very Happy
BB is Macht!

Homepage: www.flori-d.de

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group