Trennachsentest. (Auch Trennachsensatz genannt, Trennachsentest, yada yada.)
Wenn Sie eine Achse (JEDE Achse) finden, nicht nur reguläre XYZ-Basisvektoren, bei der sich die Projektionen Ihrer beiden Würfel nicht überlappen, schneiden sie sich nicht.
Es gibt eine Menge Tutorials und Implementierungen, die über Google verfügbar sind, aber dieses hat hübsche Grafiken:
https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169
Dies ist es, was wir unseren Spielentwicklern beibringen und sie alle bekommen Jobs. :) :)
Das Überprüfen von Schnittpunkten von Scheitelpunkten und Flächen oder Kanten deckt auch nicht den Fall ab, in dem Würfel verschachtelt sind, sodass dies keine echte Lösung ist. SAT sieht in 3D kompliziert aus, aber es ist nur eine Menge Wiederholung. Schneiden Sie einige Randfälle aus, fügen Sie sie ein, zeichnen Sie sie nach und probieren Sie sie aus.
Eine schmutzig einfache Methode, die für die Breitphasenkollisionserkennung gut genug ist, besteht darin, die Würfel als Kugeln zu behandeln. (Wenn es sich wirklich um normale Würfel handelt, ist der Fehler gering, obwohl er proportional zur Skalierung der Würfel relativ zueinander ist.)
Ermitteln Sie den Abstand zwischen der Mitte der Würfel und prüfen Sie, ob er größer ist als die Summe der halben Diagonalen der beiden Würfel. (Grundsätzlich überprüfen Sie Begrenzungskugeln, anstatt sich über Hyperebenen Gedanken zu machen.)