Keyframing gives you the best control. You could do it with an expression too but is it really worth it? Here's one possibility: Code: int $iStartOsc = 6; float $fHeightMult = 3; int $iStopFrame = 75; if(frame < $iStartOsc) nurbsSphere1.translateY = frame * $fHeightMult; else if(frame < $iStopFrame) nurbsSphere1.translateY += $fHeightMult * sin(frame - $iStartOsc) * (($iStopFrame - frame) / $iStopFrame);