Relative Mover

Relative Mover is a tool which moves a collection of objects from one location to another while preserving their relative positions/rotations.

Examples

  • 1) It can be used to move a house/venue from one part of a region to another.
  • 2) It allows you to design your house/venue in the sky then move it all to the ground once it’s finished.
  • 3) It can be used to orient a structure in another direction.
  • 4) Can be used to rotate objects around a pivot.
  • 5) You can temporarily move a structure into the air, eg for terraforming, then move it back afterwards.
  • 6) You can move a whole structure to another region.

See below for step-by-step instructions for each of the above examples.

Getting Started

  • We will be moving the building from the start position (left-hand side) to the end position (right-hand side). The colours and the floor plan are just to illustrate what is happening in this example. The building is made from three objects, each shown in a different colour. Pic 1
  • Step 1: Drag “Marker” from your inventory to the ground. Place it anywhere near the objects you want to move. Pic 2
  • Step 2: Drag “Marker” from your inventory to the ground. Position/orient the Marker where you want the objects to move to. In this example the building is facing in another direction, so we’ve rotated the Marker. Pic 3
  • Step 3: If the two Markers are a long distance apart, click the Marker and select “Teleporter” from the menu. Click the sphere which appears and you’ll arrive back at the start position. Pic 4
  • Step 4: Drag “Move Object” from your inventory onto an object you want to move. Pic 5
  • The object will move from the first Marker to the second Marker while keeping the relative position/rotation. Pic 6
  • Step 5: Drag “Move Object” onto the other objects you want to move. Pic 7
  • Step 6: Click one of the Markers and select “Finish” > “Markers” from the menu. All scripts and both Markers will be removed. Pic 8

Features

  • Move any number of objects from one position to another.
  • Preserves relative positions and rotations for all objects.
  • Markers automatically assign themselves as “Start” and “End”.
  • Both Markers are coloured/numbered to help you visually compare the rotations of each Marker. This helps you orient the End Marker in the target location.
  • Markers are labelled “Start” and “End” on all faces so you can distinguish them.
  • Can fine adjust the position of the marker in real-time and the positions/rotations of all objects will be adjusted to match.
  • Can optionally use a single Marker instead of two Markers.
  • You can resize a Marker if this helps you position it relative to the nearby objects. The other Marker will automatically be resized to match. For example you may like to resize the Start Marker to fill the floor space occupied by the objects – The End Marker will represent the space where all the objects will be moved to.
  • Menu option to switch the position of Start and End Markers. All objects will switch locations too.
  • Built-in teleporter so you can instantly move between each Marker.
  • Warns you if the target position is on a different parcel. This reminds you to check that the parcel’s settings are sufficient.
  • Automatically prevents objects being moved off world or below ground.
  • Prevents objects moving between Markers if the parcel permissions has scripts/object-entry disabled.
  • When an object is moving to another group-owned parcel, the group of the object is checked before it’s allowed to move. This helps avoid objects being removed due to parcel auto-return etc.
  • When you place the script into an object it automatically prefixes the object name with “[*]“. This means you can take them to your inventory and know which objects have the script inside. It will revert back when you select “Finish” from the menu.
  • Custom communication channels are used for each owner to prevent any overhead from cross-talk if multiple avatars are using this tool.
  • Prevents the script being placed in child prims by mistake.
  • Automatically purges scripts after 48 hours of no activity, in case you forget to select the “Finish” menu option.
  • Built-in measurement tool. Shows distance between the two Markers.

Example 1 – Move a house/venue from one part of a region to another.

  • Step 1: Drag “Marker” from your inventory to the ground. Place it anywhere near the house/venue.
  • Step 2: Visit the target destination then Drag “Marker” from your inventory to the ground. It will automatically be set as the “End” Marker.
  • Step 3: Adjust the position/rotation of the “End” Marker as needed. If for example all your objects are in front of the yellow face of your Start Marker, then after the objects have been moved they’ll be in front of the yellow face of your “End” Marker too, even if the “End” Marker is facing in a different direction.
  • Step 4: Drag “Move Object” from your inventory onto one of the objects of your house/venue.
  • Step 5: Visit the destination and check that the object is there as expected. Use the “Teleporter” option in the Marker to get there quickly.
  • Step 6: Repeat step 4 for every other object you wish to move.
  • Step 7: Return to the destination location, then adjust the position/rotation of the “End” Marker if required. All the objects will automatically adjust.
  • Step 8: Click the Marker (doesn’t matter which) then select “Finish” then “Marker“. This will remove all scripts and both Markers will be removed too.

Example 2 – design your house/venue in the sky then move it to the ground.

This is essentially the same situation as example #1.

  • Step 1: Drag “Marker” from your inventory to the floor of your house/venue. Ideally place it outside the entrance because this will help you determine where you should put the other Marker later on.
  • Step 2: Visit the ground then Drag “Marker” from your inventory to the ground.
  • Step 3: Adjust the position/rotation of the “End” Marker as needed.
  • Step 4: Drag “Move Object” from your inventory onto each object you want to move.
  • Step 5: Return to the destination location (Tip: use the builtin “Teleporter” option to get there quickly), then adjust the position/rotation of the “End” Marker if required. All the objects will automatically adjust.
  • Step 6: Click the Marker then select “Finish” > “Marker“. This will remove all scripts and Markers from the region.

Example 3 – Orient a structure in another direction.

  • Step 1: Drag “Marker” from your inventory to the ground. Place it near the center of the structure.
  • Step 2: Drag “Move Object” from your inventory onto each object in your structure.
  • Step 3: Rotate the Marker. All objects will automatically adjust. Note that if you want to snap the structure to the nearest 90 degrees just hover your mouse cursor over North, East, South or West as you’re rotating the Marker.
  • Step 4: Click the Marker then select “Finish” > “Marker” to cleanup all the scripts and remove the Marker.

Example 4 – Rotate objects around a pivot.

  • Step 1: Drag “Marker” from your inventory to the ground. Position it so it represents your pivot point.
  • Step 2: Drag “Move Object” from your inventory onto each object you want to move.
  • Step 3: Rotate the Marker. All objects will rotate around the pivot point while maintaining their relative position/rotation.
  • Step 4: Click the Marker then select “Finish” > “Marker” to cleanup all the scripts and remove the Marker.

Example 5 – Temporarily move a structure into the air.

  • Step 1: Drag “Marker” from your inventory to the ground. Anywhere near the objects will be fine.
  • Step 2: Right-click the Marker and select “Edit”.
  • Step 3: While holding shift, click the upwards arrow and drag it up. A second Marker will be created.
  • Step 4: Because of the way shift-drag works in Second Life, the Start marker will now be in the air. Click either Marker and select “Switch“. The Start marker will now be on the ground.
  • Step 5: Drag “Move Object” from your inventory onto each object you want to move. Each object will move into the air.
  • Step 6: Do whatever it is you need to do while the objects are out the way!
  • Step 7: Click one of the Markers (doesn’t matter which) and select “Switch“. All objects will now move back to the ground.
  • Step 8: Click a Marker (either one) then select “Finish” > “Marker” to cleanup all the scripts and remove the Markers.

Example 6a – Move a whole structure to another region (The fast way)

  • Step 1: Drag “Marker” from your inventory to the ground.
  • Step 2: Drag “Move Object” from your inventory onto each object.
  • Step 3: Right-click on each object and select “Take“. Alternatively you can select “More” > “Take a copy” to leave the original in place.
    Note that the objects will have “[*]” prefixed to their name to indicate they contain the movement script and should be deleted from your inventory afterwards.
  • Step 4: Click the Marker then select “Finish” > “Marker” to safely remove the Marker.
  • Step 5: Visit the region you want to move the objects to.
  • Step 6: Drag “Marker” from your inventory to the ground.
  • Step 7: Drag each object from your inventory to the ground. They’ll automatically snap into position.
  • Step 8: Move/rotate the Marker as needed. All objects will adjust to match.
  • Step 9: Click the Marker then select “Finish” > “Marker” to cleanup all the scripts and remove the Marker.

Example 6b – Move a whole structure to another region (The safe way)

This gives the same result as the previous example. The only difference is you move all the objects slightly into the air before taking them to inventory. This allows you to easily see if you’ve forgot to put the script into any of the objects.

  • Step 1: Drag “Marker” from your inventory to the ground.
  • Step 2: Right-click the Marker and select “Edit“.
  • Step 3: While holding shift, click the upwards arrow and drag it up. A second Marker will be created.
  • Step 4: Click one of the Markers and select “Switch“. The Start marker will now be on the ground.
  • Step 5: Drag “Move Object” from your inventory onto each object you want to move. Each object will move into the air.
  • Step 6: Right-click on each object and select “Take“. Each object will be saved to your inventory with “[*]” prefixed to its name.
  • Step 7: Click a Marker and select “Finish” > “Marker” to safely remove the Markers.
  • Step 8: Visit the region you want to move it to.
  • Step 9: Drag “Marker” from your inventory to the ground.
  • Step 10: Drag each object from your inventory to the ground. They’ll automatically snap into position relative to the Marker.
  • Step 11: Move/rotate the Marker as needed. All objects will adjust to match.
  • Step 12: Click the Marker then select “Finish” > “Marker” to cleanup all the scripts and remove the Marker.

Frequently Asked Questions

  • What if some of my objects are not editable?
  • This tool does not handle non-editable objects. You’ll need to position those manually.
  • Can I move objects which are deeded to a group?
  • Deeded objects are not supported. Scripts can not be put in deeded objects.
  • Why can’t I move objects to another parcel?
  • The tool does parcel checks before allowing an object to move to the End Marker. Please check the settings for the target parcel and that the group of the object matches the group which owns the parcel – you may need to relax the settings on the current parcel first to prevent auto-return before the object has had chance to move.
  • Alternatively, bypass the parcel checks by only using one Marker then move that Marker onto the other parcel.
  • What if there’s another parcel between source/destination?
  • The objects do not visually travel across the sim when being moved, but each parcel in its path must allow the object to enter/exist otherwise the move will fail. We recommend using a single Marker to manually move the objects around the parcel (or take it to your inventory and re-rez them).
  • Can I adjust the position of just one object after I’ve put a script in all objects?
  • If you’re only using one Marker (i.e. the “End” Marker is not being used), just delete the “Move Object” script from the object’s inventory. Adjust the object’s position. Drag “Move Object” onto the object again.
  • When taking objects to my inventory, can I soft link them?
  • Yes you can. The “Move Object” script is none the wiser. Just select multiple objects and take them to your inventory. It will appear as one object in your inventory but you can tell it’s actually multiple objects by the icon. When you later rez it to the ground they’ll become individual objects again. You can soft-link as many times as you like. So instead of taking 50 objects to your inventory, you can soft-link them 10 objects at a time and you’ll end up with 5 items in your inventory.