Wieder mal Kollision

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Galahad

Betreff: Wieder mal Kollision

BeitragMo, Jan 03, 2005 3:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Huhu!

Mein erster Post hier, hab n echt nerviges Problem mit Kollision,
hoffe ihr könnt mir helfen, denn die Suchfunktion hat es nicht Sad

Zum Thema:

Hab ein Mesh (den Warrior aus dem Media-Sample liegt im .3ds format vor)
und eine Ebene als Boden, Kollision funktioniert wunderbar..

Jetzt will ich auf die Ebene eine Box stellen und der Mesh soll mit der Box kollidieren statt hindurch zu fahren....
Warum klappt das nicht?

Ich hab mir bereits einiges über Collision durchgelesen und über die 3 Methoden erfahren, versteh aber nicht so ganz warum es keine Mesh->Box kollision gibt bzw. man könnte ja dem Mesh (bzw. Pivot) ne Box geben und Box-Box kollidieren lassen?!

Vielleicht kann mir jemand helfen, bin am verzwifeln ..

greets gala
 

Dreamora

BeitragMo, Jan 03, 2005 3:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Mesh box gibt es schon

Aber mesh = statisches Mesh also normalerweise level

für spieler nutzt man elliptic normalerweise, auch wegen der geschwindigkeit

wenn du polygongenaues gibt, gibts noch einen direkten mesh - mesh test, der allerdings entsprechend langsam ist ( man kann es allerdings so machen, dass der mesh mesh nur aufgerufen wird wenn elliptic - box oder elliptic - mesh schon eingetreten ist )
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Galahad

BeitragMo, Jan 03, 2005 3:21
Antworten mit Zitat
Benutzer-Profile anzeigen
das klingt schonmal viel versprechend allerdings finde ich nicht wirklich was über dein angesprochenes "elliptic" .. vielleicht kannst du das näher erläutern
oder ein kleines beispiel oder so liefern?
würde mir sehr helfen..

die idee wär eg ganz gut.... um rechenzeit zu sparen eine if anweisung ob das mesh in einem elliptischen radius(?) ist, und wenn true dann nochmal prüfen ob eine kollision zwischen mesh-mesh vorliegt

UPDATE:
hab mal rumgespielt... das meshintersect alleine funzt wunderbar, aber: ich hab eine unsichtbare sphere (mesh_col, etwas größer als mesh) um den mesh gemacht ... jetzt will ich prüfen ob die sphere mit einem anderen mesh kollidiert und wenn true, dann soll erst mehsintersect überprüft werden, klappt aber nicht - hier der code:

Code: [AUSKLAPPEN]


mesh_col = CreateSphere(12,sceneCamPiv)
ScaleEntity mesh_col,11,11,11
ENTITYALPHA mesh_col,0

testmesh=LoadMesh("warrior\warrior.3ds")
ScaleEntity testmesh,1,1,1
EntityType testmesh,C_BOX ; C_BOX ist ne Constante

.....


If ENTITYCOLLIDED (mesh_col,C_BOX)>0 Then
IF MESHESINTERSECT(mesh,testmesh)=1 THEN TEXT 0,0,"Kollision"
Endif



wo liegt der fehler?
 

Dreamora

BeitragMo, Jan 03, 2005 3:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja meinte Radius

Hast du auch die restlichen Befehle drin die benötigt werden?
EntityRadius
Collisions
UpdateWorld?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group