Aqui vai um segredo de Navmesh e Rigidbodies
Tenho quase certeza que a unity não quer que a gente use um rigidbody com collider em um agente com navmesh... e eu vejo muitos casos que isso se faz desnecessário mesmo.
Mas eu precisava que meu agente interagisse um pouco mais com o cenário... o problema é que usar o rigidbody com navmesh estava causando vários bugs que não achei nenhum lugar na internet fácil pra resolver.
O problema principal é que o rigidbody estava ficando preso em objetos que o navmesh não reconhecia.
Pra explicar o que estava acontecendo:
O agente se movimentava e o collider esbarrava em algo que o agente não reconhecia.
Eu não queria que o agente reconhecesse porque eu não queria que ele esquivasse dos objetos, mas sim que interagisse com eles.
O agente se movimentava e como para ele esses objetos não existiam, não havia maneira de identificar quando ele ficava preso (a velocidade continuava constante mesmo quando ficava parado, verificar por qualquer outra bool do navmesh também não funcionava)
Já pelo lado do rigidbody, por incrível que pareça, como era o agente do navmesh que estava se movendo, o rigidbody não identificava movimentação, então na visão dele, o objeto estava sempre parado (a velocidade era constantemente 0)
Agora eu te pergunto... como saber se o collider está preso em algum lugar impedindo o progresso do agente nesse caso?
Eu descobri que o rigidbody está com a velocidade sempre 0... a menos que esteja entrando em outro objeto... nesse caso, o rigidbody tenta sair desse objeto e a velocidade dele aumenta.
Eu que pensava que queria identificar quando a velocidade do meu personagem ficava próxima a 0, descubro que o que eu quero mesmo é saber quando a velocidade do rigidbody aumenta, pois isso significa que ele está entrando em algo.
Foi uma bela descoberta e um dia de alguns progressos, falta muito pouco agora.
Caso alguém esteja com uma dificuldade similar, para mim funcionou muito bem detectar se a magnitude da velocidade do rigidbody for maior que 0.5f
Até a próxima!
To vendo que estou recebendo umas views mesmo sem divulgar isso... se ta lendo isso deixa um alo ai nos comentários.
Blog
Meus pensamentos de gamedev
Status | In development |
Category | Other |
Author | Herbherth |
Tags | blog, brasil, devlog, indiebr |
Languages | Portuguese (Brazil) |
More posts
- Criando um sistema de loteriaOct 26, 2023
- Lista de palavras em português (repositório)Sep 26, 2023
- GamejamsSep 26, 2023
- O melhor jogo da unitySep 15, 2023
- E essa unity ein?Sep 14, 2023
- Discord é muito nerdSep 14, 2023
- Testando coisas novasSep 07, 2023
- Pronto, foi!Aug 24, 2023
- 3° vez é a de ouroAug 24, 2023
- Por que tá sempre tão perto de acabar?Aug 21, 2023
Leave a comment
Log in with itch.io to leave a comment.