6
$\begingroup$

I have tried everything. To smoothly get the marble into the cylinder and that it rolls through the cylinder. And then goes out of the cylinder again.

I also tried to animate frame by frame but then it stutters. It should roll through the cylinder like a marble.

What is the best solution for this?

enter image description here enter image description here enter image description here

enter image description here

enter image description here


I found an example: https://samvandewal.com/banners/Scene1.mp4
This is wat i want.

$\endgroup$
  • $\begingroup$ I have moved the marble per frame but I cannot make it roll smoothly when I animate it per frame. $\endgroup$ – SAM Jul 1 at 6:56
  • $\begingroup$ I'm not sure I completely understand the goal either. Perhaps you could clarify with an edit to your question. Do you want the 'marble' to roll with the cylinder (as in, be picked up by it), or be rolled over and not be moved at all? $\endgroup$ – Timaroberts Jul 1 at 6:59
  • $\begingroup$ I want indeed the 'marble' to roll with the cylinder (as in, be picked up by it). But I can't figure out how best to approach this. $\endgroup$ – SAM Jul 1 at 7:21
  • $\begingroup$ your first gif looks alright... the cylinder picks the marble up and go, what's wrong with that one? $\endgroup$ – Luciano Jul 1 at 8:30
8
$\begingroup$

Rigid Bodies simulation

v01

  • Bake to Keyframes
  • manually adjusted details in Graph Editor
    (to synchronize jump on time into hole out)

If you would need more details to RB I can extend answer.

enter image description here

v02

version with Rigid Body simulation only without postpro

  • to avoid jumping you need more smooth curvature of Cylinder
  • I had to add more colliders (planes) to push ball into Cylinder and two sides colliders to don't let ball fall from Cylinder
  • since the animation is slow you can set Collision Margin very low like 0.01 ( in case of cylinder even less 0.001 to keep ball distance from cylinder minimal)

enter image description here

Note:

It really depends what whole motion should looks like, because if you need only this simple result of v02, the Hook Modifier (Timaroberts suggestion) will work faster.

If I Baked to Keyframes this simulation and Decimated keyframes to clean up result, animation curve is really simple.

enter image description here

And result is almost the same enter image description here

| improve this answer | |
$\endgroup$
  • $\begingroup$ vklidu this is exactly what I mean but without bouncing. The marble has to roll smoothly in the cylinder. That is precisely the problem that it not smooth marble is rolling in the cylinder. $\endgroup$ – SAM Jul 1 at 10:55
  • $\begingroup$ Answer edited to "v02" $\endgroup$ – vklidu Jul 1 at 14:31
  • $\begingroup$ Super thanks! I'm going to check this week to see exactly how you did it but this is exactly what I mean $\endgroup$ – SAM Jul 1 at 15:00
  • 1
    $\begingroup$ A limit location constraint in X (given path in Y direction) may be another way to keep ball on same path as ring. $\endgroup$ – batFINGER Jul 1 at 17:41
  • $\begingroup$ lol... edited while you were editing, re-edited Riggid -> Rigid $\endgroup$ – batFINGER Jul 1 at 17:48
3
$\begingroup$

enter image description here

This is accomplished via two empties, and a hook modifier.

Here are the steps:

  • Add an empty at the origin of the ring object, and parent the ring to this empty. This will serve to control rotations and transform for now.

  • Add a keyframe with I at the first frame, (loc/rot/scale is fine.

  • At the last frame move the empty to the end location, and rotate the desired amount. Here it was 720 degrees in X axis. Add another keyframe.

  • Find the frame where the ring will "pick up" the marble. The marble will have a hook modifier added to it, and the entire abject needs a vertex group for the modifier.

  • Add a second empty at the origin of the ring controller, and parent this one to the first as well as the marble to the hook controller. This empty will control the hook modifier. You can also add additional rotational movement if desired. (I did in my example)

The hook looks like this:

enter image description here

The trick is to animate the strength property of the hook modifier as the ring rolls over the marble. By animating the strength off and on, as well as the starting and ending locations of the marble, you have complete control.


Here is the file from the gif above for a closer look:

| improve this answer | |
$\endgroup$
  • 1
    $\begingroup$ @Timaroberts what is the marble jump in a middle of circle? $\endgroup$ – vklidu Jul 1 at 9:16
  • $\begingroup$ Sorry he's in my question now $\endgroup$ – SAM Jul 1 at 9:20
  • $\begingroup$ @vklidu before you posted your answer, my understanding was the OP wanted the ball to go all the way round the ring, hence the ’jump’ from the second empty. $\endgroup$ – Timaroberts Jul 1 at 20:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.