Rotate Command:

The rotate command causes an object to rotate around one or more axes. The rotation occurs around the center of the object. You must type each option in the order that they are listed below. All but the "y" rate setting can be left out as the rest are optional for this command. The hardest concept to grasp with this command is what the numbers mean for the "x y z" values. What you need to type in those fields is a number that expresses "RPM" (revolutions per minute). I guess you could almost call it a speed value. A simple example would be: create rotate 2 (you need not type x=, y= or z= with these 3 values along with the fact that since sync is the default, only nosync need ever be typed). This example would make the object slowly rotate as if on a turntable twice in one minute.

1. (create, activate, bump or adone) rotate x=___ y=___ z=___ (sync OR nosync) time=_____ name=_____

2. x=___ is the RPM in the left-right direction axis when facing the front side of the object (like a roller in a large printing press)

3. y=___ is the RPM in the up-down direction axis when facing the front side of the object (like a merry-go-round)

4. z=___ is the RPM in the forward-back direction axis when facing the front side of the object (like hands on a clockface)

Note: Only the y=___ is required to be filled whenever you use this command. If you want it to rotate in one of the other directions or all three, you must show a number for all 3: create rotate 2 2 0 (if you don't want it to rotate at all in one particular axis, just type 0). Also, many objects are not always aligned perfectly along their centers so they will "wobble" or even spin in circles if it is far enough off-center.

5. The sync and nosync control how users see the motion. The default is sync which makes it possible to create a rotating object that appears to be at the same rotation for all users (so you never really have to type sync). You type nosync when you use "activate" or "bump" triggers for rotate. Doing that assures the user who clicked or bumped sees the entire rotation from the beginning.

6. time=_____ specifies how long the object rotates in seconds. After time elapses, the object stops rotating and stays at its final position. Imagine the possibilities in this little trick, eh? lol If a time is specified, the nosync flag is switched to being the default (so is not needed for activate and bump triggers that use time=_____) because timed rotations cannot also be synced. The default, if you don't use time=_____, is 1. When you try to time the action with time=_____, it can sometimes be confusing to figure out what the rpm should be for the x=___, y=___ or z=___. There is actually a simple formula for this, sorry about the algebra, folks heheh:

rpm=a/(6xt)

> a is the desired angle and t is the time to rotate. For example, say you want a door that rotates 90 degrees in 2 seconds. The rpm for the y axis would be:

90/(6 x 2) =

90/12 =

7.5 rpm

So your final command would be: create rotate 7.5 time=2

7. name=______ specifies the name of another nearby object to apply the rotate command to if the object being clicked or bumped isn't the object you want to rotate. You have to use "create name ______" on whichever object you choose that will rotate then use the name you typed in that in the name=______ in the rotate command. The default, if you don't use name, will be the object that this command is typed into.