Go to: Synopsis. Return value. MEL examples.

Synopsis

makeRoll objectName groundHeight boxSimulation diameter

Creates an expression that simulates rolling an object on the ground. The rotation of the specified object is set based on the change in position from the last time the expression was evaluated. The start rotation values(for frame 1) are initially cached in dynamic attributes added to the object: startRotX,Y and Z. Look under the extra attributes block in the attribute editor to change these values. Note that one should keyframe the X and Z position of the object to animate, but not key the rotate values because the expression sets these using rotate commands. When the animation is satisfactory one should then bake the result, as scrubbing the time slider or rendering will otherwise have inconsistent results. Note that when the current frame is greater than 1 you can interactively move the object in x and z while seeing the effect of the rolling rotation. If you are using radians for your rotate values, you will need to remove "rad_to_deg" from the created expression.

Return value

None

Arguments

Variable Name Variable Type Description
None.

MEL examples

	// Create a 1 unit sphere rolling on the groundplane
  sphere;
  makeRoll nurbsSphere1 0.0 false 1.0;

	// Create a rectangular prism rolling on the groundplane
  nurbsCube;
  scale -r 1 2 3;
  makeRoll nurbsSphere1 0.0 true 1.0;

	// Create a card rolling on the groundplane
  plane;
  scale -r 1 0.7 1;
  makeRoll plane1 0.0 true 1.0;

	// Create a torus rolling on the groundplane
  torus -ax 0 1 0 -hr 0.5;
  makeRoll nurbsTorus1 0.0 true 0.5;