Skip to content

Commit

Permalink
Fixes for upstream bevyengine/bevy#1703
Browse files Browse the repository at this point in the history
  • Loading branch information
aevyrie committed Mar 23, 2021
1 parent 0facceb commit 9e181c9
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 59 deletions.
41 changes: 23 additions & 18 deletions examples/3d_scene.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
use bevy::render::camera::PerspectiveProjection;
use bevy::{prelude::*, render::camera::Camera};
use bevy_mod_picking; // Import all the picking goodies!
use bevy::{prelude::*, ui::FocusPolicy};
use bevy_mod_picking::{
DebugCursorPickingPlugin, DebugEventsPickingPlugin, HighlightablePickingPlugin,
InteractablePickingPlugin, NoDeselect, PickableBundle, PickableButton, PickableMesh,
PickingCameraBundle, PickingPlugin,
};

fn main() {
App::build()
Expand Down Expand Up @@ -29,32 +32,34 @@ fn setup(
mut meshes: ResMut<Assets<Mesh>>,
mut materials: ResMut<Assets<StandardMaterial>>,
) {
// add entities to the world
// plane
commands
// plane
.spawn(PbrBundle {
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Plane { size: 5.0 })),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
..Default::default()
})
.with_bundle(PickableBundle::default())
// cube
.spawn(PbrBundle {
.insert_bundle(PickableBundle::default());

// cube
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..Default::default()
})
.with_bundle(PickableBundle::default())
// light
.spawn(LightBundle {
transform: Transform::from_xyz(4.0, 8.0, 4.0),
..Default::default()
})
// camera
.spawn(PerspectiveCameraBundle {
.insert_bundle(PickableBundle::default());
// light
commands.spawn_bundle(LightBundle {
transform: Transform::from_xyz(4.0, 8.0, 4.0),
..Default::default()
});
// camera
commands
.spawn_bundle(PerspectiveCameraBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..Default::default()
})
.with_bundle(PickingCameraBundle::default());
.insert_bundle(PickingCameraBundle::default());
}
47 changes: 25 additions & 22 deletions examples/deselection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,44 +29,47 @@ fn setup(
mut meshes: ResMut<Assets<Mesh>>,
mut materials: ResMut<Assets<StandardMaterial>>,
) {
// add entities to the world
// plane
commands
// plane
.spawn(PbrBundle {
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Plane { size: 5.0 })),
material: materials.add(Color::rgb(0.3, 0.5, 0.3).into()),
..Default::default()
})
.with_bundle(PickableBundle::default())
// cube
.spawn(PbrBundle {
.insert_bundle(PickableBundle::default());

// cube
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
transform: Transform::from_xyz(0.0, 0.5, 0.0),
..Default::default()
})
.with_bundle(PickableBundle::default())
// cube with NoDeselect
.spawn(PbrBundle {
.insert_bundle(PickableBundle::default());
// cube with NoDeselect
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(0.8, 0.7, 0.6).into()),
transform: Transform::from_xyz(1.5, 0.5, 0.0),
..Default::default()
})
.with(PickableMesh::default())
.with(Interaction::default())
.with(PickableButton::default())
.with(FocusPolicy::default())
.with(NoDeselect)
// light
.spawn(LightBundle {
transform: Transform::from_xyz(4.0, 8.0, 4.0),
..Default::default()
})
// camera
.spawn(PerspectiveCameraBundle {
.insert(PickableMesh::default())
.insert(Interaction::default())
.insert(PickableButton::default())
.insert(FocusPolicy::default())
.insert(NoDeselect);
// light
commands.spawn_bundle(LightBundle {
transform: Transform::from_xyz(4.0, 8.0, 4.0),
..Default::default()
});
// camera
commands
.spawn_bundle(PerspectiveCameraBundle {
transform: Transform::from_xyz(-2.0, 2.5, 5.0).looking_at(Vec3::ZERO, Vec3::Y),
..Default::default()
})
.with_bundle(PickingCameraBundle::default());
.insert_bundle(PickingCameraBundle::default());
}
28 changes: 15 additions & 13 deletions examples/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,33 +29,35 @@ fn setup(
// add entities to the world
commands
// camera
.spawn(PerspectiveCameraBundle {
.spawn_bundle(PerspectiveCameraBundle {
transform: Transform::from_matrix(Mat4::face_toward(
Vec3::new(-3.0, 5.0, 8.0),
Vec3::new(0.0, 0.0, 0.0),
Vec3::new(0.0, 1.0, 0.0),
)),
..Default::default()
})
.with_bundle(PickingCameraBundle::default())
//plane
.spawn(PbrBundle {
.insert_bundle(PickingCameraBundle::default());
//plane
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Plane { size: 10.0 })),
material: materials.add(Color::rgb(1.0, 1.0, 1.0).into()),
..Default::default()
})
.with_bundle(PickableBundle::default())
// cube
.spawn(PbrBundle {
.insert_bundle(PickableBundle::default());
// cube
commands
.spawn_bundle(PbrBundle {
mesh: meshes.add(Mesh::from(shape::Cube { size: 1.0 })),
material: materials.add(Color::rgb(1.0, 1.0, 1.0).into()),
transform: Transform::from_translation(Vec3::new(0.0, 1.0, 0.0)),
..Default::default()
})
.with_bundle(PickableBundle::default())
// light
.spawn(LightBundle {
transform: Transform::from_translation(Vec3::new(4.0, 8.0, 4.0)),
..Default::default()
});
.insert_bundle(PickableBundle::default());
// light
commands.spawn_bundle(LightBundle {
transform: Transform::from_translation(Vec3::new(4.0, 8.0, 4.0)),
..Default::default()
});
}
12 changes: 6 additions & 6 deletions examples/stress_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ fn setup(

// camera
commands
.spawn(PerspectiveCameraBundle {
.spawn_bundle(PerspectiveCameraBundle {
transform: Transform::from_matrix(Mat4::face_toward(
Vec3::new(
f32::from(edge_length) * -0.55,
Expand All @@ -52,14 +52,14 @@ fn setup(
)),
..Default::default()
})
.with_bundle(PickingCameraBundle::default());
.insert_bundle(PickingCameraBundle::default());

let _scenes: Vec<HandleUntyped> = asset_server.load_folder("models").unwrap();
let mesh_handle = asset_server.get_handle("models/monkey/Monkey.gltf#Mesh0/Primitive0");
for i in 0..edge_length.pow(3) {
let f_edge_length = edge_length as f32;
commands
.spawn(PbrBundle {
.spawn_bundle(PbrBundle {
mesh: mesh_handle.clone(),
material: materials.add(StandardMaterial {
base_color: Color::rgb(1.0, 1.0, 1.0),
Expand All @@ -76,11 +76,11 @@ fn setup(
)) * Transform::from_scale(Vec3::from([0.25, 0.25, 0.25])),
..Default::default()
})
.with_bundle(PickableBundle::default())
.with(BoundVol::default());
.insert_bundle(PickableBundle::default())
.insert(BoundVol::default());
}

commands.spawn(LightBundle {
commands.spawn_bundle(LightBundle {
transform: Transform::from_matrix(Mat4::face_toward(
Vec3::new(
f32::from(edge_length) * -0.8,
Expand Down

0 comments on commit 9e181c9

Please sign in to comment.