Skip to content

Commit

Permalink
Bevy 0.13 (#52)
Browse files Browse the repository at this point in the history
  • Loading branch information
Plonq authored Feb 20, 2024
1 parent 0e1a44a commit e828637
Show file tree
Hide file tree
Showing 17 changed files with 105 additions and 121 deletions.
9 changes: 4 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,13 @@ readme = "README.md"
bevy_egui = ["dep:bevy_egui"]

[dependencies]
bevy = { version = "0.12", default-features = false }
bevy_easings = "0.12"
bevy_egui = { version = "0.24", optional = true, default-features = false }
bevy = { version = "0.13", default-features = false, features = ["bevy_render"] }
bevy_egui = { version = "0.25", optional = true, default-features = false }

[dev-dependencies]
bevy = { version = "0.12" }
bevy = { version = "0.13" }
float-cmp = "0.9.0"
bevy_egui = { version = "0.24", default-features = false, features = ["default_fonts"] }
bevy_egui = { version = "0.25", default-features = false, features = ["render", "default_fonts"] }

[[example]]
name = "egui"
Expand Down
13 changes: 6 additions & 7 deletions examples/advanced.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,21 +26,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down Expand Up @@ -88,10 +87,10 @@ fn setup(
// This is how you can change config at runtime.
// Press 'T' to toggle the camera controls.
fn toggle_camera_controls_system(
key_input: Res<Input<KeyCode>>,
key_input: Res<ButtonInput<KeyCode>>,
mut pan_orbit_query: Query<&mut PanOrbitCamera>,
) {
if key_input.just_pressed(KeyCode::T) {
if key_input.just_pressed(KeyCode::KeyT) {
for mut pan_orbit in pan_orbit_query.iter_mut() {
pan_orbit.enabled = !pan_orbit.enabled;
}
Expand Down
9 changes: 4 additions & 5 deletions examples/alternate_up_vector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/animate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/egui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,21 +29,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/egui_multiple_windows.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,21 +32,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
9 changes: 4 additions & 5 deletions examples/follow_target.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,22 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands
.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
})
.insert(Cube);
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand Down
47 changes: 23 additions & 24 deletions examples/keyboard_controls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,21 +25,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand All @@ -58,79 +57,79 @@ fn setup(

fn keyboard_controls(
time: Res<Time>,
key_input: Res<Input<KeyCode>>,
key_input: Res<ButtonInput<KeyCode>>,
mut pan_orbit_query: Query<(&mut PanOrbitCamera, &mut Transform)>,
) {
for (mut pan_orbit, mut transform) in pan_orbit_query.iter_mut() {
if key_input.pressed(KeyCode::ControlLeft) {
// Jump focus point 1m using Ctrl+Shift + Arrows
if key_input.pressed(KeyCode::ShiftLeft) {
if key_input.just_pressed(KeyCode::Right) {
if key_input.just_pressed(KeyCode::ArrowRight) {
pan_orbit.target_focus += Vec3::X;
}
if key_input.just_pressed(KeyCode::Left) {
if key_input.just_pressed(KeyCode::ArrowLeft) {
pan_orbit.target_focus -= Vec3::X;
}
if key_input.just_pressed(KeyCode::Up) {
if key_input.just_pressed(KeyCode::ArrowUp) {
pan_orbit.target_focus += Vec3::Y;
}
if key_input.just_pressed(KeyCode::Down) {
if key_input.just_pressed(KeyCode::ArrowDown) {
pan_orbit.target_focus -= Vec3::Y;
}
} else {
// Jump by 45 degrees using Left Ctrl + Arrows
if key_input.just_pressed(KeyCode::Right) {
if key_input.just_pressed(KeyCode::ArrowRight) {
pan_orbit.target_alpha += 45f32.to_radians();
}
if key_input.just_pressed(KeyCode::Left) {
if key_input.just_pressed(KeyCode::ArrowLeft) {
pan_orbit.target_alpha -= 45f32.to_radians();
}
if key_input.just_pressed(KeyCode::Up) {
if key_input.just_pressed(KeyCode::ArrowUp) {
pan_orbit.target_beta += 45f32.to_radians();
}
if key_input.just_pressed(KeyCode::Down) {
if key_input.just_pressed(KeyCode::ArrowDown) {
pan_orbit.target_beta -= 45f32.to_radians();
}
}
}
// Pan using Left Shift + Arrows
else if key_input.pressed(KeyCode::ShiftLeft) {
let mut delta_translation = Vec3::ZERO;
if key_input.pressed(KeyCode::Right) {
if key_input.pressed(KeyCode::ArrowRight) {
delta_translation += transform.rotation * Vec3::X * time.delta_seconds();
}
if key_input.pressed(KeyCode::Left) {
if key_input.pressed(KeyCode::ArrowLeft) {
delta_translation += transform.rotation * Vec3::NEG_X * time.delta_seconds();
}
if key_input.pressed(KeyCode::Up) {
if key_input.pressed(KeyCode::ArrowUp) {
delta_translation += transform.rotation * Vec3::Y * time.delta_seconds();
}
if key_input.pressed(KeyCode::Down) {
if key_input.pressed(KeyCode::ArrowDown) {
delta_translation += transform.rotation * Vec3::NEG_Y * time.delta_seconds();
}
transform.translation += delta_translation;
pan_orbit.target_focus += delta_translation;
}
// Smooth rotation using arrow keys without modifier
else {
if key_input.pressed(KeyCode::Right) {
if key_input.pressed(KeyCode::ArrowRight) {
pan_orbit.target_alpha += 50f32.to_radians() * time.delta_seconds();
}
if key_input.pressed(KeyCode::Left) {
if key_input.pressed(KeyCode::ArrowLeft) {
pan_orbit.target_alpha -= 50f32.to_radians() * time.delta_seconds();
}
if key_input.pressed(KeyCode::Up) {
if key_input.pressed(KeyCode::ArrowUp) {
pan_orbit.target_beta += 50f32.to_radians() * time.delta_seconds();
}
if key_input.pressed(KeyCode::Down) {
if key_input.pressed(KeyCode::ArrowDown) {
pan_orbit.target_beta -= 50f32.to_radians() * time.delta_seconds();
}

// Zoom with Z and X
if key_input.pressed(KeyCode::Z) {
if key_input.pressed(KeyCode::KeyZ) {
pan_orbit.target_radius -= 5.0 * time.delta_seconds();
}
if key_input.pressed(KeyCode::X) {
if key_input.pressed(KeyCode::KeyX) {
pan_orbit.target_radius += 5.0 * time.delta_seconds();
}
}
Expand Down
13 changes: 4 additions & 9 deletions examples/multiple_viewports.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
//! Demonstrates usage with multiple viewports

use bevy::core_pipeline::clear_color::ClearColorConfig;
use bevy::prelude::*;
use bevy::render::camera::Viewport;
use bevy::window::WindowResized;
Expand All @@ -22,21 +21,20 @@ fn setup(
) {
// Ground
commands.spawn(PbrBundle {
mesh: meshes.add(shape::Plane::from_size(5.0).into()),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
mesh: meshes.add(Plane3d::default().mesh().size(5.0, 5.0)),
material: materials.add(Color::rgb(0.3, 0.5, 0.3)),
..default()
});
// Cube
commands.spawn(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
mesh: meshes.add(Cuboid::new(1.0, 1.0, 1.0)),
material: materials.add(Color::rgb(0.8, 0.7, 0.6)),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..default()
});
// Light
commands.spawn(PointLightBundle {
point_light: PointLight {
intensity: 1500.0,
shadows_enabled: true,
..default()
},
Expand All @@ -58,9 +56,6 @@ fn setup(
camera: Camera {
// Renders the minimap camera after the main camera, so it is rendered on top
order: 1,
..default()
},
camera_3d: Camera3d {
// Don't clear on the second camera because the first camera already cleared the window
clear_color: ClearColorConfig::None,
..default()
Expand Down
Loading

0 comments on commit e828637

Please sign in to comment.