Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] Colisão não está funcionando direito

Prezados, boa tarde!

Mesmo após revisar algumas vezes o vídeo e colocar as colisões e configurar o RigidBody conforme a aula, estou tendo problemas em que o personagem continua atravessando. Busquei aqui no fórum a solução e a solução que encontrei de mexer na massa e no drag, não deu certo. Não sei se esse é o problema mas dei uma olhada aqui e vi que o PC está rodando com um FPS perto de 400, testei no código reduzir o Time.deltaTime pela metade e o personagem parou de atravessar, porém a velocidade também fica limitada. Como posso solucionar isso para a colisão funcionar?

3 respostas

E aí, Bruno!

Então, o lance da colisão é sempre um desafio, né? Mas bora resolver isso aí!

Primeiramente, 400 FPS é muita coisa! Pode estar causando uns bugs na física. Baixa isso pro padrão, tipo 60 FPS. No código, tu já tentou mexer na função Time.deltaTime? Tipo, ao invés de reduzir pela metade, ajusta pra algo tipo 0.02 e vê se resolve o problema do personagem atravessando.

Se isso deixar a velocidade zoada, tenta dar uma ajustada na força ou velocidade inicial do teu personagem. Às vezes, diminuir a intensidade do movimento ajuda a evitar atravessamentos.

Outra parada: confere se a escala do teu personagem tá de boa. Às vezes, uma escala esquisita pode bagunçar a detecção de colisões.

E por último, dá uma olhada se tem algo no terreno ou nos objetos que o personagem tá atravessando que pode tá interferindo na colisão. Às vezes é algo bem sutil, tipo uma borda estranha.

Testa essas paradas e me fala se resolveu, blz?

solução!

Boa noite!

Tentei o que você falou mas infelizmente pro meu caso não deu certo, eu garimpei um pouco mais aqui no fórum e achei um tópico de 2021 que deu certo pra mim: https://cursos.alura.com.br/forum/topico-continua-atravessando-paredes-176857

O que eu segui especificamente pra dar certo foi a parte de alterar: "... Edit > Project Settings > Physics você pode mudar o Max Depenetration Velocity para algo maior como 100 ou 1000... ". Depois disso, mesmo com os 400 FPS ele não atravessa mais.

Muito obrigado pela ajuda e disposição!

Cara tava com o mesmo problema, fiz o mesmo que vc e deu certo. Vlw :)