I want to make an FPS controller that feels realistic, like when you move you really feel that your character has mass. In Unity I would've done that with RigidBody, but how do I do that in Godot 4.3.1 with CharacterBody3D? I know that RigidBody3D is not suitable for character controllers. May anyone show me the direction in which I shall dig?

you are viewing a single comment's thread
view the rest of the comments
[–] 4 points 2 years ago (3 children)

There's nothing stopping you from making your player a RigidBody3D if that's what you're going for, it's just CharacterBody3D is more common. You would apply forces and impulses on the player to move them around. You could use a CharacterBody3D but then you might want to program your own calculations for inertia and things like that which change their velocity.

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 2 years ago (2 children)

    I've seen that RigidBody3D is not recommended to use for player movement because of some physics stuff in Godot Docs. Is that not the case anymore?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 2 years ago (1 child)

    You can't precisely control the movement of a rigidbody like you can with a characterbody, so most games use a characterbody since that's what they want. But you can have rigidbodies in a game and apply forces to them, it doesn't matter if the forces are triggered by input and you happened to have a camera on it and call it a player.

  • source
  • parent
  • hideshow 1 child comment