Oi, William, tudo bem?
Não identifiquei o problema por aqui mas acho que deve acontecer quando as colisões ficam uma em cima da outra né?
Algumas coisas que podem resolver:
- Mudar o Rigidbody Collision Detect para
Continuous
- Mudar a programação para ao invés de usar MovePosition usar
velocity
ou AddForce
pra ter maior certeza dessa detecção
Como: GetComponent<Rigidbody>().AddForce(direcao * velocidade);
Você só teria que aumentar a velocidade para uns 200
ou mudar o ForceMode
do AddForce
.
Talvez isso resolva o problema, mas é um achismo eu não consegui verificar o erro aqui, deu tudo certo na colisão por aqui.