Wednesday, February 4, 2015

Understanding poses and animations in SL and OpenSim

Cali runs her hand through her hair....

All Second Life and Open Sim avatars already use animations, as all avatars are born with the default set of animations. That's how your avatar walks, runs, flies, sits, types. They're not terrifically good (especially the walk) and so most people replace them. You can turn off those that you dislike (many people do this with the typing animation which an avatar makes when talking).

Before I explain how, I should mention the differences between poses and animations. It may seem obvious to most, but I have frequently seen poses sold as animations and vice versa. A pose will put your avatar into a stance or sit or other pose. It is possible for a pose to leave your avatar free to move or walk around - it depends which parts of the avatar are controlled by the pose, but things like a handbag-carrying pose or wine-glass-holding pose may only lock the arm into place and leave the avatar free to move around as normal.

A pose, though, would normally be a static thing, not an animation.

An animation, on the other hand, will make the avatar move in a particular way. What part of the avatar is locked to the animation, depends upon the settings used by the creator. The priority given to the animation when it was uploaded dictate whether it will override other default animations or work with them.

The animation which is used in Second Life, uses a system of joints and bones which can be moved or locked into place to allow animation. It is a very complex subject, as some things can be set in the animation creating program, and some can be set when the animation file is uploaded to Second Life or OpenSim. Some existing animations which can be bought outside Second Life are unsuitable for uploading because the format is wrong, or the animation does not provide the necessary information about positioning of the avatar body.

Animations and poses can be created inside Second Life using the AnyPose tool (which is a commercial gadget and very easy to use) but these are saved outside SL and have to be uploaded from the external file. Certain choices have to be made on upload... what priority should be given to the animation, whether it should loop or play through once, what position the avatar hands should be in, etc. There are a number of commercial programs which can be used outside SL to create poses and animations, including costly commercial programs like Poser, those which have a free and a paid version, like Mixamo, and free ones such as Daz, Qavimator,and many others. The SL wiki is useful for the explanation of technical terms, although it may be a bit out of date. There is a Blender rig available here, which allows one to use Blender for animations.

Animations and poses can be bought within Second Life, and they are subject to the same permissions system as objects. Thus you can buy full permissions animations which can be copied or transferred (and modified, although that's actually impossible, except the ability to put them into or remove them from objects for example. The actual animation cannot be changed once uploaded to SL, it has to be re-uploaded to change the priority, for example, or change the fixing of the hands etc.)

Be aware that animations or scripts with limited permissions may change the available permissions if you drop them into an object. A no-mod animation dropped into a modable object may restrict your ability to edit it if you pass it to another person, and then take it back, even if the object and the animation is transferable. Be careful when adding no mod animations or scripts to any object you value and which you do not have in a copyable form. I try not to buy or use no mod scripts and animations for that reason. I do not think it is good practice to set animations no mod, given that it is impossible to alter them anyway.

There are a number of ways to use poses and animations.

You can click on them directly from your inventory (double left click) to open and then choose to run them locally (no one else sees them, good for trying out animations) or in world, which means any other avatar in the vicinity will see you move. You can put them into pose balls or furniture, so that when a person clicks on the object, they are animated or moved into the pose. This normally requires a script in addition to the animation or pose.

Most usefully, you can add them into an Animation Overrider (AO), which may be an attachment that your avatar wears, or more and more, may be something which is part of your Second Life viewer. Firestorm has a built-in AO that you can drop alternative animations into.

The point of an AO is that you can choose which animations should replace the default animations. You can choose a different walk, a different sit, a special flying animation etc. You can have a series of animations which plays when your avatar is idle, and special animations for particular circumstances, like dances or gymnastics.

This doesn't stop you from using specific animations straight from your inventory, or clicking on furniture to sit, but it sometimes means that you will need to switch off your AO in order to use the built-in animations for a bed or sofa, for example, rather than the ones in your AO. If you find your avatar's head is buried in the seat of a chair, it's usually an indication that your AO needs to be suspended while you sit in that chair... and turning it off usually fixes the problem.

There are very annoying AOs which come with a mix of animations and sounds. In general the only person enjoying this type of AO is the wearer - they are an intrusive nuisance for most of the avatars in the vicinity of a giggling teenager sound effect, or ickle baby - or more alarmingly, pregnant stomach or unborn baby. The most ridiculous things can talk in Second Life, from a shoulder pet to a vagina, but that doesn't mean it is a good idea, or welcome to your fellow residents (who can, it must be said, mute the object or turn off their sound if such an attachment becomes unbearably annoying).