Als «collision-detection» getaggte Fragen

Die Kollisionserkennung ist die Bestimmung, ob zwei oder mehr Entitäten während des Spiels Kontakt miteinander aufnehmen oder nicht.

4
Wie überprüfe ich effizient, ob sich ein Punkt innerhalb eines gedrehten Rechtecks ​​befindet?
Zum Teil zur Optimierung, zum Teil zu Lernzwecken möchte ich fragen: Wie kann ich mit C # oder C ++ am effizientesten überprüfen, ob sich ein 2D-Punkt Pinnerhalb eines gedrehten 2D-Rechtecks XYZWbefindet? Derzeit verwende ich einen "Punkt im Dreieck" -Algorithmus aus dem Buch " Echtzeit-Kollisionserkennung" und führe ihn zweimal aus …

2
Durch Extrapolation wird die Kollisionserkennung unterbrochen
Bevor ich die Bewegung meines Sprites extrapolierte, funktionierte meine Kollision perfekt. Nach der Extrapolation auf die Bewegung meines Sprites (um die Dinge zu glätten) funktioniert die Kollision jedoch nicht mehr. So funktionierten die Dinge vor der Extrapolation: Nachdem ich meine Extrapolation implementiert habe, wird die Kollisionsroutine jedoch unterbrochen. Ich gehe …

2
Fallende Blöcke und komplexe Formen
Ich habe derzeit ein einfaches Tetris-ähnliches Spiel und bin auf ein Problem gestoßen, das ich nicht lösen kann. Im Gegensatz zu Tetris, wo es eine einzelne fallende Form gibt, habe ich mehrere, möglicherweise ineinandergreifende Formen, die fallen müssen. Ich muss ihre endgültigen Positionen berechnen. Folgendes berücksichtigen: Um die endgültige Position …


2
Boot unter einer Brücke in einem 2D-Fliesen-basierten RTS
Ich schreibe ein 2D-Kachel-basiertes RTS. Und ich möchte eine Pseudo-3D-Funktion hinzufügen - Brücken über die Flüsse. Ich habe noch keine Codierung gestartet und versuche nur zu überlegen, wie sie zum Kollisionserkennungsmodell passt. Ein Boot, das unter der Brücke vorbeifährt, und eine Einheit, die sich über die Brücke bewegt, werden schließlich …

4
Kollisionsrechteckantwort
Ich habe Schwierigkeiten, ein bewegliches Rechteck dazu zu bringen, mit mehr als einem Rechteck zu kollidieren. Ich verwende SFML und es hat eine praktische Funktion namens, intersectsdie 2 Rechtecke nimmt und die Schnittpunkte zurückgibt. Ich habe einen Vektor voller Rechtecke, mit dem mein bewegliches Rechteck kollidieren soll. Ich durchlaufe dies …

2
Breakout-Kollision: Erkennen der Kollisionsseite
Ich schreibe einen Breakout-Klon (mein erstes Spiel) und bin völlig festgefahren, wie ich herausfinde, welche Seite des Ziegels getroffen wurde. Ich habe eine Kollisionserkennungsmethode, die folgendermaßen aussieht: DetectCollision(Object a, Object b) x = distance(a.x, b.x); y = distance(a.y, b.y); if (x is smaller than the combined width & y is …

2
Kollisionserkennungstechniken der Continuous Physics Engine
Ich arbeite an einer rein kontinuierlichen Physik-Engine und muss Algorithmen für die Erkennung von Kollisionen in breiten und engen Phasen auswählen. "Rein kontinuierlich" bedeutet, dass ich niemals Kreuzungstests durchführe, sondern Wege finden möchte, um jede Kollision zu erfassen, bevor sie auftritt, und sie in den von TOI geordneten Stapel "Geplante …

1
Oberflächen verformen
Ich versuche, ein deformierendes physisches Verhalten für ebene Oberflächen zu erreichen, habe aber noch keine Ahnung, wie ich mit der Implementierung beginnen soll. Unabhängig von der Form der Oberfläche (Ebenen, Würfel, Kugeln…) möchte ich kleine Vertiefungen an den Positionen von Spieleinheiten (Spieler, Feinde, Objekte…) haben. Es ist etwas kompliziert zu …






1
Wie vermeide ich in einer 2D-Physik-Engine nutzlose Kollisionsauflösungen, wenn Objekte zur Ruhe kommen?
In einer Physik-Engine, die ich (zum Lernen) mit love-2d entwickle , habe ich Kollisionsauflösungen folgendermaßen implementiert: FixedUpdate(dt) // I use fixed timestep foreach collide c1 in allNotStaticColliders c1.integartePhysic // i.e. apply gravitational force.. foreach collider c2 "near" c1 // "near"= I use spatial hashing if collide(c1,c2) resolve collision (c1,c2) // …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.