# Revolve

The primary output of the Revolve Channel Modifier is a world space distance traveled along a specified vector, as well as the distance traveled. This modifier also has channels to compute a rotation value from a given radius and a percentage traveled along a specified length. (You can use the rotational value for driving wheels on a vehicle.)

Input: Position: Links the World Position transform of the item whose movement is being measured.

Input: Rotation: Links the World Rotation transform of the item whose movement is being measured.

Input: Radius: With a radius set in this channel, the modifier calculates the rotation required to roll a cylinder over the distance traveled without slipping and passes it to the Angle Output channel.

Input: Length: Given this length, the modifier passes the percentage of this length traveled to the Percentage Output channel.

Input: Adjust: Use this channel to alter the outputs of the modifier. By default, this is set to 100% and the output is not affected. By setting this to 0%, the output is static; at 200% the output is doubled. This value can be used for things like braking, wheel slip, and so forth.

Input: Axis: This specifies which direction vectors (defined by the Position and Rotation transform inputs) Modo uses to work out the distance traveled.

Input: Negative Axis: Selecting this causes the modifier to use the negative axis of the one specified in the Axis channel.

Output: Angle Output: This is the angle of rotation calculated from the Radius channel. Connect this to one of the rotation channels on the Rotation transform of the driven item.

Output: Percentage Output: This is the percentage of the Length input channel traveled. For example, if the distance traveled is twice as long as the input length then the output is 200%.

Output: Distance Output: This is the total distance traveled of the driver item along the vector specified by the Axis channel.

#### Notes on using Revolve

Reset Cache: This modifier uses a cache to store the total distance traveled. You may have to reset this cache periodically when working in the scene — especially after a lot of scrubbing or jumping to different points in time. Click the Reset Cache button found in the Properties sub-tab for the modifier.

Network Rendering: Scenes using this modifier require that the output be baked and the modifier removed (or its outputs unlinked) to render over a network. This is not necessary when rendering locally if the frames being rendered are in sequence. It is best to reset the cache on each modifier before baking or rendering locally. Modo does not store the caches in the scene file, so they get reset automatically when you reload the scene.

Dependency Loops: To avoid a dependency loop, do not use the World Position and Rotation channels of the item being driven as inputs to this modifier. Create a locator at the same position as the driven item and parent the driven item to it. You can then use the World Position and Rotation channels of the locator as inputs for the modifier.