Simulando um objeto flutuando na água


9

Estou trabalhando em um jogo de pesca de cima para baixo. Quero implementar alguma física e detecção de colisão em relação ao barco que se move ao redor do lago. Eu gostaria de poder implementar o impulso do motor principal ou do motor elétrico, o efeito do vento no objeto e o arrasto da água no objeto.

Eu estive observando o mecanismo de física do observador, mas não tendo nenhuma experiência em usar um mecanismo de física, não tenho certeza de que o observador seja adequado para esse tipo de coisa (a maioria das demos parece ser a aplicação da gravidade em uma vertical modelo de cima / baixo).

O mecanismo do observador seria adequado? ou um mecanismo diferente seria mais adequado?

Respostas:


5

Estou fazendo esse tipo de coisa com balas , mas a mesma técnica pode ser usada com qualquer mecanismo de física. A flutuabilidade é modelada anexando flutuadores imaginários ao corpo, que simplesmente aplicam uma força de acordo com a profundidade abaixo da superfície em pontos discretos.

No passo a passo, cada bóia testa o nível da água em sua posição e aplica uma força ao corpo rígido do barco em sua posição relativa ao barco. Imagino cada bóia como um cilindro sempre vertical, em relação à orientação do barco. A força é proporcional à profundidade da imersão, até o máximo definido por seu volume.

No momento, o barco tem apenas 4 carros alegóricos - proa, popa, porto e estibordo. Defino manualmente seus volumes para fornecer força suficiente para neutralizar a gravidade e, em seguida, ajusto as posições e os comprimentos dos cilindros para ajustar a maneira como o barco se move. Eu tenho uma vaga idéia de gerar os carros alegóricos, embalando os cilindros no volume rígido do corpo de alguma forma, mas isso é algo para o futuro.

Uma breve demonstração de um barco navegando pelas ondas está aqui no youtube .


0

A física do Farseer suporta todos os tipos de aplicação de força e intertia, de modo que isso não seria um problema, não tenho 100% de certeza, se o Farseer já suporta corpos fluidos (para a água), mas se isso é suportado, tudo deve ficar bem. (Observe também que Farseer é um mecanismo de física 2D)


Eu acho que eles estão adicionando suporte para fluidos em próxima versão do Farseer (3,3)
brainydexter
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.