Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Atravessando colisão em cantos

Em meu jogo o boneco atravessa cantos mesmo tendo propriedades de colisão, como eu corrijo isso?

demonstração: https://www.youtube.com/watch?v=vgAR4PvVTAg (acontece em outros cantos independente da espessura).

1 resposta
solução!

Oi, Luã, tudo bom?

A física da Unity quando tem dois colisores muito próximos ou em interseção ela não fica tão legal porque causa um efeito de "explosão". Então quando você chega perto da parede ela deve estar te empurrando pro outro lado.

Aí nesse caso normalmente a gente tem que dar uma calibradinha na física, o que eu normalmente faço pra esses casos mais simples é aumentar o drag do Rigidbody pra 1 tornando bem difícil de arrastar esse Rigidbody pra outro local.

Uma mudança que acho que pode melhorar seria usar a velocity do Rigidbody ou AddForce, acho que as duas modificações ficariam boas e resolveriam seu problema. A movimentação ficaria algo como:

GetComponent<Rigidbody>().velocity = direcao * Velocidade;

Você pode dar uma olhada também nesse tópico eu falo de algumas outras opções.

ps.: Acho a opção AddForce mais interessante, no tópico há um exemplo :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software