Table of Contents
- Overview
- What is the MST Mover?
- Major Features
- Known Limitations
- How to Create a New Avatar Movement Sequence.
- What you Need to Get Started
- Rez and Rename the MST mover
- Set the “Home” position
- Create a Movement Waypoint
- Set the new Waypoint’s Position and Rotation
- Edit Waypoint Name, Movement Speed, and Wait Time
- Saving Waypoints
- Showing and Hiding the Waypoint Markers, and Optional Particle Trails
- Deleting Waypoints
- Inserting New Waypoints into the Middle of a Movement Sequence
- Basic Movement – How to test Your Movement Sequence
- Stopping and Starting Movement
- “Riding the Mover”
- Integration with MST Eventlist Timelines
- Group Membership
- Pair the Mover to a Specific Eventlist
- Use Optimized Event Actions
- Using MST Movers in a rezzer, such as the MST Performance Engine
- Cameras are Built In
- (Optional) How to Control the MST Mover using Traditional Chat Commands
- Advanced Movement – How to Make Movement Timing More Precise with MOVETO
- What Causes Movement Lag?
- When to use MOVETO
- Precautions when using MOVETO
- Advanced Movement Patterns – Other Waypoint Tricks
- Movement Playback Segments.
- Movement Playback Loops.
- Using “moveto” with Coordinates instead of Waypoint Names.
- Private Waypoints
- Advanced Movement Patterns – Using multiple mover notecards (Beta 2021 Feature)
- Why multiple movement cards may be desired
- How to use different movement cards
- Advanced Feature – Using multiple animation engines with the same mover (Beta 2021 Feature)
- Why multiple animation engines may be desired
- Addtional Features / HowTos
- Easy Ways to Select Movers and Waypoints, even while Riding the Mover
- How to Change the Message Sent when Avatars Sit on the Mover.
- How to Move Objects instead of Avatars
- How to Create a New Movement Sequence that is a Left-Right Mirror Image of an Existing Sequence.
- How to Hide Empty Movers During a Show
- How to Give Other Avatars Control of your MST Mover for Collaboration
- How to Disable the Built-In Scripted Camera Feature
- How to Change the “Sit Here” Floating Text
- How to Disable Animation Invites when Avatars Sit on the Mover.
- How to Disable the Default “page-up / page-down” Height Adjustment Feature
- How to make visually smooth movement between waypoints, automatically
1. OVERVIEW
1.a What is the MST Mover?
The MST mover is a single prim that is both a movement sequence design tool and a production-ready movement choreography tool in one.
It allows you define a series of movement waypoints that you can use to move both avatars and objects around your performance area in very precise, smooth, and repeatable ways.
This mover is especially great for allowing your designed mover sequences to work collaboratively with others, even if you are offline.
1.b Major Features
- Very smooth movement and rotation, even when you are zoomed in tight to parts of the moving avatar.
- Movers rez in an immediate, ready to go state. No initialization, reseting, notecard reading, or waiting time is required.
- This mover can allow movement to any waypoint, in any order. It is not restricted to a single playback path.
- This mover can go anywhere within a single region. it’s not limited to size constraints.
- This mover can allow scripted movement sequences even if you have not defined waypoints in advance.
- This mover may be placed in different choreography groups while it is running, without having to edit notecards.
- Allows sub-sections of waypoints to be looped in various ways.
- Allows tight synchronization between movement, animations, and other timeline events.
- You may allow or disallow other avatars to control the mover, even on the fly without notecard editing.
- Allows specific waypoints to be named. This tactic can result in re-using waypoints for less memory, easier edits, and more readable timelines.
- Integrates easily with both MST Performance Engines and MST ChoreoHUD Director
- Does not require a separate designer piece, all of your movement details are kept in the same object.
- Allows easy insertion of waypoints
- Waypoints are searchable with area seach, when visible
- Allows “private waypoints” that exist outside of the normal linear playback path
This mover has been designed to work in places where the owner is not necessarily logged in or on the same sim, so the primary way you use it is via chat commands and blue dialog boxes. If you own the MST ChoreoHUD Director product, you also have the option of calling up the menu for each mover via a graphical HUD display.
1.c Known Limitations
- Movement of objects only works with “convex-hull” type objects with the physics equivalent of less than 64. To see the physics equivalent of your object, select it, open the build window, and click the “more info” little text link next to where it prints the Prim Equivalent(PE) weight.
- Crossing sims on the MST mover may be unreliable
- Extremely small changes in rotation may result in path errors. Typically this comes into play when rotating very slowly over a long path. This is a known issue with LSL’s “llSetKeyframedMotion” function. This can be avoided by moving at faster speeds, increasing rotation, or not rotating at all.
- When using the simple playback mode, movement timing can be affected by sim lag. This means by the end of a very long running movement sequence, there may be some timing drift. This is a known issue with LSL’s “llSetKeyframedMotion” function. See the section on “moveto” for possible ways to mitigate this effect.
2. How to Create a New Avatar Movement Sequence
2.a What you Need to Get Started
Go to your performance area or work area where you can rez objects. You may wish to rez your stage template and stage props to get a feel for your performance space.
2.b Rez and Rename the MST mover
Rez your MST Mover on the ground. It will look like a colored square with some chevrons on the top. Rename it something to represent the avatar or object that you are trying to move. For example “arrehnMover” or “elephant”. Try not to use punctuation or spaces- this can make troubleshooting harder than it needs to be later.
After renaming the mover, click it to pull up its menu, which will also cause its name hovering above it to change. You can close the window safely without choosing anything. Ensure that your new name shows up in floating text above the mover prim before continuing further.
The mover will also change color whenever its name changes. This is a normal feature to help you be able to distinguish movers from each other at a glance.
2.c Set the “Home” position
The MST Mover has a concept of its “home” location within a particular region. Whenever it is told to start moving, it will go to this location first. Whenever it is told to stop all movement, it will also return to its home location.
To set the home location, move and/or rotate your MST mover to the place on the region you want it to start. Then, click it and choose “set home” from the popup menu. If you would rather use chat commands, you can shout the chat command “/8 setmovehome arrehnmover” instead, with “arrehnmover” changed to whatever you have named your own MST mover.
Note: when you rez your MST mover, it will automatically set its home position to where it was rezzed. If you want the home to be some other location, follow the above procedure after rezzing. Setting a new home position will replace any older ones.
2.d Create a Movement Waypoint
You are reading to start creating a movement path! To do this you create a series of “waypoints” at particular locations. The mover prim will travel to these waypoints smoothly.
To create your first waypoint, click your MST mover and choose “New Waypoint”. You will see a small pill-shaped waypoint marker appear a short distance in front of your MST mover.
The color of the waypoint markers will match the hue of the mover that created it. As you create waypoints on the same mover, waypoints are progressively darker versions of the same hue. If you create enough waypoints, the brightness will repeat. These colors help you see at a glance which waypoints go with each mover, and in what order. Later on in this documentation you will see how you can draw particle paths to connect the waypoints for an even clearer picture.
2.e Set the new Waypoint’s Position and Rotation
You can right-click the waypoint and move and rotate it around your performance area. Place it in the location where you want to MST mover to move to, starting from it’s home spot, in a straight line.
If you have more complex movement paths in your mind, such as movement involving multiple steps, going around corners, going in curves, etc.. You will create these later by using a series of waypoints. However, for now just pick one single location, move your waypoint there, and rotate it is needed.
You can move your waypoint up, down, or anywhere in the region.
After you move your waypoint it may change color to red and tell you that it is “unsaved”. You can ignore this for now, we will cover saving in a later step.
2.f Edit Waypoint Name, Movement Speed, and Wait Time
Next you can click your waypoint and optionally set some waypoint parameters. By default waypoints are given a generic name such as “Waypoint 1”. You can rename them if you choose, this can move using them later easier in some cases. Rename a waypoint by clicking on it and choosing “rename” from the popup menu
Renaming your waypoints also let you find them in your viewer’s area search easier!
You can also set the “travel speed”. Movement speed is a measure, in seconds, of how long your mover should take to travel from it’s last postion (in this case, the home) and the waypoint. The lower the number of seconds, the faster it will move. You can set the travel speed by clicking a particular waypoint marker and choosing “speed” from the popup menu. This is a value only used by Simple Playback mode, and the minimum number of seconds is 0.2.
Finally you can set the “wait time”. Wait time is a measure, in seconds, of how long the mover should pause after reaching this waypoint, before it moves on to anywhere else. Wait time is only used for Simple Playback mode.
2.g Saving Waypoints
When you are happy with the way your waypoint is configured, click the waypoint and choose “Save” from the menu. Always make sure to save unsaved waypoint markers before adding a new waypoint. When you save, you will see your waypoints briefly disappear and then return. This is how you know they were saved properly.
NOTE: This “save” is only a temporary save. It will last until the MST Mover’s inventory changes or its scripts are reset. To save your waypoints permanently, you should first save as usual by clicking on all red unsaved waypoints and choosing “save”, then click the MST mover once and choose “Printmove”. This will print out a number of lines in nearby chat. This list will look something like this:
Example:
WAYPOINT=home,<0.000000, 0.000000, 0.000000>, <0.000000, 0.000000, 0.000000, 1.000000>, 0.200000, 0.000000
WAYPOINT=waypoint1,<0.000000, 0.000000, 12.630370>, <0.000000, 0.000000, 0.000000, 1.000000>, 1.000000, 0.000000
WAYPOINT=waypoint2,<-0.687103, 0.000000, 0.906403>, <0.000000, 0.000000, 0.000000, 1.000000>, 8.000000, 0.000000
WAYPOINT=waypoint3,<-0.780853, -0.493500, 4.047516>, <0.000000, 0.000000, 0.000000, 1.000000>, 3.000000, 0.000000
WAYPOINT=waypoint4,<0.000000, -1.618942, 3.736115>, <0.000000, 0.000000, -0.972370, 0.233445>, 1.000000, 0.000000
WAYPOINT=waypoint5,<2.004822, 0.025909, 2.606476>, <0.000000, 0.000000, -0.052336, 0.998630>, 2.000000, 0.000000
You should copy all of the lines that start with “WAYPOINT” into your clipboard, then open up the “~MOVELIST” notecard inside the mover, and paste these lines into the end of the notecard. Remove all previous WAYPOINT lines. The mover will automaticallly load the new notecard as soon as you save it. After the notecard is reloaded, any waypoints shown will disappear. You can show them again by clicking on the mover and choosing “Show waypnts” and they should all come back in the correct positions, proving that your notecard was saved correctly.
You may notice that there is a waypoint at the beginning called “home” that you may not have added. This waypoint always exists, to mark the mover’s home position. Even if you leave it out of the notecard, it will silently be added back. This waypoint is not shown when showing waypoints because the floating text would make the mover difficult to read.
You may optionally remove the timestamps before the “WAYPOINT” lines, but if you forget it is ok. The mover will ignore the timestamps.
2.h Showing and Hiding the Waypoint Markers, and Optional Particle Trails.
At any time you can hide the waypoint markers by clicking the MST Mover and choosing “Hide waypnts” from the menu. If you want to make them visible again. click the MST Mover, choose “Stop Move” to ensure it is in its home position, then choose “Show waypnts”.
Is is normal for the waypoint markers to all share a similar color hue. The color of the waypoint markers will grow darker as the sequence of them increases, so you can visuallly get an idea of their order.
Some people find it helpful to see particle trails that connect each waypoint to another, so you can see the pattern of travel. To see these, use the “Show trails” and “Hide trails” menu options when clicking the MST mover, similar to “Show waypnts” and “Hide waypnts”.
This option will show the waypoints connected by particle trails. Note: Make sure you have particles enabled in your viewer to see them.
2.i Deleting Waypoints
If you want to delete a waypoint, you can click that waypoint and choose “Delete”, or simply remove the line for that waypoint from your ~MOVELIST notecard and resave it.
2.j Inserting New Waypoints into the Middle of a Movement Sequence
If you wish to insert new waypoints, click the wayoint before or after the place where you desire to insert a new waypoint, and click the appropriate menu choice- either “insert before” or “insert after”.
If you wish to completely rearrange the order of your existing waypoints, you might be able to save time by opening the mover’s ~MOVELIST notecard and rearranging or relabelling the lines inside. Experiment with changes, save, and choose “Show trails” to see if you have the desired behavior.
3. Basic Movement – How to Test Your Movement Sequence
3.a Stopping and Starting Movement
To see what your movement sequence will look like, you can use the mover to activate “Simple Playback Mode”. First, click your MST Mover and choose “Stop Move”. This will reset your mover to its home and is always a good practice to get into before starting a test. Next, click the MST Mover again and choose “Start Move”. You should see the mover begin to travel to each of the waypoints you have created, in sequence,with speeds and pauses that match the parameters you have set for each waypoint. When your movement sequence finishes, you can click the MST mover a third time, select “Stop Move”, and it should reset back to its home position.
The MST mover will NOT appear to move if you have it selected with the build tool. Make sure the mover is deselected before telling it to start movement. You do not need to sit on the mover to test its movement.
At this point you can make adjustments to the waypoints as needed to satisfy your vision, such as increasing the speed of certain segments, adjusting the pauses, position, rotation, or adding more waypoints. Remember to “save” each waypoint after making a change, and remember to use “printmove” and save the new movement sequence into the MST Mover’s notecard when you’re happy with the waypoints.
3.b “Riding the Mover”
You can have your avatar “sit” on the mover to ride it as it travels through it’s movement sequence. The is best done when the MST Mover is stopped and in its home position and you have already added the mover to a group in your MST performance engine’s eventlist.
When you sit on the mover, your avatar will be prompted to allow a nearby performance engine to trigger animations. Accept this permissions dialog. Your MST Mover will also become invisible while you sit on it. This is normal. It will become visible again after you stand up.
If you do not receive a permissions dialog your avatar may look like it is stuck in an awkward sitting pose above the mover. This happens when the mover cannot find an MST performance engine or MST ChoreoHUD Director nearby. Ensure one of the above tools is rezzed or worn, and optionally open the mover’s “~MOVELIST” notecard and enter in the name of your MST performance engine or ChoreoHUD next to “MSTCONTROLLER=”.
When first sitting on a mover but before it starts moving, you may use the ‘pageup’ and ‘pagedown’ keys, or the ‘e’ and ‘c’ keys to adjust your avatar up and down so that your feet touch the floor properly. You can also use your viewer’s hoverheight setting for this.
4. Integration with MST Eventlist Timelines
MST Movers are specifically optimized to work with the eventlists of MST Performance Engines or ChoreoHUD Director. When you are using either of these tools below are some important steps to perform.
4a. Group membership
Ensure that your mover name is listed in at least one group definition line in the eventlist. For example, if you want your mover to be used in group “dancers” and your mover is named “arrehnMover” your group definition should look something like:
@group dancers|arrehnMover,someOtherMover,yetAnotherMover|waiting
4b. Pair the Mover to a Specific Eventlist
If there are multiple MST performance engines or ChoreoHUDs around, you should ensure your movers only respond to a particular one, for predictability and safety. To accomplish this edit your mover’s “~MOVELIST” notecard and add the name of the performance engine or ChoreoHUD after the ‘MSTCONTROLLER=’ option. For exampe, if your performance engine is called ‘arrehnFlamenco’, the line would look like:
MSTCONTROLLER=arrehnFlamenco
4c. Use the Optmimized Event Actions
While you can use mover chat commands in section 5 in your eventlists for maximum flexibility, the following event action commands are optimized to perform well in crowded, stressed regions:
MOVESTART
This can be used to start the simple playback sequence, using the speed and wait times you have specified at each waypoint. If you use MOVESTART within a group, it will apply to every mover in that group. You can also specify a specific group, movername, or “all”. For example:
MOVESTART
MOVESTART:arrehnMover
MOVESTART:backupDancerGroup
MOVESTART:ALL
MOVESTOP
This command will stop all movement and reset MST Movers to their home positions. If you use MOVESTOP within a group, it will stop and reset every mover in that group. You can also specify a specific group, movername, or “ALL”, similar to MOVESTART above.
MOVEPAUSE
This command will immediately pause movement. It can be restarted again using “MOVESTART”. Be careful when using this command, as using it more than once during the same movement sequence can be unreliable. It takes the same optional group and mover options as MOVESTOP and MOVESTART.
MOVETO
The “MOVETO” command is sophisticated and can be used to bring the mover to any waypoint, at any speed, in any order. When using MOVETO you specify a waypoint name and a speed, and the speed and/or wait times you set on the waypoints are ignored. MOVETO also has the side effect of being more resistant to region lag than MOVESTART, but as a tradeoff it requires using many separate commands in your eventlist instead of only one.
If you set the speed to ‘0’ or leave it blank, the movement will be near instant. We will discuss the nuances of using this command later in this document. When used in the event list, it will move all movers in the current group to the specified waypoint at the specified speed. It can also be used with specific movers, as shown in the following examples:
MOVETO:waypoint1
MOVETO:arrehnMover waypoint2 3.5
MOVETO:backupDancerGroup waypoint3 2.0w
MOVETO:ALL home 2.0
4.d Using MST Movers in a Rezzer, such as the MST Performance Engine
The MST Mover is made to fully support being rezzed on demand, as part of an act, the same as any other prop that would show up on stage. It does not need long initialization times after rezzing, it’s ready to go. Packing your MST movers in your rezzer system is the recommended approach if you have planned enough time to rez your set and get your avatars on movers, before your act is due to start.
Not every show allows enough time for props to rez and avatars to find their place, before the show is due to start. For example, If your internet connectivity is very slow or sporadic, it may take you too long to see the results of rezzing props and movers. In cases like this, you may wish to leave your MST mover outside of a rezzer, in its home position backstage.
In these cases where you are leave the mover backstage, you way also wish to pack the mover in a rezzer as normal, but use a “NOREZ” line in in your PACKLIST notecard. This allows you to keep all of your work in a single location and gives you a backup in case your backstage mover is missing, out of place, or not behaving as you expect. You may also wish to read the secion on using private waypoints along with private groups to handle your pre-show and post-show setup movement.
4.e Cameras are Built In
The MST Mover already contains a camera client. An avatar riding the mover does not need to wear a camera HUD to see scripted camera movement. Do not wear a camera HUD and ride the mover at the same time, or you will see all scripted camera motion twice and this can cause stuttering-like effects.
5. (OPTIONAL) How to Control the MST Mover using a Traditional Chat Command
Chat commands are sometimes helpful for achieving rare special effects or integrating with other tools. Every action that the MST mover can perform via the blue dialogs, plus many more, can also be performed via chat commands. Below we will show some examples of chat commands that can used to trigger simple playback movement, similar to what you used to test in section 3.
To stop movement, returning an MST mover to its home position, you can shout the “/8 stopmove arrehnmover” command to send a stop command on channel 8. You should replace “arrehnmover” with the name of your specific MST mover object. Below are some examples of how to use this chat command:
/8 stopmove movertest (This will stop the movement sequence only for the mover named "movertest"
To start movement, you can use the command “/8 startmove arrehnmover”, replacing “arrehnmover” with the name of your specific MST mover object, similar to how you stopped movement above.
/8 startmove movertest (This will start the movement sequence only for the mover named "movertest"
In general when you use chat commands you will need to specify the name of the mover right after the command. The movers are designed to share a channel but look for their name for each command. If you want to see a full list of mover chat commands you can shout “/8 help”. The full list can be found below:
How to read the syntax:
< > means “this parameter is required”, and you do not have to type the “<” and “>” characters.
[ ] means “this parameter is OPTIONAL”, and you do not have to type the “[” and “]” characters.
<something>|<somethingelse> means that you can choose EITHER the “something” parameter, or the “something else” parameter, but not both at once. You do not type the “<“, the “|” or the “>” characters.
startmove [<mover_name>|<group_name>] [start_waypoint] [end_waypoint] [loop|rev|pingpong] stopmove [<mover_name>|<group_name>] pausemove [<move_name>|<group_name>] moveto <mover_name>]|<group_name> (<pos> <rot>|<waypoint>) [seconds] newwaypoint [movername] printmove [<mover_name>|<group_name>] setmovehome [<mover_name>|<group_name>] hidewaypoint <mover_name> [waypointname] showwaypoint <mover_name> [waypointname] deletewaypoint <mover_name> [waypointname] newwaypoint <mover_name> precache <mover_name> camon <mover_name> camoff <mover_name> hidemove <mover_name>|<group_name moveranim <move_name>
You may see the above like by typing “/8 helpmove“
6. Advanced Movement – How to Make Movement Timing More Precise with MOVETO
6.a What Causes Movement Lag?
Movement sequences are affected by your region statistics. If your region is very busy, full of avatars and scripts, it is very possible for movement to take longer than it is supposed to last. For example, if you have created a movement sequence that moves to five waypoints for a total movement time of 30 seconds, this may take longer on a busy region. It may take 31 seconds, or 35 seconds, etc. In general, the longer the sequence, the more of a drift effect that can be seen when the region is under stress. This behavior is a consequence of Second Life’s physics engine and is difficult to predict.
This movement lag can make it very difficult to tightly choreograph avatar animations, music, and effects that you wish to trigger at the same time as movement.
One way to compensate for this is to change how he mover plays back a sequence. Normally you would tell the mover to “start” and accept that it may be affected by lag. An alternate command to start is “MOVETO”. This command can be used to tell the mover to move to particular waypoints at particular exact times. This method requires more chat commands overall, but in exchange for more chat commands you gain tighter timing.
MOVETO can be used either as an MST Eventlist command (preferred) or as a generic chat command.
6.b When to Use MOVETO
Use the “moveto” methods in the following situations:
- When you need movement to perfectly match animations near the end or middle of your act, which might otherwise be affected by movement lag.
- When you need to move from point A to point B near instantaneously, faster than 0.2 seconds.
- When you want to wish to move to waypoints in a dynamic, changeable way that isn’t pre-programmed in advance. Waypoint order and movement speed can be changed on the fly.
- When you regularly move to the same location and you’d rather use a single waypoint for it than have many waypoints on top of each other.
SPECIAL NOTE: When you use the “moveto” commands, the speed and pause times you defined for a waypoint in the sequence builder are both ignored. The speed you specify with the moveto command replaces the speed you set on the waypoint in the sequence builder. Instead of specifying a pause time, you simply wait the right amount of seconds before sending the next moveto command.
6.c Precautions when Using MOVETO
When you use MOVETO, you have to send a MOVETO command for each waypoint you wish to visit. For example if you have five waypoints, you could use “MOVESTART” and watch the mover visit all five in order. However if you use MOVETO, you need to tell it to go to each one. Example:
0.0|MOVETO:MyGroup1 waypoint1 2.0
2.1|MOVETO:MyGroup1 waypoint2 4.5
6.7|MOVETO:MyGroup1 waypoing3 3.0
9.8|MOVETO:MyGroup1 waypoint4 10.0
19.9MOVETO:MyGroup1 waypoint5 5.5
Notice in the above example I have left about 0.1s of padding between each movement. It is a good idea to leave some padding but not required.
Because MOVETO requires so many extra commands , you have to take care not to send too many commands during the same moment of time, or some may be delayed or even lost. To avoid this, try use MOVETO with groups whenever possible instead of individual movers, so you are moving many movers with a single command. If you must move your movers individually, avoid moving them at the exact same time.
7. Advanced Movement Patterns – Other Waypoints Tricks
7.a Movement Playback Segments
You may optionally decide to use the Simple Playback Mode only a certain segment of your larger movement sequence, by specifying startWaypoint and endWaypoint arguments to the “/8 startmove” command. For example:
/8 startmove movertest waypoint2 waypoint5
(This will start the movement sequence only for the mover named “movertest” and perform the movement only from waypoints2 through waypoint5. Please note that there are spaces between the name of the mover, and each of the waypoints.)
As with other startmove commands, you should specify a group or movername.
NOTE: You should move your mover to the desired starting location for the above sequence first, before using “/8 startmove…”. This can be done by using a moveto command if your mover doesn’t start at the correct place already.
7.b Movement Playback Loops
When using simple playback mode, you may optionally decide to play all or some of your movement sequence in a loop, by specifying either “loop” “rev” or “pingpong” after your “/8 startmove” command. For example:
/8 startmove movertest waypoint2 waypoint5 loop
(This will loop the movement sequence between waypoint2 and waypoint5)
/8 startmove movertest waypoint2 waypoint5 rev
(This will play the movement sequence between waypoint2 and waypoint5 in reverse)
/8 startmove movertest waypoint2 waypoint5 pingpong
(This will loop movement sequence between waypoint2 and waypoint 5 back and forth.. first playing it forwards, then backwards, then forwards again, etc.)
7.c Using “moveto” with Coordinates instead of Waypoints
The chat moveto commands are very flexible, and do not even require you to set up a waypoint ahead of time. You may pass position and rotation values directly with the moveto command, for example:
/8 moveto movertest <1.0,0.0,0.0> <0.0,0.0,0.0,1.0> 5.0
The above command would slowly cause the mover named “movertest” to slide 1 meter forward over the course of 5 seconds. Most people will probably not use this functionality, but it can be very handy when the list of specific waypoints cannot be known in advance, or there are so many waypoints required that they cannot all be added to the ~MOVELIST notecard and fit into memory.
NOTE The positions and rotations specified should be relative to the mover’s home position.
7.d Private Waypoints
Sometimes you wish to use simple playback mode with MOVESTART, but also at the same time want to have waypoints that are not part of the MOVESTART sequence. These can be useful for making waypoints that are intended to be used before or after the main part of the show. This is particularly useful for people who leave their movers rezzed semi-permanently backstage.
If you want to make a waypoint “private” and ignored by MOVESTART, rename it so that it starts with a “!” character. When you do this the color of the waypoint will change to white, and you will be unable to set a speed or wait time, because this waypoint now can only be used by MOVETO commands. The main MOVESTART command will ignore it.
8. Advanced Movement Patterns – Using multiple mover notecards (Beta 2021 Feature)
8.a Why multiple movement cards may be desired
When using a very large number of waypoints you may need to split your movement up between two or more movement notecards. Each notecard can typically hold around 50-70 waypoints depending on how you name them. Shorter waypoint names use a little less memory. You may also wish to use multiple movement notecards even when you are not low on memory, if you wish your mover to have two or more distinct travel sequences. For example, if you wished to keep travel from backstage onto centerstage while the theater curtain is down, seperate from stage movement sequence that happens while the stage curtain is up.
8.b How to use different movement cards
First, create a new notecard (typically by copying a default ~MOVELIST notecard) and place it in the mover’s inventory. Be sure to name this new notecard something unique so you will not confuse it with the usual ~MOVELIST card.
Second, for each notecard you add to the mover (beyond ~MOVELIST), add both a “~moveReaderN” and “~moveMgrN” script. These scripts can be found in your MST Box in an item called “MST – Optional Scripts for more dancers and longer movers”. “N” will be a number, and you should be careful to add them in order. For example, if you wish to use a total of three movement notecards (~MOVELIST, and then two others), you should add the following scripts to your mover: “~moveReader2″ ,”~moveMgr2″ ,”~moveReader3″,”~moverMgr3”.
Once the new scripts have been added, and notecards configured you can change notecards for designing the waypoints by clicking the mover and choose “Select Card”.
When playing back movement, you can use an EVENTLIST command “MOVECARD:NameOfYourMovementCard” to change cards. Or you use a chat command “/8 setnotecard yourMoverName yourNotecardName”.
Example:
0.0|SAY:0:Starting VLP Example 1. Starting movement of first notecard
0.0|ANIM:The Robot
0.0||MOVESTART
9.0|SAY:0:Starting movement of second notecard
9.0|MOVECARD:A_Different_Notecard
9.5|MOVESTART
9.5|ANIM:Figure Eight
25.0|STOP
Note: When changing movement notecards, the previous notecard’s movement will automatically be stopped.
9. Advanced Feature – Using multiple animation engines with the same mover (Beta 2021 Feature)
8.a Why multiple animation engines may be desired
Sometimes you have a very long animation sequence that cannot fit in any single MST Performance Engine or ChoreoHUD. In this case, you can tell your mover to accept animation control from multiple sources. You can do this by editing the mover’s ~MOVELIST notecard and adding additional “MSTCONTROLLER=” lines, each line specifying a different engine.
Some choreographers also wish to use multiple animation sources just to provide redundancy or allow staff members to share duties. If the animation engines are owned by different people, make sure to also add an ALLOW= line in your ~MOVELIST notecard for each other animation engine owner, other than yourself.
Example:
# Set the name of your MST Engine or ChoreoHUD below. Setting this will improve performance.
# If you are using the ChoreoHUD to run your movers, you MUST use the choreoHUD's name here.
MSTCONTROLLER=arrehnPE_cabaret
MSTCONTROLLER=johndoeChoreoHUD_cabaret
ALLOW=Johndoe Resident
NOTE: When multiple animation engines are paired to a mover, anyone sitting on that mover will receive animation permission requests from each engine listed. To avoid permission request spam, it is suggested the the animation engines be configured to to use the “MetaHarper Immersive Theater” land experience, if possible, by edited each engine’s “MST_CONFIG” notecards and setting “USE_EXPERIENCE=YES”.
10. Addtional Features / HowTos
10.a Easy Ways to Select Movers and Waypoints, even while Riding the Mover
If you are looking for a way to select the mover and access it’s click menu without using your viewer cameras, there are a few methods available.
Method 1 is “Area Search”. Pull open your viewer’s Area Search window (usually accessed under “World”) and search for the name of your mover or the name of your waypoint. From the list of results you may right-click any line and select “touch”.
Method 2 is “chat commands”. Most commands to manipulate your mover can be accomplished via chat commands. For a list of all commands you can type “/8 help” when standing near your mover, or find examples on this documentation page.
Method 3, if you own the “MST Choreo HUD Director Edition” is to use the Mover Tab in your choreoHUD. From this tab you can select movers in the area and click the edit icon to access that mover’s click menu.
10.b How to Change the Message Sent when Avatars Sit on the Mover.
When you first sit on the mover it will send you a welcome message in your chat. You can change this message by adding a line to your ~MOVELIST notecard that starts with “WELCOME=”. For example, you could add this line to your ~MOVELIST notecard:
WELCOME=Make sure to tell the director you're ready to go and set your home position here.
10.c How to Move Objects instead of Avatars
By default, the mover is a good size and shape for avatars to ride. If you want to move an object instead of an avatar, here’s what to do.
First, turn off some of the special effects that only apply to avatars by adding this line in your ~MOVELIST notecard:
@nofx
At this point you can make the MST mover transparent, resize it if needed, and link it it with the object you wish to move. If you link the mover to other objects keep in mind that the MST mover must be the “root” object, and that the prim accounting type should be set to “Convex Hull”, and the PE value should be less than 64.
10.d How to Create a New Movement Sequence that is a Left-Right Mirror Image of an Existing Sequence.
It’s fairly common for people to want to make movement on the left of their performance area be a mirror image of movement on the right of their performance area. The MST mover supports this concept.
To mirror movement, first create the waypoints for the left or right side and save the waypoints to the ~MOVELIST notecard. Next, make a copy of the MST Mover and rename it something new. Finally, click the newly copied mover and choose the “Mirror” option from the pop up dialog. After doing this, print out the waypoints and re-save the new values to the ~MOVELIST notecard.
10.e How to Hide Empty Movers During a Show
Sometimes you may want to make the green MST viewers temporarily invisible.
To hide the MST Mover you can simply make it transparent, or pick it up. You can also click the mover and choose ‘hide’ from its menu to toggle whether it is hidden or not.
You also can send a special command to tell movers to hide themselves.
/8 hidemove NameOfYourParticularMover
This command is temporary– The mover will reset to its normal state whenever its scripts reset or an avatar riding on it stands up.
10.f How to Give Other Avatars Control of your MST Mover for Collaboration
You may optionally allow other avatars to collaborate with you and send chat commands to your MST mover or make changes to waypoints. To do this add “ALLOW” lines to your “~MOVELIST” notecard with the names of the avatars you wish to share with. For example:
ALLOW=Arrehn Resident
Note: You can use full names, usernames, or UUIDs, but you cannot use “Display Names” because Display Names are able to be impersonated. Make sure the spelling and capitalization is exact, and if the avatar you are sharing with doesn’t have a last name make sure to add “Resident”.
In addition to adding this line, you may need to check the “share with group” box in the viewer build window for your MST mover, and/or grant “allow object rights” to your collaborators, in order to allow the avatar to make direct edits to your ~MOVELIST notecard.
10.g How to Disable the Built-in Scripted Camera Feature
You can add the line:
@nocam
to the ~MOVELIST notecard to disable the scripted camera feature.
10.h How to Change the “Sit Here” Floating Text
In the ~MOVELIST notecard, you can use the FLOATTEXT option to set the floating next above the mover to something other than “Sit Here”. Example:
FLOATTEXT="Arrehn's Set"
10.i How to Disable Animation Invites when Avatars Sit on the Mover
If you have linked your mover to something that has its own animation poses, you might not want someone sitting on the mover to receive an animation invite from a metaharper performance engine or ChoreoHUD. If this is the case you can use the following option in the ~MOVELIST notecard:
@noanim
10.j How to Disable the Default “page-up / page-down” Height Adjustment Feature
If you have linked your mover to an object that already captures the page up/pagedown/e/c keys, you might not wish the mover to try and use these button presses to adjust a rider’s height. In this case you can disable the mover’s default behavior by using the ~MOVELIST notecard option:
@noadjust
10.j How to make visually smooth movement between waypoints, automatically (auto time)
If you have want to make your mover appear to travel at the same rate between many waypoints, some which are close together and some further apart, this can be accomplished automatically. Sometimes this is called also called a “normalize time” function. This can be accomplished by clicking your mover, using the [>> More] button, and selecting “Auto Time”. You can feed it the waypoint to start from, waypoint to end with, and total travel time in seconds. It will automatically compute the arrival times of all the waypoints in between for you. Be sure to save re-print your movelist list after using this feature so you can update the MOVELIST notecard.