Godot-4-Character-3D-Demo
A downloadable demo for Windows, macOS, and Linux
https://github.com/gdquest-demos/godot-4-3d-third-person-controller/
This open-source Godot 4 demo shows how to create a 3D character controller inspired by games like Ratchet and Clank or Jak and Daxter. You can copy the character to your project as a plug-and-play asset to prototype 3D games with and build upon.
It features a character that can run, jump, make a melee attack, aim, shoot, and throw grenades.
There are two kinds of enemies: flying wasps that fire bullets and beetles that attack you on the ground. The environment comes with breakable crates, jumping pads, and coins that move to the player's character.
How to run:
- Download or clone the GitHub repository.
- Press F5 or
Run Project
.
Controls:
- WASD or left stick to move.
- mouse or right stick to move the camera around.
- Space or Xbox Ⓐ to jump.
- Left mouse or Xbox Ⓑ to shoot.
- Right mouse or Xbox RTto aim.
- Tab or Xbox Ⓧ to cycle between bullets and grenades.
FAQ:
How do I use the player character in my game?
Copy the following folders into the root of your project:
Player
: contains the main Player assets and scenes.shared
: contains shaders used by the player asset.
The following Input Map
actions are needed for the Player.tscn
to work:
move_left
,move_right
,move_up
,move_down
: move the character according to the camera's orientation.camera_right
,camera_left
,camera_up
,camera_down
: rotate the camera around the character.jump
,attack
,aim
,swap_weapons
: Action buttons for the character.
The Player.tscn
scene works as a standalone scene and doesn't need other cameras to work. You can change the player UI by changing the Control
node inside Player.tscn
.
License:
All code is MIT-licensed, and assets are CC-By 4.0 GDQuest.
Comments
Log in with itch.io to leave a comment.
Hi, I have some shading errors, shaders seem to be set to Godot3.:
"SHADER ERROR: DEPTH_TEXTURE has been removed in favor of using hint_depth_texture with a uniform. To continue with minimal code changes add 'uniform sampler2D DEPTH_TEXTURE : hint_depth_texture, filter_linear_mipmap;' near the top of your shader."
and I think the crosshair is a little off, the projectile should go closer to the mark.