How would I rig an engine motor belt to go round and round (and round and round)?

Would I set it up like this tank track tutorial? 

I imagine I could set up a chain of bones along a curve, weight paint the belt mesh to the corresponding bones, and set up a few constraints and drivers so they follow the curve when the motor engines rotate? I also imagine I could probably confine a driver to a displacement modifier (vertex grouped to the parts of the curve that are between the motors) to cause the curve to wobble ever so slightly?

I've just switched Blender off for the day so I'll have a crack tomorrow! But boy am I keen to work out how to make things work!

motor belt.png 

1 love
Reply
  • Harris Clook(Yeehawcowboyletsgo) replied

    Hang on, I can't add a displacement modifier to a curve. What else could I do to make it wobble in certain spots?

    1 love
  • Adrian Bellworthy replied

    You don't necessarily need to animate the belt, only loop the texture to give the illusion of the belt rotating.

    You could use a noise modifier in the graph editor if you want to add some wobble, you only need add a duplicate keyframe at the start and end of the timeline to add the modifier. You may want to consider wobble on the engine itself.

    1 love
  • Omar Domenech replied
    I guess if you use a texture trick, you're not going to get motion blur though. Maybe there is no animation per se needed. It feels like it can be done with a curve and the mesh just follows it none stop with a driver. Very tricky situation here, probably lots of ways to go about it and for sure you're going to have to go through a lot of trial and error. You think of an idea and in your head it works great, until you go to the practice.
    1 love
  • Dwayne Savage(dillenbata3) replied

    My first thought is a curve to use as a path. Then use hooks to bones of an Armature for the wobble. You can use empties, but then you have to manage all those actions if you later decide to expand your animation. Then use follow path constraint on belt mesh point it to the curve and check follow and offset. With offset you have a 0.00 to 1.00 range 0 being start of curve and 1 being the end of the curve. I personally would setup a driver using a bone, because I like to keep as much of the animation data attached to a rig. 

    1 love
  • Dwayne Savage(dillenbata3) replied
    I should probably mention that location as the driver is easier than doing the radian math for rotation. A trick to get around this is to have the driving bone's location controlled by another bone's rotation thru a transform constraint. In other words the driving bone becomes a MCH bone with a transform constraint that points to the control bone and map from it's rotation(min 0 to Max 359)  and map to location (min 0 to Max 1) using local space or it might be pose space. Sorry I don't remember. Then all you have to do is keyframe the rotation of the bone using vector handles while it's running and aligned handles when starting up or stopping. Then again if you're a mathematics person then radium math modulo between 0.0 and 1.0 could be easier. 
    1 love
  • Dwayne Savage(dillenbata3) replied

    Sorry to flood your post, but I just thought of an even easier way to setup a control bone. Instead of using offset(so uncheck that on the follow path constraint) use the time evaluation. By default the evaluation is 0 to 100. Click the curve/path then under curve/data tab of the properties editor under the path panel change time from 100 to 359. That way it goes from 0(start of curve) to 359(end of curve). Then in your driver you can use: 

    degrees(var)%360

    Where var would be the axis(X, Y, or Z) rotation of the control/driving bone.

    1 love
  • Harris Clook(Yeehawcowboyletsgo) replied

    Thanks guys! And Dwayne I encourage you to flood my posts, I really appreciate you providing all your knowledge whenever I ask something! I'll have a crack at your tips if I get a moment this evening!

    1 love