diff options
| author | Sébastien Crozet <sebcrozet@dimforge.com> | 2024-05-26 18:18:38 +0200 |
|---|---|---|
| committer | Sébastien Crozet <sebastien@crozet.re> | 2024-06-09 12:09:58 +0200 |
| commit | 02cade04408230ef52e8fe34a85be66bcf76dd50 (patch) | |
| tree | f72c9816e0f3fd79f42548bdd8bc6e348dff77ef /examples3d | |
| parent | 9865d5836a18579d3edfc6bccb8dbc08a01e5a6b (diff) | |
| download | rapier-02cade04408230ef52e8fe34a85be66bcf76dd50.tar.gz rapier-02cade04408230ef52e8fe34a85be66bcf76dd50.tar.bz2 rapier-02cade04408230ef52e8fe34a85be66bcf76dd50.zip | |
feat: more urdf parser fixes + stl parser
Diffstat (limited to 'examples3d')
| -rw-r--r-- | examples3d/Cargo.toml | 1 | ||||
| -rw-r--r-- | examples3d/urdf3.rs | 22 |
2 files changed, 17 insertions, 6 deletions
diff --git a/examples3d/Cargo.toml b/examples3d/Cargo.toml index 0e20bd2..e8b4356 100644 --- a/examples3d/Cargo.toml +++ b/examples3d/Cargo.toml @@ -29,6 +29,7 @@ path = "../crates/rapier3d" [dependencies.rapier-urdf] path = "../crates/rapier-urdf" +features = ["stl"] [[bin]] name = "all_examples3" diff --git a/examples3d/urdf3.rs b/examples3d/urdf3.rs index e188c86..6069171 100644 --- a/examples3d/urdf3.rs +++ b/examples3d/urdf3.rs @@ -1,6 +1,6 @@ use rapier3d::prelude::*; use rapier_testbed3d::Testbed; -use rapier_urdf::{RapierRobot, UrdfLoaderOptions}; +use rapier_urdf::{UrdfLoaderOptions, UrdfRobot}; pub fn init_world(testbed: &mut Testbed) { /* @@ -17,19 +17,29 @@ pub fn init_world(testbed: &mut Testbed) { let options = UrdfLoaderOptions { create_colliders_from_visual_shapes: true, create_colliders_from_collision_shapes: false, - apply_imported_mass_props: true, + apply_imported_mass_props: false, make_roots_fixed: true, - // rigid_body_blueprint: RigidBodyBuilder::dynamic().gravity_scale(0.0), - collider_blueprint: ColliderBuilder::ball(0.0) - .density(0.0) + // Z-up to Y-up. + shift: Isometry::rotation(Vector::x() * std::f32::consts::FRAC_PI_2), + rigid_body_blueprint: RigidBodyBuilder::default().gravity_scale(1.0), + collider_blueprint: ColliderBuilder::default() + .density(1.0) .active_collision_types(ActiveCollisionTypes::empty()), ..Default::default() }; - let (mut robot, _) = RapierRobot::from_file("assets/3d/sample.urdf", options).unwrap(); + let (mut robot, _) = + UrdfRobot::from_file("assets/3d/T12/urdf/T12.URDF", options, None).unwrap(); + // let (mut robot, _) = UrdfRobot::from_file("assets/3d/sample.urdf", options).unwrap(); // robot.insert_using_impulse_joints(&mut bodies, &mut colliders, &mut impulse_joints); robot.insert_using_multibody_joints(&mut bodies, &mut colliders, &mut multibody_joints); + testbed.add_callback(move |mut graphics, physics, _, state| { + for (_, body) in physics.bodies.iter() { + println!("pose: {:?}", body.position()); + } + }); + /* * Set up the testbed. */ |
