Pregunta

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

Tengo una geom de jugador de rectángulo, y muchas geoms de mosaico de rectángulo alineadas una al lado de la otra.

Ocasionalmente, cuando la geom del jugador se cruza entre ellos, parece que se engancha en las esquinas de la geom del azulejo y, como resultado, gira.

Incluso cuando se cambia el momento de inercia al infinito, lo que impide la rotación, el jugador geom "salta". cuando corta el borde.

Aquí hay una captura de pantalla de las geoms imagen de disparo http://notspike.com/PrototypeG/trip. png

¿Hay alguna solución para esto? He probado los foros de Farseer pero parece bastante inactivo

Aquí hay un enlace a un video usando un círculo de geom para el jugador

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

¿Fue útil?

Solución

Sugeriría que evite el uso de pequeños mosaicos colocados uno al lado del otro para la geometría de colisión del nivel. Por ejemplo, aunque visualmente está claro que está usando mosaicos, el '' piso '' del video se describiría mejor como un rectángulo contiguo largo. De esa manera, no tiene este problema en absoluto ... las matemáticas de coma flotante ya son lo suficientemente imprecisas y la geometría de colisión en mosaico solo está pidiendo que eso salga mal :-)

Otros consejos

He tenido esto antes cuando mis formas son lo suficientemente pequeñas o los movimientos son lo suficientemente rápidos para el intervalo entre el cálculo físico '' tics '' ser suficiente para permitir que los objetos se superpongan antes de que se active la detección de colisión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top