cover | itchio | tags | description |
---|---|---|---|
static/cover.webp |
3D third-person-shooter shooter controller |
A 3D Third Person Shooter Controller Demo |
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.
- Download or clone the GitHub repository.
- Open the project and install the
Godot LLM
addon from the asset library. Alternatively, get the addon from the github release page. - Download a supported multimodal model in GGUF format, including botht the language model and the mmproj model. For example,
moondream2-text-model-f16.gguf
andmoondream2-mmproj-f16.gguf
from this repo. - Reload the project, open
LLM/llava.tscn
, pointModel Path
andMmproj Path
to the corresponding model file. - Press F5 or
Run Project
. - Close the demo page, press L to open the text generation UI, input some texts (e.g. "Describe the environment"), click
Generate
, then close the text generation UI by pressing Esc. - Wait for a while, you will see the generated text appears at the top.
- 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.
- L to open the UI for multimodal text generation, Esc to close the UI.
- Alt to toggle mouse capture.
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
.
All code is MIT-licensed, and assets are CC-By 4.0 GDQuest.