Devo scrivere, come si può riassumere, un gioco 3D completo da zero in questo semestre. Fino ad ora ho programmato solo giochi 2D nel mio tempo libero, la transizione non sembra difficile, il gioco è semplice. L'unico problema che ho è il rilevamento delle collisioni. L'unica cosa che ho potuto trovare era AABB, delimitando sfere o raccomandazioni di vari motori fisici. Devo programmare un sottomarino che si muoverà liberamente all'interno di un sistema di caverne, AFAIK Non posso usare le librerie di fisica, quindi nessuna delle precedenti risolve il mio problema.
Fino ad ora stavo usando SAT per il mio rilevamento delle collisioni. Esistono algoritmi simili, fantastici, ma realizzati per la collisione 3D? Non sto parlando di ocre o altre ottimizzazioni, sto parlando del rilevamento diretto delle collisioni di un set di poligoni 3D con un altro set di poligoni 3D. Ho pensato di usare SAT due volte, proiettare la mesh dall'alto e dal lato, ma poi sembra così difficile persino dividere lo spazio 3D in forme convesse. Inoltre, sembra che il calcolo sia eccessivo anche con gli octrees.
Come lo fanno i professionisti? Qualcuno potrebbe far luce.