A third-person shooter movement system built with Bevy 0.17, Rapier physics, and TrenchBroom level support.

Features
- Third-person camera with mouse orbit controls
- Character movement with walking, sprinting, and jumping
- TrenchBroom map loading with automatic collision generation
- Rapier 3D physics with debug rendering
Controls
| Key | Action |
|---|---|
| WASD | Move (relative to camera) |
| Shift | Sprint |
| Space | Jump |
| Mouse | Orbit camera |
| Escape | Release cursor |
| Left Click | Recapture cursor |
Project Structure
src/
├── main.rs # App entry, plugin registration, scene setup
├── constants.rs # Movement speeds, physics values
├── components/
│ ├── mod.rs
│ ├── player.rs # Player, PlayerMovement, Grounded
│ ├── camera.rs # ThirdPersonCamera, CameraOrbit, CameraTarget
│ └── movement.rs # MovementInput
└── plugins/
├── mod.rs
├── player.rs # PlayerPlugin - character controller
├── camera.rs # ThirdPersonCameraPlugin - orbit camera
└── input.rs # InputPlugin - movement input handling
assets/
└── unnamed.map # TrenchBroom level file
Running
cargo run
Level Editing
Maps are created using TrenchBroom and exported in Quake 2 (Valve) format. The game automatically loads .map files from the assets folder and generates physics colliders from the mesh geometry.
Dependencies
- Bevy 0.17 - Game engine
- bevy_rapier3d 0.32 - Physics engine
- bevy_trenchbroom 0.11 - TrenchBroom map loader