Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

[Bug] Meu pesonagem só voa

EU implementei este codigo do "Mão na massa" e agora ao dar play meu personagem começa a voar

1 resposta

Oi Rodrigo! Como vai?

Quando o personagem começa a "voar", geralmente é porque o componente Rigidbody está configurado de forma que não está respeitando a gravidade, ou a implementação do código de movimentação está com algum detalhe que precisa ser ajustado.

Aqui estão algumas dicas que podem ajudar a resolver o problema:

  1. Verifique a Gravidade: Certifique-se de que a opção "Use Gravity" está marcada no componente Rigidbody do seu personagem. Isso garante que a gravidade está sendo aplicada corretamente.

  2. Ajuste o Código de Movimentação: No código que você implementou, o vetor de movimentação está sendo definido como new Vector2(moveDirection, transform.position.y). Isso pode estar causando o problema, pois transform.position.y está sendo usado para o movimento vertical. Tente substituir por new Vector2(moveDirection, rigidbody.velocity.y) para manter a velocidade vertical atual, permitindo que a gravidade atue corretamente.

  3. Verifique o moveSpeed: Certifique-se de que o valor de moveSpeed está configurado corretamente e não é excessivamente alto, o que poderia fazer o personagem se mover rapidamente para cima.

  4. Debugging: Adicione alguns Debug.Log() para verificar os valores de moveDirection e vectorMoveDirection, para garantir que estão sendo calculados conforme esperado.

Por exemplo, o código ajustado pode ficar assim:

Vector2 vectorMoveDirection = new Vector2(moveDirection, rigidbody.velocity.y);
rigidbody.velocity = vectorMoveDirection * moveSpeed;

Espero que essas dicas ajudem a resolver o problema do seu personagem voador!

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.