this post was submitted on 08 Nov 2023
23 points (96.0% liked)

Godot

5843 readers
7 users here now

Welcome to the programming.dev Godot community!

This is a place where you can discuss about anything relating to the Godot game engine. Feel free to ask questions, post tutorials, show off your godot game, etc.

Make sure to follow the Godot CoC while chatting

We have a matrix room that can be used for chatting with other members of the community here

Links

Other Communities

Rules

We have a four strike system in this community where you get warned the first time you break a rule, then given a week ban, then given a year ban, then a permanent ban. Certain actions may bypass this and go straight to permanent ban if severe enough and done with malicious intent

Wormhole

[email protected]

Credits

founded 1 year ago
MODERATORS
 

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?

top 7 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 year ago* (last edited 1 year 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.

[–] [email protected] 4 points 1 year ago

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

[–] [email protected] 4 points 1 year ago (1 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.

[–] [email protected] 1 points 1 year ago (1 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?

[–] [email protected] 3 points 1 year ago (1 children)

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.

[–] [email protected] 9 points 1 year ago

Fallout 3 had a train that was actually a hat. Nothing is impossible, don't let your dreams be dreams

[–] [email protected] 2 points 1 year ago

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