Pare de Cair no Infinito: Entendendo a Física Básica da Unity
Você configurou o cenário. Colocou um cubo para ser o chão, uma cápsula para ser o Player. Tudo lindo na Scene.
Você aperta o Play cheio de expectativa.
E aí… seu personagem atravessa o chão e cai no infinito, enquanto o eixo Y no Inspector vira um contador negativo maluco.
Se você já reclamou da engine ou achou que quebrou o código, relaxa. Isso é comum com todo desenvolvedor Unity. O problema não é bug, é que você (ainda) não explicou para a Unity o que é sólido e o que obedece à gravidade.
Vamos arrumar isso em 3 minutos.
1. O Conceito de “Fantasma” (Mesh vs. Physics)
Primeira coisa que você precisa entender: Ver não é Tocar.
Para a Unity, o modelo 3D (aquilo que você vê) é apenas uma casca visual. Ele não existe fisicamente. Se você não adicionar um componente de física, aquele cubo lindo que parece concreto é, para a engine, feito de ar.
Para o objeto existir no mundo físico, ele precisa de uma “borda sólida”. Chamamos isso de Collider.
2. O Collider: A “Casca” Sólida
O componente Collider (Colisor) define o formato físico do objeto.
- O Chão precisa de um Box Collider.
- O Player precisa de um Capsule Collider.
Como verificar:
- Clique no seu objeto “Chão”.
- Olhe no Inspector. Tem um componente chamado
Box Collider? - Se não tiver, clique em Add Component > Digite
Box Collider> Enter.
Faça o mesmo no seu Player (geralmente usando um Capsule Collider ou Box Collider).
“Maicon, coloquei os Colliders e ele AINDA não cai! Ele fica flutuando!”
Exato. Agora eles são sólidos, mas não têm peso. É aqui que entra o segundo componente.
3. O Rigidbody: Quem toma conta da Gravidade
O Collider diz “eu sou sólido”. O Rigidbody diz “eu tenho peso e obedeço a Newton”.
Para que a física funcione (cair, bater, empurrar), pelo menos um dos objetos da colisão precisa ter um Rigidbody. Geralmente, é o objeto que se move.
- O Chão: É estático. Ele SÓ precisa do Collider. Não coloque Rigidbody no chão, senão o chão vai cair também!
- O Player: É móvel. Ele precisa do Collider (para ter forma) E do Rigidbody (para ter gravidade).
A Solução Final:
- Selecione seu Player.
- Add Component > Digite
Rigidbody. - Certifique-se de que a caixinha “Use Gravity” está marcada.
- Certifique-se de que a caixinha “Is Kinematic” está DESMARCADA (se estiver marcada, ele ignora a física e só se move por código).
Resumo da Ópera (Cheat Sheet)
Copie isso e cole num post-it no seu monitor:
- Objeto Parado (Chão, Parede): Precisa apenas de Collider.
- Objeto que Move (Player, Inimigo, Bola): Precisa de Collider + Rigidbody.
- Atravessou tudo? Faltou Collider em alguém.
- Não caiu? Faltou Rigidbody ou “Use Gravity” está desligado.
Conclusão
A Unity não adivinha o que você quer. Você precisa dizer explicitamente: “Isso é chão” e “Isso cai”.
Arrume esses componentes, dê o Play e veja seu personagem pousar firme no chão. Agora que a física está garantida, o próximo passo é fazer essa cápsula se mexer quando você aperta os botões.
Mas isso é papo para o próximo post, onde vamos resolver a briga entre Start e Update.




![Código C# na Unity usando [SerializeField] para expor variáveis privadas no Inspector.](https://perai.dev/wp-content/uploads/2025/11/unity-serializefield-vs-public-inspector-tutorial-1.png)
