Euh, tu n'as pas besoin de poseball en fait pour ton coussin.
ça te fera gagner un prim, ce qui n'est jamais inutile.
tu ouvres ton coussin dans l'éditeur, tu crées un script, et tu colles le code suivant:
// position de l'avatar par rapport a la prim ou est le code, les distances sont codees sur <x,y,z>.
// eviter de mettre <0.0, 0.0, 0.0>
vector pos = <0.0, 0.0, 0.5>;
// orientation de l'avatar par rapport aux axes du prim ou est le script, les angles sont donnes en degres autour des axes <x, y, z>.
vector var = <0.0, 90.0, 0.0>;
// le nom de l'animation dans l'inventaire du script.
string nom = "NomAnimation";
// code du script: ON NE TOUCHE A RIEN.
key mkLoungingAgentKey = NULL_KEY;
key agent = NULL_KEY;
integer miPermissionsAcquired = FALSE;
vector getpos;
rotation rX;
rotation rY;
rotation rZ;
rotation r;
default {
state_entry() {
rX = llAxisAngle2Rot( <1,0,0>, var.x * DEG_TO_RAD);
rY = llAxisAngle2Rot( <0,1,0>, var.y * DEG_TO_RAD);
rZ = llAxisAngle2Rot( <0,0,1>, var.z * DEG_TO_RAD);
r = rX * rY * rZ;
llSitTarget(pos, r);
llSetSitText( "Pose." ); }
changed(integer change) {
if (change & CHANGED_LINK) {
agent = llAvatarOnSitTarget();
if ( mkLoungingAgentKey == NULL_KEY && agent != NULL_KEY ) {
mkLoungingAgentKey = agent;
llRequestPermissions(mkLoungingAgentKey,PERMISSION_TRIGGER_ANIMATION); }
else if ( mkLoungingAgentKey != NULL_KEY && agent == NULL_KEY) {
if ( miPermissionsAcquired ) {
llStopAnimation(nom); }
llResetScript(); } } }
run_time_permissions(integer parm) {
if(parm == PERMISSION_TRIGGER_ANIMATION) {
miPermissionsAcquired = TRUE;
llStopAnimation("sit");
llStartAnimation(nom); } }
on_rez(integer start_param) {
llResetScript(); } }
En mettant que ton animation ait pour nom dans ton coussin:
NomAnimation, et tu modifies donc
nom en conséquence dans ce script.
Tu vas devoir modifier les valeur de
pos, qui positionne la personne assise, par rapport au centre du prim 0 de l'objet où tu as collé le code, c'est un vecteur qui donne les déplacements sur <x, y, z>.
Tu vas devoir enfin modifier, si tu veux et si besoin,
var qui est l'orientation de la personne assise, ce qui peut être utile pour allonger un avatar avec une pose debout, par exemple, c'est un vecteur qui donne les rotation en degrés autour des axes <x, y, z>.
bon bricolage
Edit: un bug qui traînait.