func _physics_process(delta: float) -> void:
if not is_on_floor():
velocity += get_gravity() * delta
move_and_slide()
and without other external forces, I assume that the acceleration due to gravity should be the same for CharacterBody and the RigidBody, but the result looks different:
In both 2D and 3D, CharacterBody and Rigdbody show different results.
In 3D, I tested Jolt and GodotPhysics, and both showed the same behavior.
I’m using default settings, without any adjustments.
CharacterBody got no mass, but RigidBody body have a mass, Soo the CharacterBody is just moving down at a fixed -9.8 speed, meanwhile the RigidBody is moving according to the physics.
There is a default linear_damp = 0.1 applied to the RigidBody3D nodes, which makes them slightly slower over time compared to the CharacterBody3D. This is done to simulate friction.
You can change it either in the ProjectSettings or in the RigidBody3D settings directly.