Simulando un objeto flotando en el agua


9

Estoy trabajando en un juego de pesca de arriba hacia abajo. Quiero implementar algo de física y detección de colisión con respecto al bote que se mueve alrededor del lago. Me gustaría poder implementar el empuje del motor principal o del motor de arrastre, el efecto del viento sobre el objeto y el arrastre del agua sobre el objeto.

He estado mirando el motor de física del vidente, pero no tengo ninguna experiencia en el uso de un motor de física, no estoy muy seguro de que el vidente sea adecuado para este tipo de cosas (la mayoría de las demostraciones parecen ser la aplicación de la gravedad a una vertical modelo de tipo arriba / abajo).

¿Sería adecuado el motor farseer? o sería un motor diferente más adecuado?

Respuestas:


5

Estoy haciendo este tipo de cosas con bala , pero la misma técnica podría usarse con cualquier motor de física. La flotabilidad se modela uniendo flotadores imaginarios al cuerpo que simplemente aplican una fuerza según su profundidad debajo de la superficie en puntos discretos.

En el intervalo de tiempo, cada flotador prueba el nivel del agua en su posición, luego aplica una fuerza al cuerpo rígido del bote en su posición con relación al bote. Me imagino cada flotador como un cilindro que siempre es vertical, independientemente de la orientación del bote. La fuerza es proporcional a cuán profundamente inmersos están, hasta un máximo definido por su volumen.

Por el momento, el barco tiene solo 4 flotadores: proa, popa, babor y estribor. Establezco manualmente sus volúmenes para proporcionar suficiente fuerza para contrarrestar la gravedad, y luego ajusto las posiciones y las longitudes de los cilindros para ajustar la forma en que se mueve el bote. Tengo una vaga idea de generar los flotadores empacando los cilindros en el volumen del cuerpo rígido de alguna manera, pero eso es algo para el futuro.

Una breve demostración de un barco navegando a través de las olas está aquí en youtube .


0

La física de Farseer admite todo tipo de aplicaciones de fuerza e intertia, por lo que eso no sería un problema, aunque no estoy 100% seguro si Farseer ya es compatible con cuerpos fluidos (para el agua), pero si eso es compatible, entonces debería estar bien. (También tenga en cuenta que Farseer es un motor de física 2D)


Creo que se están añadiendo soporte para fluidos en la próxima versión de Farseer (3.3)
brainydexter
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.