Using animation

So you bought your first full perm animation! Congratulations, that means you are ready to get into the world of virtual world creations!

But, there is the question I'm often asked: What to do with the full perm animation? How to use it?

In order to make working furniture, you will need one more thing: Scripts! Just dropping animation in the prim will get you nowhere.

On market you will find all kind of scripts and more advanced systems, but all of them have one common thing: Sit target. That is the spot where you avatar will actually be placed on the object. In the simple scipts you can play with position numbers, or, for more advanced you will play with position beams and similar structures.

Below you will find some very simple ways to use your full perm animations for the first time. On MLP Tutorial for Beginners page on this website, you will find basic info about oldest but still very used animation system in SL, and at this moment the only one that can be used on OpenSim grids.

Script: SitOnAnimate

SitOnAnimate  is simple script, no bells and whistles, you can use only one animation in one prim, but it can do the work till you get your self some more advanced animation system.

It can be used in the link sets as well - if you just drop it in the linked sofa, it will go to the root prim, but - you can use it on every pillow in sofa, so that way you will have some kind of multy seats, like in old SL days.

 - Create New Script in your inventory and name it SitOnAnimate

 - Copy the script below and paste it to your SitOnAnimate script

- Be sure to select everything between star lines, or script will not work!

- Drop the script together with the animation in the object

 *********** Start selection from the line below ******

key owner;
key sitter;

string curanim;

default
{
    on_rez(integer params){llResetScript();}
    state_entry()
    {
    owner=llGetOwner();
     vector eul = <0,0,0>; //45 degrees around the z-axis, in Euler form
            eul *= DEG_TO_RAD; //convert to radians
            rotation quat = llEuler2Rot(eul); //convert to quaternion
            llSitTarget(<0,0,.2>,ZERO_ROTATION);
            llSetText("",<0,0,0>,1);
        }
            
    touch_start(integer total_number){
     
    }
    
     changed(integer change) { // something changed
     curanim=llGetInventoryName(INVENTORY_ANIMATION,0);
        if (change & CHANGED_LINK) { // and it was a link change
            llSleep(0.5); // llUnSit works better with this delay
            if (llAvatarOnSitTarget() != NULL_KEY) { // somebody is sitting on me
            sitter=llAvatarOnSitTarget();       
            llSleep(0.5);     
           llRequestPermissions(sitter, PERMISSION_TRIGGER_ANIMATION);
           llStopAnimation("sit");
           llStartAnimation(curanim);
            llSetAlpha(0,ALL_SIDES);
            }else{llStopAnimation(curanim);sitter=NULL_KEY;llSetAlpha(1,ALL_SIDES);}
        }
    }
}

 *********** Finish selection of the script with the line above ******

 

Engine Instructions

After receiving and unpacking your box, you will find 2 boxes in your inventory:

AVSit Engine
MLP Engine

* Choose engine you want to work with and rezz it
* Open and copy to your inventory - be sure everything has been loaded
* Choose if you want to place engine into the prim or directly into the object you are working with
* Be sure prim/root of the object is  0/0/0 rotation
* Copy the content of the engine folder from your inventory into the prim/object

You are ready for details

*Wear enclosed shape/shapes.
*Do not wear shoes nor mesh clothes. Both can mislead you in the process of reposition.
*Do the fine tunning of the animations according to your creation.
*When working with couple animations, be sure you selected both adjusters in order to save reciprocal positions of avatars. Your goal is to place them well on the furniture, not to reposition their mutual positions.

NOTE: Instructions are written with assumption you are already familiar with basic SL building techniques.

Using  Poseballs

Very simple way to have animated furniture is to use Poseball. Just drop the SitOnAnimate script and the animation, set the height of the animation in the script if needed, and link it to the furniture.

1. Rez the sphere

Size: 0.2/0.2/0.2

Rotation 0/0/0

2. Drop the script and animation in the Poseball

3. Sit on it, and see what is the height of the animation related to your object. You don't need poseball 2 meters above or below your chair

3. Edit/Content and open the poseball script

4. Find the row number 14: llSitTarget(<0,0,0.2>,ZERO_ROTATION);

5. Experiment with the third number - in this case it is 0.2. That is your Z position you need to fix. You can not have zero value on all 3 positions like this: llSitTarget(<0,0,0>,ZERO_ROTATION); cause script will just stop to work.

6. Link the Poseball to your chair - it is ok if you keep the chair to be the root prim

More questions?

For more detailed instructions on how to use the animations in the objects, please ask in builder's or learning groups. Second life wiki is also very good source of information. It is also good idea to find classes about this theme. Professional teachers will explain details way better than animator.