Tengo un problema con el Motor de Física Farseer, donde en un entorno en mosaico, mi objeto a veces interactuará con las esquinas de otros objetos, incluso si se alinean perfectamente.
He leído sobre personas que sugieren que calcules y crees un objeto más grande, usando Cuadrados de Marcha o algo similar. Sin embargo, esta no es una opción, ya que me gustaría que cada mosaico tenga diferentes cualidades físicas, como diferentes fricciones y restituciones.
Mi pregunta es, ¿qué es exactamente lo que lo está causando, son problemas de precisión de flotación u otra cosa? ¿Y hay alguna manera de arreglarlo, sin romper todo el motor de física?
xna
physics
farseer-physics-engine
William Mariager
fuente
fuente
Respuestas:
Farseer usa un solucionador iterativo, por lo que cuando su rueda comienza a chocar con otro rectángulo a alta velocidad, de vez en cuando verá golpes, ya que es una "alineación perfecta" para nosotros, no para una simulación física, con iteraciones como estas. nunca seas "perfecto en píxeles".
Tendrás que convertir rectángulos a formas Edge / Loop y luego modelar diferentes cualidades físicas con hacks como crear límites de mosaicos artificiales y luego cambiar las propiedades cuando el personaje ingresa a un cuadro delimitador, pero no todas las cualidades físicas se pueden emular de esa manera.
Tarde o temprano terminarás escribiendo tu propia física basada en mosaicos en lugar de Farseer. Si tu juego no tiene muchos acertijos de física complejos, será más sencillo abandonar Farseer por completo y tirar tu propia física basada en fichas.
fuente
puede optimizar sus formas de colisión, esta escena se puede hacer con solo cuatro rectángulos.
puedes unir cuadros correlativos para hacer uno más grande.
este video lo muestra http://www.youtube.com/watch?v=eyhGckHgkkE
cuando agrega cuadros, puede ver un rectángulo azul claro con la forma optimizada.
fuente
Hmm ... sospecho que podría tener algo que ver con tu círculo y no con las fichas debajo de él. Intenta hacer el suelo con un solo casco y mira si obtienes los mismos resultados. Si no, son las fichas como sospechas. Si es así, su círculo no es tan redondo como podría pensar.
fuente