Jump to content

Pathfinding tool comIng soon!!

Recommended Posts

I really don't know where to post this, or when these tools will go live. I'd guess they will work their way into a beta viewer in a couple weeks.
They have put it on the wiki, so I feel safe talking about it.
Here is a link to the wiki: http://wiki.secondlife.com/wiki/Pathfinding_Tools_in_the_Second_Life_Viewer

There is a Lot going on on that page. We will have a few new floaters, a linksets tool, a character tool, and a navmesh tool. The later lets you view the navmesh, exclusion volumes, test paths, etc. The first two work like Top Scripts allowing debugging and optimizing of the navmesh and the critters.

I think the hardest part for us to wrap our heads around turned out to be the linkset tools options. Firstly, this tool is Awesome. It lists all the linksets on the sim or parcel, allowing us to teleport right to it, search the list, filter the list, etc. it will be very useful for non pathfinding tricks too! Here is where it gets tricky. Each linkset now has a few settings as it relates to pathfinding and generating the navmesh(navmesh is a sim stored asset that the critters look at when they are first created).

These are the linkset options:

Static Obstacle
Dynamic Obstacle
Material Volume
Exclusion Volume
Dynamic Phantom

These are explained in depth in the wiki, but I'll try to break them down. The top three are Non phantom, the bottom three are Phantom.
Any option with Dynamic in its name is Not baked into the navmesh, and is an Active object. Meaning it can move within the scene and critters will react to it, no mater where it moves to. Example: a door, a gate, or a vehicle. Dynamic objects are the most resource intensive, as the critters must actively track them. Use as few dynamic objects as feasible.
Walkable and Static Object will be the most common settings. Walkable adds to the navmesh, static object blows a hole in the navmesh, where critters will never go. Simple enough!
Exclusion volume is phantom. AVs can walk thru it, critters can not. Useful to stop critters going places you don't want them too.
Material volume is the most fun. It's phantom to critters and AVs, but uses the a b c d material setting. To keep this post shorter, I'll avoid details, but, for instance, an A type critter could be slowed down inside the material volume, while an AV (or B type critter) runs thru without slowing. Common game usage for this could be a race track, where the track surface is faster than the grass around it.
Finally, dynamic phantom is phantom to all, AVs and critters. A good setting for small plants. Stuff we used to use legacy phantom for. (great for volume detect)

I may be making this sound confusing. But a little experimenting with the linkset tools will quickly get all up to speed. One think that is quickly going to become important is going to be reducing the physics geometry that gets baked into the navmesh. This is easily accomplished with the newer 'none' and 'convex hull' settings in the features tab of Edit. Less physics geometry equals a simpler navmesh, and happier critters.

I hope this helps, and does not add any confusion. And it might explain why I've been bouncing around these forums commenting on physics shape related posts. I've got to say though, I've never had as much fun coding things as I have with these critter behaviors. It is really fun and very rewarding to see your 'thing' be the creature! =D
  • Like 1
Link to comment
Share on other sites

Thanks for the heads up, Alisha, but I'm having some trouble understanding what you're talking about.  I've read through your post, and through the whole wiki page, and unless I missed something, not once does either of them say what "pathfinding" actually is. 

I see that there are numerous tools which will help me "create, visualize, test, and debug pathfinding-enabled characters".  Well, what exactly are "pathfinding-enabled characters?"  I can think of about a thousand things that that term might mean, but I don't yet have any way of knowing which, if any, of them are right.

Could you please explain this, as if to a six-year-old.  What is "pathfinding", and what might I use it for?

Link to comment
Share on other sites

Hi Chosen! I guess I would define pathfinding as AI that can navigate. It will help us bring life to SL!


There are various script functions involved. llNavigateTo, llWanderWithin, llPursue, llFleeFrom(a very fun one where the critter tries to hide from you) and many more. And event updates like, near, stopping, goal unreachable, etc. Which can be used to trigger new states/behaviors. All of this comes right from Havok's AI code.


For instance. You could infest your shack with pathfinding beatles. They could wander within the area, but when disturbed, race under the fridge. Or even better! Chase you around until you spray them with bug killer. Or a simple monster who protects a cave, jumping out and chasing anyone who dares enter. Or even something an AV can ride.


Essentially, pathfinding will let us add behavioral personalities to anything we want too. From pets, to people movers, to monsters, Indian Jones like boulders, to stuff I can't even start to imagine.


  • Like 1
Link to comment
Share on other sites

This all sounds very exciting and much, much bigger than mesh.  The pathfinding is something I've been vaguely keeping an eye on since it was first vaguely and tantalizingly mentioned (I believe by Rodvik) some time ago.  I can't wait to see it in action, have a play around (obviously) and see the wonderful things I expect will be created by our talented creator community.


Link to comment
Share on other sites

Alisha: Yah, this is something I am quietly watching with anticipation too. So many, many ideas come to mind at its possibilities - and judging from the video on the user dashboard page, it should be relatively easy to script for too (even for script luddites like myself!).

Just things like swimming underwater, and having little fish schooling around, darting away from you as you get close to them etc, will make for awesome new levels of immersion (assuming they can swim up and down in the water - I'm not overly sure if that aspect is feasible; although if limited to ground/seabed level, I can envisage using inelegant "invisible prim" tactics to get around that).

Definitely looking forward to playing with this, though! :matte-motes-smile:

Link to comment
Share on other sites

Hey Alisha,


Just wanted to clarify two minor points:

(1) llFleeFrom actually just tries to get a specified distance away from a provided point. It's llEvade that tries to dynamically run and hide from another character/object/avatar

(2) Havok AI does form the underlying basis of pathfinding, but the behaviors are provided by our own code layer. This is important because it means that, going forward, we'll be able to improve them and add new ones as time permits and users request.


Glad you're enjoying it!


  • Like 1
Link to comment
Share on other sites


i have noticed with working with the pathfinding on the beta grid regions that the path finding only works at ground level up to about 40 or 50 meters, Seconds Life is a 3d world and many people choose to have thier builds in the sky.  I can understand why the nav mesh is mainly fixed to the terrain, but will functionality be extended to the full build hight before the official release?

Link to comment
Share on other sites

I'm certainly not Falcon, but feel compelled to answer.


Once the tools mentioned in this thread go live, we will be able to set linksets with magical pathfinding properties and bake them into the navmesh. There may be some limits I haven't found yet, but I currently have a test running on a (walkable)platform above 1000 meters.


http://wiki.secondlife.com/wiki/Linden_Lab_Official:Alternate_Viewers#Pathfinding <---- looks like the slipped the tools into this beta and I think they are ready to sign up estates for Agni testing too!

Link to comment
Share on other sites

yes after playing with the viewer side tools on the beta grid i did figure that much out. it seems like a lot of work for your basic user that just wants to buy some product and take it home and use it. the tools seem great for creators, and it didnt take too long for me to figure it out. I really look forward to using pathfinding on the main grid. But still i think of customers i have delt with in the past, and could I sell a product that uses pathfinding with out a few hours or so of customer service on how to make it work.  That being said.. the way it has been implemented is probably the way i would have done it too, and i cant see a better way to do it.. I guess we will see

Link to comment
Share on other sites

I see that issue coming too, and so did the path team. The tools will accommodate everyone.

Most users will not need all these tools, only the Freeze and Unfreeze buttons.


For example, you want to sell a pathfindable house, maze, etc. Simple set all the pathfinding parameters and box it up. Once purchased, the end user only has to Unfreeze, rez and position, and Freeze again. This will regenerate the navmesh, including the new house, maze, etc.


I see this opening up two markets at once, pathfinding critters, and pathfinding builds. And maybe even a 'pathfinding optimization' service type business.


All in all, these tools have been well thought out, and will be very useful for every level of user. (especially the linkset tool! Gosh it's handy!)


  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...