Thank you much! I appreciate it. I'm going to try it right now.
Also if anyone is also needing help in this area I thought I'd copy this info that I got in an email from Sean on the board.
Here's an example,
If I have a sphere that I want attached to a motion path, but I want the animation to be a little "noisy", I would put the sphere into a group of it's own and attach the group to the path, not the sphere itself. That way I can create the expression you're asking about on the sphere directly. If the sphere itself was attached to the path, you could not animate it by hand or with expressions, as you have probably noticed.
So, once the sphere's group, "group1", is attached to the motion path and the path animation is all how you like it, you could animate the sphere object any way you want, because the group that contains the sphere is constrained to the path, not the sphere object itself. You could animate the sphere by hand so that it moves around slightly within its group, which is moving along the path, or you could add an expression to do the animation for you, which is what I was referring to.
To create the expression, select the sphere (not the group this time). go Window -> Animation Editors -> Expression Editor... The Expression editor will appear, and the sphere will be listed under "Selection". This is just so that the object you have selected is listed with all of its available attributes which you could use in the expression you are about to write. In this example, the object selected is a nurbs sphere, and it is called, "nurbsSphere1". In the big box under "Expression:" you will type the following:
nurbsSphere1.translateX = noise(time);
nurbsSphere1.translateY = noise(time);
nurbsSphere1.translateZ = noise(time);
and click the "Create" button at the bottom. That's it, you have an expression. If you play the animation, you may notice that the ball moves more erratically along the curve, although probably not all that much.
The expression you made does the following: the nurbsSphere.translateX equals a noise function which is driven by time, and the same for translate Y & Z. It is easy to adjust the expression to increase the amplitude of the noise, or the frequency of the noise. To edit the expression open the expression editor, and under "Select Filter", click "By Expression Name". The "Objects" menu will list the expression you made, "expression1", and the expression itself will be listed in the box below. If you wanted to increase the amplitude of the noise, you might edit the expression to something like this, where the noise function is multiplied by four (or whatever you want):
nurbsSphere1.translateX = 4 * noise(time);
nurbsSphere1.translateY = 4 * noise(time);
nurbsSphere1.translateZ = 4 * noise(time);
When you're done editing the expression, click "Edit" at the bottom, and you're done.
If the noise is too slow or fast, you could multiply "time" in the noise function by any value as well:
nurbsSphere1.translateX = 4 * noise(time * 5);
nurbsSphere1.translateY = 4 * noise(time * 5);
nurbsSphere1.translateZ = 4 * noise(time * 5);
If you find that the noise expression is making the sphere move erratically in all directions, but you really only want the noise to be perpendicular to the path, you could just cut out the whole "translateZ" line (or whichever one(s) you don't want.
That's about it, hope it helps.
-Sean