Domanda

Ho un problema simile a http://farseerphysics.codeplex.com /Thread/View.aspx?ThreadId=72364

Ho un geom del giocatore rettangolo e molti geom delle tessere rettangolari allineati uno accanto all'altro.

Occasionalmente, quando il geom del giocatore sta attraversando tra di loro, sembra agganciarsi agli angoli del geom della tessera e di conseguenza ruotare sopra.

Anche quando si commuta il momento di inerzia all'infinito che impedisce la rotazione, il giocatore geom "salta" quando taglia il bordo.

Ecco uno screenshot del geoms immagine di intervento http://notspike.com/PrototypeG/trip. png

C'è qualche correzione per questo? Ho provato i forum Farseer ma sembra piuttosto inattivo

Ecco un collegamento a un video che utilizza un geom circolare per il giocatore

http://www.notspike.com/PrototypeG/trip.avi

È stato utile?

Soluzione

Suggerirei di evitare l'uso di piccole tessere poste una accanto all'altra per la geometria di collisione del livello. Ad esempio, anche se visivamente è chiaro che stai usando le tessere, il "piano" dal video sarebbe meglio descriverlo come un rettangolo lungo contiguo. In questo modo, non hai affatto questo problema ... la matematica in virgola mobile è già abbastanza imprecisa e la geometria della collisione di piastrellatura sta solo chiedendo che vada storto :-)

Altri suggerimenti

L'ho già accaduto prima quando le mie forme sono abbastanza piccole o i movimenti sono abbastanza veloci per l'intervallo tra il calcolo della fisica "ticks" essere abbastanza per consentire agli oggetti di sovrapporsi prima che inizi il rilevamento delle collisioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top