0
$\begingroup$

enter image description hereI have a wheel with a hole in it's center. In this hole, I place an cylinder around which I want my wheel to rotate when it is collided by a rolling sphere. The wheel, the rotating axis and the sphere are all three declared as rigid body objects. Only the axis is a passive one. When I launch the simulation, the wheel starts "dancing" on the axis. The movement increases so much that the axis and the wheel mix instead of remaining perfectly separated objects. I have tried to increase the number of steps by second and the number of solver iterations in the rigid world scene properties but it is even worse (the wheel dance is wilder).

Any idea about a solution?

P.S : I can post my Blender file, if there is a dedicated place for this.

$\endgroup$
1
  • $\begingroup$ We need a screenshot for that. $\endgroup$ Commented Jun 14, 2020 at 7:49

1 Answer 1

0
$\begingroup$

Avoid using physics to simulate a wheel on an axis. Blender's physics engine is not capable enough for such things. Unless you have a huge margin between the size of the axis and the hole in the wheel and have the whole thing be kind of huge. First off, the bounding boxes never really interact well. When you are dealing with a hole in an object and you want to utilize that hole in the physics engine, the bounding box needs to keep that hole open. That creates a complicated bounding box that will usually result in buggy simulations. You can test that. Under the collisions tab in the physics settings, set the shape to Mesh. Only then the hole will actually exist in the bounding box.

mesh bounding box

If that is too buggy (which I expect) you need to add a relation constraint. Go to the constraints tab and add a pivot constraint. You can use this to parent the wheel to the axis but allow it to spin on a given axis. Driven by physics. This way you utilize the physics engine only for the rotating of the wheel, but you don't utilize it for unnecessary simulations.

object constraint

Hopefully this is what you are looking for.

$\endgroup$
6
  • $\begingroup$ I have added a pivot constraint to my wheel, set it's target to my axis, no pivot offset and rotation around the Y axis. My problem is at the first frame, the wheel falls so that the top of the hole is at the bottom of the axis instead of being at it's top... See the image added in the question. $\endgroup$
    – Zelig63
    Commented Jun 14, 2020 at 13:51
  • $\begingroup$ Collision shape is set to mesh for the wheel and cylinder for the axis. $\endgroup$
    – Zelig63
    Commented Jun 14, 2020 at 14:03
  • $\begingroup$ In that case your origin points are probably not in the center of the axis and the wheel. Also, since the wheel is now attached by a constraint, I would turn off the physics of the axis. They are not needed. Unless they are supposed to collide with something other than the wheel. If that's the case, you need to make sure you have different collision groups and exclude the wheel from the collision group that the axis is in. $\endgroup$
    – Hendriks3D
    Commented Jun 14, 2020 at 19:35
  • $\begingroup$ Selected my wheel and it's axis and set the origin to the geometry. Increased number of steps to 300, reduced the wheel sensitivity to 0.0001 and it works! Thanks for your help! $\endgroup$
    – Zelig63
    Commented Jun 15, 2020 at 16:15
  • 1
    $\begingroup$ Happy to give you a few points! $\endgroup$
    – Zelig63
    Commented Jun 16, 2020 at 15:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .