Universal Attribute Changes for Pathfinding

From Second Life Wiki
Jump to: navigation, search

Introduction

Setting up a region for pathfinding can be time consuming. To make the process faster, we've added a new Region Debug Console command to bulk-update the pathfinding properties of objects in a sim. This new command is called 'update-pathfinding-objects'.

Warning: Please read the instructions before running update-pathfinding-objects in your region. While this command is reversible in the sense that all specified objects can be set back to 'movable obstacle' or similar, it is theoretically possible to permanently break certain scripted objects.

How to update objects

  • Login to the region you wish to update
  • Enable the Develop menu in Viewer Preferences, by enabling Preferences -> Advanced -> Show Develop Menu.
  • Open the Region Debug Console. Either use the keyboard shortcut CTRL+SHIFT+~, or open via the menu: Develop -> UI -> Region Debug Console
  • At the console's prompt, type 'help update-pathfinding-objects', and review the available options. Here are the options at the time of writing:
> help update-pathfinding-objects
update-pathfinding-objects [region|parcels|group_parcels|owner|linden] [unscripted|scripted|all] [walkable|obstacle|movable]
Bulk mode change for objects in this region.
region: all objects in the region (requires EM status), parcels: all objects in parcels you own,
group_parcels: all objects in parcels owned by your active group, owner: all objects owned by you in the region,
linden: all unscripted Linden Content in region (requires admin privileges) set walkable.
Note that phantom, dynamic, temporary, and llSetKeyframedMotion-animated prims are never updated.</pre>
  • Type the command that matches what you want. The console will provide feedback about how many objects were actually changed by the command:
> update-pathfinding-objects parcels unscripted obstacle
Set 7 objects to obstacle.
  • After you are done, press the viewer's "Rebake region" button to apply the changes to the navmesh.

Notes

  • This command does not affect the following types of objects
    • Phantom (so movable phantom, material volumes, and exclusion volumes are never affected)
    • Physical
    • Temp-on-rez
    • Volumedetect
    • Pathfinding characters
    • Objects worn as attachments
  • As always, be careful when you apply changes to scripted objects. If a scripted object is set to obstacle or walkable via update-pathfinding-objects, any LSL calls to move an object or otherwise affect its physics shape will fail. In some cases, this may cause the script to permanently malfunction.
  • Restrictions on who can run update-pathfinding-objects
    • Only region owners / estate managers can change objects at the 'region' scope
    • Only Lindens can use the 'linden' scope; this mode is intended to be run on mainland regions
    • The 'parcels' and 'group_parcels' options only perform an action if you own any parcels in the region or if your active group owns any parcels in the region, respectively.
    • Anybody can use the 'owner' scope in any region, since this scope only affects objects owned by your avatar.

Return to Good_Building_Practices