I missed the Content Creators UG meeting this week, lunch and drinks with friends. So, of course this is the week we got word from the Lindens that we are getting new shiny stuff, a new project: Animation Extensions.
The new extensions will extend how and what we can animate in s couple directions. First is what is being called Supplementary Animations. These are for the new Bento skeleton.
If you don’t animate in SL or haven’t been around forever, you probably don’t know there used to be just the avatar default animations (think duck walk) and the animations we played via script. Our Animation Overriders (AO’s) worked by the viewer continuously asking the server what out avatar was doing (walking, sitting, flying, etc.) and then telling the server which animation to play. Continue reading
When Pathfinding was in development I had some concerns about how it would affect Second Life™ performance and especially about how hard it would be for region and land owners to implement. I wasn’t the only one. Rumors got started and region owners freaked out. The result is many turned off Pathfinding for their regions.
Surprisingly today, many region owners apparently still turn off Pathfinding thinking it is going to improve region performance. After all, if it isn’t running it can’t use up CPU cycles. Right? Wrong.
Whether Pathfinding is on or off the core functionality uses the same amount of cycles. Enabling or disabling Pathfinding is like enabling or disabling building in a region. The only affect is has on performance comes from whether people add prims or not. It isn’t the enable-disable that affects performance, it is the number of prims added. Otherwise, nothing in the server’s operation changes. This is just another setting that controls what people can do, not what the simulator does. Continue reading
Jeremy Linden has been working on the Second Life(TM) wiki, the Best Practices for building, mesh, animation, and more. Check out the main page: Good Building Practices.
Revised Wiki Page
This page covers all the aspects of building or making just about anything in Second Life. If you are building with mesh, check this out. It covers several aspects of reducing Land Impact costs.
I would say the place is being spruced up for the coming entry into Steam. Whatever, it is nice to the wiki updating.
Treet TV is an ongoing broadcast team presenting in Second Life™ and streamed on the web. Their studio is at Garden of Dreams. They present their shows there via Media on a Prim (MOAP) and on Parcel Stream. Each Monday at 2PM (SLT/PT) they have a new Designing Worlds show. At other times you can find other shows being presented. Happy Hunting has a regular show for hunters. Plus, there are drama shows and series with weekly episodes. Check out the full range at Treet.tv.
Cute Horatio Pathfinding Character
Monday October 8th Designing Worlds presented their interview with the Lindens on Pathfinding, the new feature in SL that I’ve been covering for months. Sandry Logan was interviewed on Isle of Dogs, which is the home of the Virtual Kennel Club of Second Life. They have a new line of trainable companion dogs. Check out the web site for more information.
About the 6th of September Maestro Linden updated the Pathfinding Events. See the Wiki page: Event path_update. I hadn’t looked at the page for some time. So, I had not noticed until now.
Events are triggers for scripts. They are sort of thing that says: this just happened. You then have a chance to have the script do something in response. The Pathfinding events now include these things:
The green items are new.
Being able to detect when a region has disabled Pathfinding allows the scripter to move the character out of the area and restart it. That will stop PF Characters from piling up at the borders of disabled regions.
When I looked at the page the links from these items had not been added yet. So, we don’t have detailed information on each event. For instance at what distance does PU_SLOWDOWN_DISTANCE_REACHED trigger? Can one set the distance?
Eventually the pages will get written and appear. Until then we’ll just have to go with the short descriptions provided on the path_update page.
Yesterday late in the day Lorca Linden made a post about Pathfinding (PF) in the SL Forum. You can see it here: Pathfinding FAQ.
Included in the information is the estimate that the Pathfinding Tools will be in the release viewer by the end of September. The release delay has been due to a viewer memory leak issue that has delayed all viewer releases. The leak is not in the PF code. But, the PF code is in the batch of updates with the leaky code. They are currently trying to separate the PF code from the other code and get the PF Tools released.
It seems some viewer problems are holding up the Pathfinding Project’s formal release into Second Life™. Along with that are some server side problems too. But, the viewer is the main hang up.
A World with Critters
If you have been using the LL Development Viewer, you know it is horrible. Of course it is the job of a development version to reveal problems and it certainly is doing that. The problems are not really related to Pathfinding or the Pathfinding tools. But, a decision to allow the PF Tools and a number of other viewer changes to be rolled together means they are now stuck going through QA together. It seems we are past the point of no-return for that ship.
Working with Pathfinding I’ve needed to do some things I don’t normally do. Basically I avoid doing rotations as much as possible because I just have not gotten my brain around idea of Euler-Quaternion and why gimbal lock is a problem.
The new task I needed to accomplish is how to get my Pathfinding AI Character to look at someone in the area. We have lots of new functions that can be used to assist with that.
My Pathfinding Character
I looked at llLookAt(). This function points the positive Z-axis toward an agent or object. That creates an immediate problem because the llCreateCharacter() points the Z-axis up. I think one can rotate the Character to make the Z-axis horizontal, but that doesn’t work for my character that needs to be taller than it is wide.