Fix dimforge#416 - update ball joint motor pos
This commit is contained in:
committed by
Sébastien Crozet
parent
b96e61853b
commit
2ed34bacf4
@@ -1,11 +1,11 @@
|
|||||||
use rapier3d::prelude::*;
|
use rapier3d::prelude::*;
|
||||||
use rapier_testbed3d::{Testbed, TestbedApp};
|
use rapier_testbed3d::Testbed;
|
||||||
|
|
||||||
pub fn init_world(testbed: &mut Testbed) {
|
pub fn init_world(testbed: &mut Testbed) {
|
||||||
|
|
||||||
let mut bodies = RigidBodySet::new();
|
let mut bodies = RigidBodySet::new();
|
||||||
let mut colliders = ColliderSet::new();
|
let mut colliders = ColliderSet::new();
|
||||||
let impulse_joints = ImpulseJointSet::new();
|
let mut impulse_joints = ImpulseJointSet::new();
|
||||||
let mut multibody_joints = MultibodyJointSet::new();
|
let mut multibody_joints = MultibodyJointSet::new();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -115,6 +115,9 @@ impl MultibodyJoint {
|
|||||||
let angvel = Vector3::from_row_slice(&vels[curr_free_dof..curr_free_dof + 3]);
|
let angvel = Vector3::from_row_slice(&vels[curr_free_dof..curr_free_dof + 3]);
|
||||||
let disp = UnitQuaternion::new_eps(angvel * dt, 0.0);
|
let disp = UnitQuaternion::new_eps(angvel * dt, 0.0);
|
||||||
self.joint_rot = disp * self.joint_rot;
|
self.joint_rot = disp * self.joint_rot;
|
||||||
|
self.coords[3] += angvel[0] * dt;
|
||||||
|
self.coords[4] += angvel[1] * dt;
|
||||||
|
self.coords[5] += angvel[2] * dt;
|
||||||
}
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user