Avatar Position Adjustement to Avatar Height When Sitting
Animation Adjustement According to Avatar Height Snippet
This is a piece of code, that is meant to be putted inside a changed event (what is initialized when avatar sits).
This snippet is for a prim that is AT THE FLOOR LEVEL mainly for standing and walking animations. If you need a snippet for a chair, just use zero.
integer agentlinknum = llGetNumberOfPrims(); // when avatar sits it becomes the last child on the linkset
vector size = llGetAgentSize(llAvatarOnSitTarget()); // we measure the avatar size
float adjustement = (size.z / 2 ); // size.z is avatar height, pelvis is halfway the avatar
float avup = (adjustement + ( size.z/10)) + 0.08; // half of avatar + one tenth of avatar + your own tweak (depends on various things, so you have to test what works for you)
llSetLinkPrimitiveParamsFast(agentlinknum,[PRIM_POS_LOCAL,<0,0,avup>,PRIM_ROT_LOCAL,llEuler2Rot(<0,0,0>)]); // here we move the avatar to the new position, the rotation part is the target rotation in eulerOriginal wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.