Como os jogos de física da vista superior podem ser feitos no box2D? Uma idéia que tenho é definir a velocidade linear de um objeto manualmente ou alterar o amortecimento linear e angular à medida que meu objeto se move sobre superfícies diferentes. Por exemplo, se meu objeto estiver sobre uma superfície úmida, ele terá um amortecimento menos linear e, se estiver sobre uma superfície áspera, terá mais amortecimento. E para ver se meu objeto caiu de uma borda, tentarei usar um AABB
e verificar se ele ainda está dentro ou manualmente, se object.x > boundary.x
etc. Existe alguma maneira melhor?
7
O Box2D foi projetado para funcionar com espaço bidimensional. Em um jogo de plataformas 2D, poderíamos descrever nossos objetos com uma base XY:
Nesse jogo não tem profundidade, tá? Se queremos ver esse mesmo jogo com uma vista de cima, nosso espaço precisa de uma terceira nova dimensão Z, para descrever a profundidade. O que acontece? Agora temos três dimensões, mas o Box2D foi projetado em duas dimensões.
O jogo pode ser visualmente bidimensional, mas a lógica é tridimensional neste caso. ( vista do topo ).
Eu acho que será melhor usar outra biblioteca de física 3D ou implementar uma você mesmo.
Eu nunca vi um jogo de vista superior usando o Box2D e ficaria muito grato se alguém conhece um.
fonte
Como jhocking disse, é o mesmo usando o Box2D para uma vista lateral ou superior.
Apenas desative a gravidade e brinque com profundidades usando o filtro de colisão no manual do box2D.
porque não haverá força de gravidade, os objetos serão "mais leves" do que o normal, ao empurrá-los. Brinque com as massas e as forças para obter resultados equivalentes.
O que você chamou de amortecimento deve ser o atrito comum no Box2D, eu acho. e quanto à verificação dos limites de seus níveis, existem sensores. formas que avisarão quando algo passar por cima :)
fonte