Qual usar, Rigidbody ou characterController?

Boa tarde, atualmente eu estou fazendo um jogo 3D onde personagem principal é um gato, para programar a movimentação eu estou usando o characterController, o que esta me dando algumas dores de cabeça tanto com os colliders quanto com a interação com outros objetos, estou começando a achar que nesse caso seria melhor usar o rigidbody mas estou com medo na movimentação não ficar boa, gostaria de saber a opinião de vcs se vale a pena mudar ou não, e caso não valha a pena mudar, como eu arrumo para que todos os colliders funcionem da forma certa, e como eu programo a física/interação dos objetos com o characterController player.

Obrigado pela atenção.

1 curtida

Olá, tudo bem?
A escolha entre continuar usando o CharacterController ou migrar para um Rigidbody depende do que você quer priorizar no jogo.

Usando o CharacterController

  • Vantagens:

    • Permite um controle mais simplificado do movimento.
    • Lida automaticamente com degraus e inclinações de movimento.
  • Desvantagens:

    • Não interage naturalmente com a física, o que pode resultar em dificuldades com colisores e interações com objetos dinâmicos.
  • Dicas para melhorar as colisões e interações:

    • OnControllerColliderHit: Use esse método para detectar colisões e, se necessário, aplicar manualmente forças ou realizar ajustes quando o personagem colidir com outros objetos.

Usando o Rigidbody

  • Vantagens:

    • Proporciona interações físicas mais realistas, permitindo que o personagem reaja a forças, empurrões e colisões de forma natural.
    • Maior controle sobre o movimento e gravidade aplicada automaticamente.
  • Desvantagens:

    • A movimentação pode ficar menos precisa se não for bem ajustada.
    • Deve-se controlar todo o movimento manualmente.

De forma simples, não existe uma escolha certa ou errada, isso vai variar de projeto para projeto e também da forma que você quer controlar seu personagem.

3 curtidas