Kollisions Problem
Übersicht

Kai-liBetreff: Kollisions Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also, ich habe da ein Problem mit einer Kollision, es funktioniert alles so wie es sein sollte, bis auf diese Kollision, dabei geht es nicht um einen Fehler sondern eher, weiß ich nicht was ich tun könnte um das Problem zu lösen:
Ich habe zwei Schwerter mit Blender modelliert, ide habe ich dann mit "LoadMesh" geladen, SchwertA und SchwertB. Eins der Schwerter steuert der Spieler und das andere wird, sobald dann endlich mal die Kollision klappen sollte vom Computer gesteuert. Aufjedenfall sollen die Schwerter einfach mit einander kollidieren, sodass sie nicht immer durch sich durch gehen das wäre ja sonst blöd, irgendwie. Mit "Entityradius" sieht das ganze dann eklig aus, das Schwert hält entweder viel zu früh an oder flutscht einfach trotzdem durch das andere durch. Was kann man den tun, um diese beiden Polygone kollidieren zu lassen. Vielen Dank für Antworten. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich fürchte dass du speziell in deinem Fall nicht um eigene Berechnung umrum kommst, denn selbst ql:MeshesIntersect kannst du da nicht nutzen, da Scwerter nun mal sehr dünn sind aber schnell seitlich bewegt werden. Eine Überschneidung ist daher nicht immer garantiert.
Hier ein Beispiel: Code: [AUSKLAPPEN] Graphics3D 800,600,0,2
SetBuffer BackBuffer() PositionEntity CreateCamera(),0,0,-20 RotateEntity CreateLight(),40,-20,0 c1=CreateCube() c2=CreateCube() PositionEntity c1,-12,1,0 PositionEntity c2,+12,0,0 While Not KeyHit(1) TranslateEntity c1,6,0,0 RenderWorld If MeshesIntersect(c1,c2)=1 Then Text 400,200,"Kollision",1 Flip Delay 1000 Wend End Wenn du nun auf TranslateEntity c1,7,0,0 umstellst, weißt du was ich meine. Man könnte aber die Schwerter mit MeshesIntersect aber mit selbstgebastellten und transparenten Quads auf Kollision prüfen. Ist eine Kollision erfolgt, so muss der letzte Bewegungsablauf in feineren Schriten nochmal durchgeführt werden. Ob das dann noch alles ohne ruckeln und hacken funktioniert, weiß ich nicht. Oder man berechnet gleich die Schnittpunkte im 3D-Raum. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
für schwerter gibt es 2 mögliche lösungen:
1. Kugel - Kugel kollision und die ellipse so legen dass sie +- das schwert ausfüllt 2. Linepick auf der Länge des Schwertes mit dem Radius der Klingenbreite und die schwerter und figuren pickbar machen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Dreamora,
Zu 1: Kann man Kollisionskugelradien auch drehen? Wenn ja, dann gehts natürlich. Ich errinere mich gelesen zu haben, dass es nicht ginge. Hmmm, bin mal kurz ausprobieren... Zu 2: Geht wohl nicht, wenn die Bewegungen zu schnell ausgeführt werden, da die Schwerter zu dünn sind und eine 'Überlappung' in einem Frame übersprungen werden kann. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Kai-li |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Erstmal Danke für die raschen Antworten.
@hectic Von dem Befehl hatte ich bisher gar nichts gehört: "Meshesintersect". Ich werds mal mit dem ausprobieren, zumal meine Schwerter sich nicht so schnell bewegen. @dreamora Das mit den Elipsen wäre gar keine so dumme Idee. Wenn man keine Slidekollision macht und die Kollisionskugel genau auf die Klinge setzt. Aber wie mache ich sie eliptisch? Das mit dem Linepick ließe sich auchmal versuchen... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group