Sto realizzando un gioco isometrico. Quando il giocatore cerca di camminare in diagonale contro un muro, voglio che scivolino dolcemente attraverso di esso, quindi viene utilizzata qualunque parte del movimento sia legale e qualsiasi cosa nella direzione del normale viene gettata via. Le pareti possono avere qualsiasi angolo, non solo verticale o orizzontale, e il giocatore ha un movimento a 360 °.
Mi sento quasi arrivato, ma non riesco a mettere a posto l'ultimo pezzo.
Aggiornamento: grandi novità a tutti! Ho funzionato. Ma ... sono un po 'confuso su cosa dovrei normalizzare e cosa no. Il normale deve solo essere un vettore unitario, giusto? ma poi lo sto mescolando con il mio input, quindi lo sto normalizzando - sbaglio?
A proposito, ho anche scoperto che devo spingere il giocatore di 1 pixel nella direzione del normale, in modo che non rimangano bloccati sulle cose - funziona bene.