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

Godot

6014 readers
113 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

!roguelikedev@programming.dev

Credits

founded 2 years 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
[–] CaptDust@sh.itjust.works 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.

[–] epicsninja@lemmy.world 4 points 1 year ago

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

[–] Klaymore@sh.itjust.works 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.

[–] nitrogenez@lemmy.world 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?

[–] Klaymore@sh.itjust.works 4 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.

[–] TonyTonyChopper@mander.xyz 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

[–] atomkarinca@lemmygrad.ml 2 points 1 year ago

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