RBD on Wire

   10768   3   1
User Avatar
Member
58 posts
Joined:
Offline
I try to create DOP simulation like in this video. But I can't made collisions between RBD box and static geo :-(

Attachments:
wire_test.hipnc (159.1 KB)
rope.mov (361.9 KB)

User Avatar
Staff
817 posts
Joined: July 2006
Offline
This is a more complicated version of the question asked over at odForce here. [forums.odforce.net] Basically you've set up a one-way constraint between the end of the wire object and the box that's hanging from it. Because it's one-way, the box cannot affect the motion of the wire at all. If you disable the hanging box completely you'll see that the wire motion is exactly the same with the box or without it. It's also why you've gotten away using the defaults for the elasticity of the wire: if the box were actually exerting a force on the wire, you would need a much stronger Linear Spring Constant in the wire to keep the wire from stretching.

So, the bottom point of the wire is dictating the movement of the box, but the box cannot change the path of the wire as it hits obstacles. The result is that the box is forced to drag through collisions like you're seeing.

Unfortunately the solution is a little tricky. The most obvious solution would be to check the “Mirror Constraint” box on the WireGlueConstraint that constrains the box to the wire, making it a two-way constraint. In my opinion that should work, but unfortunately it doesn't. I believe it would work if the wire and box were using the same solver, but they're not, obviously. When you set that parameter, neither the end of the wire nor the box move at all anymore. I think what is happening is the wire solver runs, constraining the wire to the current location of the box, then the RBD solver runs, constraining the box to the current location of the end of the wire, and the end result is neither of them move at all.

A workaround is to switch from the Hard Constraint used in the WireGlueConstraint to the SpringConstraint used in the SBDSpringConstraint. Because it's a soft constraint it seems like both constrained objects are able to build up a little momentum and affect each other while still moving.

To get the rest of the sim to work you'll have to tweak a bunch of stuff: the strength and damping of the wire and the spring constraint, the friction on the RBD objects, the density of the RBD objects, etc. Also, probably substep the entire Dop Network (on the Simulation tab). Attached is a version that sort of works, but you'll need to tweak it more.

Attachments:
wire_test_spring.hipnc (167.0 KB)

User Avatar
Member
38 posts
Joined: Oct. 2008
Offline
there is penetrations between wire and rbd-cube after collision of rbd cube and static body…
Vladislav Tushevskiy
http://vimeo.com/heliosalmatea/videos [vimeo.com]
User Avatar
Member
58 posts
Joined:
Offline
big thanks!
  • Quick Links