20-05-2020, 06:36 PM
(19-05-2020, 08:27 AM)josemendez Wrote: Hi phantom,
Keep in mind that Obi is a physics engine of its own (no way to get the required performance out of a traditional rigidbody engine like Unity's), that just happens to allow interaction with other engines via impulse exchange. So you will need to feed the haptic input to your device yourself.
I'm not a expert in haptic feedback by any means (In fact I have no experience at all), but assuming your device only needs some kind of "force" or "resistance" input from the software to create the haptic effects, you can easily get this from Obi: Subscribe to solver.OnCollision to retrieve the list of contacts generated each frame. Then, each contact provides three orthonormal axes, as well as three impulse magnitudes: normal (depenetration), tangent and bitangent (friction). You should be able to feed these to your device. See the manual for details: http://obi.virtualmethodstudio.com/tutor...sions.html
I'd use a regular rigidbody to touch the softbody, as softbody-softbody interaction is subject to worse tunneling due to particle sizes.
cheers!
Hello Jose,
Thanks for the prompt reply, I managed to use my haptics devices to teleoperate a rigid body to touch a soft body (rubber ball) and it looks well.
Since the rigid body needs to be a child of the Obi solver, I wrote a simple script to make its motion follow the haptics device's.
Thanks again,
phantom