feat: migrate to glam whenever relevant + migrate testbed to kiss3d instead of bevy + release v0.32.0 (#909)
* feat: migrate to glam whenever relevant + migrate testbed to kiss3d instead of bevy * chore: update changelog * Fix warnings and tests * Release v0.32.0
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use kiss3d::color::{Color, GREY, RED};
|
||||
use rapier_testbed2d::Testbed;
|
||||
use rapier2d::prelude::*;
|
||||
|
||||
@@ -16,19 +17,20 @@ pub fn init_world(testbed: &mut Testbed) {
|
||||
let count = 100;
|
||||
for x in 0..count {
|
||||
for y in 0..count {
|
||||
let rigid_body = RigidBodyBuilder::fixed().translation(vector![
|
||||
let rigid_body = RigidBodyBuilder::fixed().translation(Vector::new(
|
||||
(x as f32 - count as f32 / 2.0) * rad * 3.0,
|
||||
(y as f32 - count as f32 / 2.0) * rad * 3.0
|
||||
]);
|
||||
(y as f32 - count as f32 / 2.0) * rad * 3.0,
|
||||
));
|
||||
let handle = bodies.insert(rigid_body);
|
||||
colliders.insert_with_parent(collider.clone(), handle, &mut bodies);
|
||||
testbed.set_initial_body_color(
|
||||
handle,
|
||||
[
|
||||
Color::new(
|
||||
x as f32 / count as f32,
|
||||
(count - y) as f32 / count as f32,
|
||||
0.5,
|
||||
],
|
||||
1.0,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -37,7 +39,7 @@ pub fn init_world(testbed: &mut Testbed) {
|
||||
* Set up the testbed.
|
||||
*/
|
||||
testbed.set_world(bodies, colliders, impulse_joints, multibody_joints);
|
||||
testbed.look_at(point![0.0, 0.0], 50.0);
|
||||
testbed.look_at(Vec2::ZERO, 50.0);
|
||||
|
||||
testbed.add_callback(move |mut graphics, physics, _, run| {
|
||||
let slow_time = run.timestep_id as f32 / 3.0;
|
||||
@@ -50,18 +52,18 @@ pub fn init_world(testbed: &mut Testbed) {
|
||||
);
|
||||
|
||||
for intersection in query_pipeline.intersect_shape(
|
||||
Isometry::translation(slow_time.cos() * 10.0, slow_time.sin() * 10.0),
|
||||
Pose::from_translation(Vector::new(slow_time.cos() * 10.0, slow_time.sin() * 10.0)),
|
||||
&Ball::new(rad / 2.0),
|
||||
) {
|
||||
if let Some(graphics) = graphics.as_deref_mut() {
|
||||
for (handle, _) in physics.bodies.iter() {
|
||||
graphics.set_body_color(handle, [0.5, 0.5, 0.5]);
|
||||
graphics.set_body_color(handle, GREY, false);
|
||||
}
|
||||
|
||||
let collider = physics.colliders.get(intersection.0).unwrap();
|
||||
let body_handle = collider.parent().unwrap();
|
||||
|
||||
graphics.set_body_color(body_handle, [1.0, 0.0, 0.0]);
|
||||
graphics.set_body_color(body_handle, RED, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user