Was it so easy to create a 3D bevy game using a single template..? LimitPush is a bevy template which is focused on cross-platform support and performance
Goal:
Implement basic player movement (walk, run, jump, and optionally crouch) along with physics (colliders and other necessary mechanics) into the game. The system should allow for the integration of cross-platform input later on. Additionally, apply colliders to the generated map.
Requirements:
Player Movement
Add basic player movement mechanics:
Walk
Run
Jump
Optional: Crouch (with a state indicating the current action)
Use an existing crate for the character controller (e.g., bevy_rapier, bevy_tnua, or similar), but ensure it's modular enough for future cross-platform input integration.
Structure the movement logic in crates/player/movement.rs.
Player Physics
Integrate physics for the player character, such as:
Colliders for the player
Gravity
Jump mechanics tied to physics
Initialize the player's physics in crates/player/lib.rs.
Map Colliders
Apply colliders to the generated map. This includes adding collision detection for terrain and obstacles.
Implement this in crates/world/levels/openworld.rs.
Important Notes:
The player’s current action (walking, running, jumping, crouching) should be trackable via a state system.
You may use any suitable Rust crate to handle physics (rapier3D is performant so is a good option but you can choose the one you're comfortable with) and character movement, but the solution should allow for cross-platform input extension.
Keep the architecture flexible and modular.
Help Needed
I'm struggling to find the time and haven't had much success implementing this myself. Any guidance or contributions would be greatly appreciated!
Add Player Movement & Physics to the Game
Goal:
Implement basic player movement (walk, run, jump, and optionally crouch) along with physics (colliders and other necessary mechanics) into the game. The system should allow for the integration of cross-platform input later on. Additionally, apply colliders to the generated map.
Requirements:
Player Movement
bevy_rapier
,bevy_tnua
, or similar), but ensure it's modular enough for future cross-platform input integration.crates/player/movement.rs
.Player Physics
crates/player/lib.rs
.Map Colliders
crates/world/levels/openworld.rs
.Important Notes:
Help Needed
I'm struggling to find the time and haven't had much success implementing this myself. Any guidance or contributions would be greatly appreciated!