godot-demo-projects/3d/rigidbody_character
Aaron Franke 5646c6a7a8
Open and save 3D demos in Godot 4.3 stable (#1109)
2024-08-27 13:40:06 -07:00
..
models Open and save 3D demos in Godot 4.3 stable (#1109) 2024-08-27 13:40:06 -07:00
player Use static typing in all demos (#1063) 2024-06-01 12:12:18 +02:00
screenshots
README.md Replace instances of KinematicBody with CharacteBody in READMEs 2024-07-12 23:06:00 +02:00
cube_rigidbody.tscn
cubelib.tres Open and save 3D demos in Godot 4.3 stable (#1109) 2024-08-27 13:40:06 -07:00
icon.webp
icon.webp.import
level.gd Use static typing in all demos (#1063) 2024-06-01 12:12:18 +02:00
level.tscn Use static typing in all demos (#1063) 2024-06-01 12:12:18 +02:00
project.godot Open and save 3D demos in Godot 4.3 stable (#1109) 2024-08-27 13:40:06 -07:00

README.md

RigidBody Character 3D

RigidBody character demo for 3D using a capsule for the character. Cubes as RigidBodies spawn in the map from above to show interaction with the player (jump on them, gently push them), which would be impossible with a CharacterBody.

Language: GDScript

Renderer: Forward+

Check out this demo on the asset library: https://godotengine.org/asset-library/asset/2750

How does it work?

This demo uses a RigidBody3D for the player, and StaticBody3D for the level. Each has colliders, the player moves itself via apply_central_impulse() in _physics_process(), and collides with the level.

The ShapeCast3D node is used to detect whether the player is able to jump (i.e. touching the floor). Compared to a RayCast3D which is infinitely thin, this allows for more reliable checking if the player is standing over an edge or corner.

Screenshots

Screenshot