Half Sphere roll along surface


#1

Hey Guys,

Hope everyone is well and safe!

I’m having a brain fart issue with something that I though would be simple.
I’d like to be able to roll a half-sphere along a surface, but I can’t figure out how to do it or where to place the axis.

I don’t really want to use dynamics as I’d like to create a looping animation with this.

Can anyone advise please? This has had me stumped for a while now! I’ve attached an example pic of what i’m trying to do.

Thanks,

TonyG.!


#2

Your image didn’t work, but assuming you just need to understand the same base maths rolling a wheel over distance, see this tutorial:


#3

Hey Drew,

Thanks for the reply. I managed to fix my image upload, it should be visible now.
I did see that tutorial but it’s not exactly what will work here.
The half sphere works a little differently if you see my image.

T.


#4

You realise you can manipulate the axis not only manually but using the axis centre tool…if that helps


#5

I would have thought axis centre would be the logical position


#7

Hey Paul,

Yup, I know you can move the axis, but that won’t really help to create a smooth roll.


#8

Rather than work out the maths, this free Roll-It plugin will work for what you want then: https://eggtion.net/en/blog/cinema4d-en/roll-it-2017-en/

Right click your hemisphere and select the Roll-It tag from list and drag the “floor” object into the Floor Object slot. It should just roll from there by moving the position (not rotation) of your hemisphere.

Make sure when you install it, once you copy the plugin into the plugins directory, delete the strings_de folder inside the res folder. This will mean the plugin is in English instead of German by default unless of course you speak German :slight_smile:


#9

With Roll-It, make sure the tag is on the object, and the object is in a parent null. Then you animate the parent null and the object rolls. If the floor field is left empty, it defaults to Y = 0.


#10

There’s always good ol manual animation. Drop it under a null for moving it around the scene and hand animate it’s rotation through it’s axis inside the null. You could always nest it under more nulls for each rotation axis for better control and fine tuning.


#11

Is this what you’re wanting to do? I might be misunderstanding.

HemiRoll.c4d (218.0 KB)


#12

Hey Troyan,

Thanks for taking the time to do this. That’s exactly it. I’ll need to smooth out the movement but that’s great.
Did you hand keyframe the angles? I knew it would be something like this but I just couldn’t figure it out!

I tried Roll It and while it’s a super useful plugin, I couldn’t get it working for me.
Thanks to everyone for taking the time to help out. Really appreciate it!


#13

Excellent, glad I could help.

Everything is hand keyframed, yes. When we animate hard surface objects like this, what we like to do is for every axis and motion, create a nested null. Takes a little planning but the animation goes much faster and better to control the animation after you get the nests done. So, like I did, the top layer is just for moving the object around the scene on the x and z. Nested under that, the rotation null controls the objects rotation. I made that fast and did a no-no and animated the mesh itself going up and down when it rotates to the flat surface, but that should be yet another null just controlling it’s vertical movement. Or maybe the top null controls X and Z, nest 2 controls vertical movement, and nest 3 is rotation. Just need to test a little to figure out the nests. Never animate the mesh, always animate nested nulls, that way if you ever need to update the model you don’t have to re-animate and you don’t have to worry about gimbal issues. Also, avoid going the easy route with “autokeying”. That makes it a nightmare to deal with fcurves and polishing the motion as you have a bunch of keys and tracks you don’t need. Only animate the axes you need.

Animating something like this with autokeys and trying to animate the mesh sounds quick and easy but you’ll do way more work in the long run and probably have to go back and do the nested nulls route anyway.

Hope this helps!


#14

What couldn’t you get to work with Roll-It? Do you mean installation or actually using it? I tested it with your example of a hemisphere on a plane as your screenshot showed and it just works straight away without nulls or anything special by animating the position.

It has the benefit of not having to manually do things and scaling and change to floor object would all be automatically taken into account for you, so a lot more parametric workflow if changes may occur down the line.


#15

Could this be done with a motor dynamics tag ?