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.
The first extension to animation was to change how AO’s work. A script function was added to tell the server to use an animation we specified for the default walk, run, fly, and etc. Now the server just plays the right animation without the viewer having to see what our avatar is doing and then telling the server to change animations. The server plays our previously specified animations when the avatar changes activity without talking to the viewer. Much more efficient.
With the addition of Bento we got hand, face, wings, and tail bones that can be animated. But, once again we have to ask the server are we flying… are we flying now, …how about now? Once the server says yes, we are flying then the viewer can say ‘play this wing animation’. Then we asking, are we still flying? Still…. Still… So, we can stop the animation when we stop flying.
There is no choice as the server doesn’t know it needs to check for wing, hand, face, or tail animations to play on the Bento bones. The new Animation Extensions will add Supplementary Animations. This will add Linden Scripting Language (LSL) commands to set and clear default animations for wings, tail wag, etc.
As of now we aren’t sure what sets of animations will be available. All we know is the Lindens have decided to build this feature in.
A bigger addition is the Lindens will build in an animation system to animate non-avatar rigged mesh objects (NARM’s… NARMO’s). So, I could build a mesh cat and animate it without having to put an avatar inside as we do now. A new LSL command will assign a ‘skeleton’ to a mesh object and we can then, via script, play an animation on the skeleton which animates the mesh.
As it is now we animate mesh by doing alpha cycling. Each frame of an animation is a separate mesh. We make each mesh-frame visible in turn simulating an animation. So, we have a term called onion skin animating. The many layers of an animated mesh are like those of an onion. This puts a load on the sim servers and network.
Animations place much less load on the network and servers than does the onion skin alpha cycling. Plus, being able to animate mesh will remove the need for onion skinning, thus reducing the total polygon count of objects. It looks like there are some significant benefits.
These changes will require work on the viewer and server sides of the system. The Lindens are prototyping now. So, there is a lot up in the air, many things are undecided. The details are getting worked out. Once the Lindens have it a bit more solid they will provide details.
Vir Linden tells us this project is NOT going to include everything ever asked for. While the scope is still TBD, they do know they will limit the scope and keep it simple.
For instance, custom skeletons are not going to be included, at least for now. The extension will use the current Bento skeleton. It has lots of flexibility. So, for now the Lindens think a copy of it will serve for the new object animation.
There is also the problem of the pesky Land impact Cost and viewer performance impact. Until they have some prototypes the cost and impact cannot be determined.
A point that Vir Linden warns about is the use of the term NPC (Non-Player Character). The project is NOT going to include all that is needed for NPC’s. This is apparently going to be a very basic way to animate mesh.
It will be possible for a script will play a set of animations made for an avatar on the new NARM’s. But, these objects will not have locomotion graphs for walking or flying. So, a walking animation will not move the object. It will be like when we try out a walk or run animation in a shop. Our avatar goes through the motions but stays in one place.
This suggests Pathfinding is going to become much more important.