What is pathfinding?
Pathfinding is an amazing Second Life feature that allows animals like the VKC Pets to move around without crashing into things. They can find their way around obstacles instead of jumping over them and can find their way in and out of the house, provided the doors are open or if you have a fence around your yard, the pets will stay inside the yard. You’ll need to keep the gate shut and make sure there are no holes in the fence, of course.
Why did you make it so complicated like having to change the floors?
We didn’t actually design the system here at the VKC. It’s a feature built into Second Life by the Lindens and they did it how they thought best. We had always felt that the one thing that let the dogs down was their inability to intelligently find a route to wherever it was they wanted to go to. They would always try to go straight there. When that meant hopping over the fence or the sofa, it wasn’t too bad, but it sometimes it also led to them trying to hop over the house which often led to problems. So when we were invited to take part in the Pathfinding Beta in early 2012, we jumped at the chance and were delighted with the results. We agree that sometimes it can seem a little complicated to get your place set up nicely for Pathfinding, but once you know what to do, it’s not beyond the capabilities of most VKC pet owners and don’t forget you can turn the pets’ Pathfinding off while you’re getting your place set up, so that they can still move around in Traditional Mode.
How do I change the floors again?
Try our short illustrated tutorial (below)
which explains the process of setting a path to be walkable and another object to be a Static Obstacle. This particular tutorial shows the tools in the Linden Viewer and in the Firestorm viewer, but if you're using something else, the basics are much the same and you'll soon work out where the menu options are.
How do I learn about optimizing my home for Pathfinding?
We have classes and question and answer sessions several times a week in the parks. Some of the classes are intended for beginners who are just getting started with their pets, but some of them are specifically on the subject of Pathfinding. You can pick up a class schedule at the Information Kiosk in one of the parks.
You can also read more about it in the Second Life Wiki’s section on Pathfinding.
How can I get help with Pathfinding?
Come to one of our Pathfinding classes or one of our question and answer sessions. Our Pathfinding Practitioners are always happy to discuss Pathfinding and help you get to grips with it.
Basic Pathfinding Walkable and Obstacle Tutorial
This is intended as an entry-level guide to preparing your land for your pathfinding-enabled VKC Pet. There are already other documents available elsewhere and there will surely be more to come. Some will show more detail and more advanced tricks and thus may be more difficult to come to grips with when you’re just starting out. Consider this the bare essentials and once you’ve got the hang of it, you’ll be better equipped to go on to more advanced techniques.
Introduction to terms used
means scripted objects that make their way around using the Second Life Pathfinding System. When your pet is in Pathfinding Mode (pf on), he is a Pathfinding Character.
There are also three other types of objects that we need to think about:
- Obstacle — things that the pets must walk around.
- Walkable — things that the pet may walk upon. (It doesn’t make any difference to whether we can walk on it.)
- Phantom — things that the pet can walk right through as if they were not there (same meaning as it always has had).
(There are other types, but for now these are the most important.)
The default type for any object that is not already Phantom is called Moveable Obstacle
. This is a very convenient type, but it’s not very efficient. It’s convenient because you can move it around at will, but it’s inefficient for the sim because it means that the sim has to check the positions of all of these objects every time your dog wants to move somewhere. In pathfinding terms, these Moveable Obstacle objects are known as Dynamic Content
In order to optimize the region for Pathfinding, we need to make as many of the Moveable Obstacles as we can into either Static Obstacle
. These two types are known as Static Content
. The region makes a map of where these types are, how big they are, and the paths between them. This map is known as the Navmesh
. When your dog wants to go somewhere, he will use the Navmesh paths to plot the course to his destination while also taking into account the Moveable Obstacles. For him to be able to find this route quickly and efficiently, it is important to minimize the number of Moveable Obstacles.
— means to redraw or rebuild the navmesh.
What sort of things should be which type?
Good candidates for Walkable Objects are:
- Paths and driveways
- Floors of houses and other buildings that you would like your pet to go inside
Good candidates for Static Obstacles are:
- Fences and Walls
- Any buildings that you do not want your pet to go into
How do I change the pathfinding types for my things?
For the purposes of this tutorial we’re going to assume that you are using the Linden Viewer or the Firestorm Viewer. The tools are similar in all viewers, but you will find that they are in different places in the menus. If you're using a different viewer, you'll probably be able to work out where the different options are, by following along with this tutorial.
Changing Pathfinding types
In this example, we’ll set a section of the path outside Enrico’s workshop to Walkable and set the hitching post (for the horse that he had before he bought a fancy stream-powered automobile) to Static Obstacle.
Right click the object that you are going to change — choose View in Linksets. This is how it looks in the Linden viewer, Firestorm is in the pictures below.
Please note: we do our best to ensure that the screenshots, menu options, tools and controls that we illustrate and describe are accurate at the time of writing, but the viewer developers are apt to change the interface without notice and you may find that things are not quite in the same place that we describe.
It’s buried a bit deeper in the Firestorm viewer, you’ll need to choose More and then More again.
Followed by Pathfinding…
…and then you find Show in Linksets.
This is the Linksets window. It looks much the same in each viewer.
The current type (Moveable Obstacle) is shown in the Pathfinding Linksets window.
Use the drop down menu on the lower right of the window to choose the new type.
When you have chosen Walkable, click on the button labeled “Apply changes.”
You should now be able to see the little indicator in the address bar near the “No Pushing” icon that tells you that the Navmesh has been changed and needs to be rebaked. This may look insignificant, but remember where it is. If you are using Firestorm, it will be a useful shortcut.
But before we do that, let’s set the Hitching Rail as a Static Obstacle.
We right-click on the Hitching Rail and find our way back to the Linksets window.
Choose the Linkset Type Static Obstacle this time.
Click on “Apply Changes.”
Now it is time to Rebake the Navmesh.
Go to the Build menu at the top of the viewer window.
Click on the Pathfinding option and then on Rebake Region.
You won’t see any confirmation message and you won’t see anything happening while the region is rebaking. But, after a short period, the little yellow indicator in the address bar will disappear.
(If you’re using Firestorm, you can click on the little yellow indicator instead of using the Build => Pathfinding menu. You will see a message pop up in the middle of the screen like the one below. Click on “Rebake.”)
Rebaking is the name of the process that makes a new Navmesh.
When you are changing the different objects on your land, you can use the Rebake button every time or only once in a while. It doesn’t really matter. I normally change quite a few different things between rebakes.
If you set your house to walkable and the doors are linked to the house, you will see a script error every time you open or close the doors. This is because the house (being walkable) is Static Content and cannot move without changing the Navmesh, thus the doors are not meant to be able to move. There are several things you can do about this:
- Open the doors and turn off/remove the scripts. (Easy)
- Unlink the doors and link them to their own “hinge” prim. (Not difficult, but more advanced.)
- Set the doors to “physics shape none” (Easy, but now you, your pets and anyone else can just walk through the closed doors, which is a little odd.)
In some builds with sculpted stairs, the stairs seem to turn into a solid box that you can no longer walk up. The explanation for this is a bit long for this article. The usual cure is to set the “Physics Shape” to “None” using the Edit tool and make an invisible prim ramp to cover the stairs. Set the prim ramp to Walkable.
These old-fashioned, oversized prims cause problems with pathfinding. And now that LL allows us to size regular prims so they are larger than 10 x 10 x 10, perhaps megaprims are no longer needed. If you have megaprims in your builds, consider swapping them for regular prims of the same size.
Usually, these are fine, but occasionally you will find sculpties that have a really big bounding box. While this bounding box may be invisible to you, it is quite solid to a pathfinding pet. The usual cure, again, is to set the “Physics Shape” to “None” using the edit tool. This will allow anyone to pass through these prims unimpeded. If you do not want people and pets to be able to walk through these objects, then place an invisible box of an appropriate size over or in the object and set this invisible prim to “Static Obstacle.”
Tips and Tricks
Use the drop down menu at the top of the Linksets window to filter objects by their pathfinding type. You can use this to find all the Moveable Obstacles quickly.
Use the headings in the Linksets window to sort the objects by owner name to find your things more quickly.
You can hold down the Shift or Control keys and click on more items in the Linksets list to select more than one thing at a time. You can set all these things to the same type at once.
If you right click on an object in-world and choose Edit, you can (as I am sure you know) hold down the Shift key and click on other objects to select more than one at once. When you have several selected you can right click again and choose “Show in Linksets” to open the Linksets window with them all selected at once. (They might not all be side by side in the list, but at the bottom of the list, the display will tell you how many you have selected.
Further ReadingPathfinding Tools in the Second Life Viewer
— This article on the Linden Wiki covers what we covered in this article with a lot more information and discussion thrown in.
Pathfinding Quick Start Guide
— There is a lot more information in this Linden Wiki article, but it’s not as easy to understand to begin with. But stick with it and refer back. It’ll make more sense as you become more familiar with Pathfinding.
by Inara Pey.
If you have written or know of a useful article that we should include here, please let us know.