O vídeo do Overgrowth Alpha 132 mostra como eles implementaram a escalada de borda.
O método deles deve funcionar em qualquer mecanismo, mesmo em 2D, em que você usaria um retângulo e um círculo em vez de um cilindro e uma esfera.
Sua detecção de borda envolve duas partes:
Detecção de parede (usando a esfera)
O jogo verifica se o jogador está colidindo com uma parede. Se houver uma parede, pode haver bordas nas quais o jogador possa agarrar. A segunda parte assume a análise das bordas.
Detecção de borda (usando o cilindro)
Se o jogador está em contato com uma parede, um cilindro é arrastado para baixo a uma certa distância acima da posição do jogador até tocar em uma borda. Isso determina três coisas:
Se existe uma borda acima do player
A altura da borda
Se há espaço para o jogador subir na borda, considerando que o cilindro ocupa o mesmo espaço horizontal que o jogador.
"um cilindro é arrastado para baixo a uma certa distância acima da posição do jogador" Que distância? Isso é muito importante ao lidar com ambientes internos (você cruzaria o teto por acidente).
Tara
11
@Dudeson no passado, usei um raycast para encontrar inicialmente a superfície da borda, antes de acompanhar com uma verificação de volume para verificar se há espaço desobstruído suficiente para subir. Como o raycast é direcional, ele não lê tetos como falsos positivos - embora ainda possa ser preso no próximo andar se a origem for muito alta. As métricas exatas dependerão de muitos detalhes de cada jogo - o tamanho dos caracteres, alcance braço, desembaraço no nível de design, queda velocidades, etc.
Respostas:
O vídeo do Overgrowth Alpha 132 mostra como eles implementaram a escalada de borda.
O método deles deve funcionar em qualquer mecanismo, mesmo em 2D, em que você usaria um retângulo e um círculo em vez de um cilindro e uma esfera.
Sua detecção de borda envolve duas partes:
Detecção de parede (usando a esfera)
O jogo verifica se o jogador está colidindo com uma parede. Se houver uma parede, pode haver bordas nas quais o jogador possa agarrar. A segunda parte assume a análise das bordas.
Detecção de borda (usando o cilindro)
Se o jogador está em contato com uma parede, um cilindro é arrastado para baixo a uma certa distância acima da posição do jogador até tocar em uma borda. Isso determina três coisas:
fonte