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?

all 7 comments

sorted by: hot top controversial new old
[–] 5 points 2 years ago*

Who told you rigid body isn't suitable for characters? If you're comfortable with the concepts of a physics engine and don't mind using impulses, force integrators and other physics-driven locomotion, I see no reason to avoid a RB character.

For most use cases, rigidbody just a bigger challenge to get simple things "working right", and the precise control a kinematic body provides tends to be favorable.

  • source
  • [–] 4 points 2 years ago

    I've been using a Rigidbody just fine so far.

  • source
  • [–] 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
  • [–] 2 points 2 years ago

    lukky has a nice series for this, if you haven't already you should check it out.

  • source