Sto tentando di progettare un algoritmo di rilevamento delle collisioni per un client Minecraft personalizzato che sto creando. Fondamentalmente, il mondo intero è composto da cubi e il giocatore (o la telecamera) deve essere in grado di stare in piedi e muoversi contro questi cubi. Il risultato che voglio è illustrato in questa immagine: Rilevamento di collisioni scorrendo contro un piano in XNA
La linea verde è il vettore di movimento del giocatore. Quando il giocatore sta sfiorando il piano di uno dei cubi, voglio che il vettore diventi uno perpendicolare al piano. Il vettore dovrebbe, tuttavia, mantenere tutta la sua velocità nella direzione del piano, ma perdere tutta la velocità verso il piano.
Spero di aver chiarito la mia domanda. Qual è il modo migliore e più efficace per implementare un sistema di rilevamento collisioni come questo? Inoltre, un sistema come questo consente una semplice componente di gravità?
MODIFICA: dimenticato di menzionare, i cubi sono memorizzati in una matrice tridimensionale, [x, y, z].
amo questa domanda. Ti suggerirei di pubblicare anche su gamedev.stackexchange.com. Immagino che questo sia un problema comune nello sviluppo del gioco. –
@BigDave - Oh, non sapevo che esistesse un sito specifico per lo sviluppo del gioco. Lo Stack Exchange sta davvero crescendo. – Bevin