Jump to content

Multipose Stand


Rolig Loon
 Share

You are about to reply to a thread that has been inactive for 3219 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

If you hven't declared a variable called

rotation 180_ROTATION = llEuler2Rot(<0, 0, 180> * DEG_TO_RAD);

 

, this won't work. To my knowledge, there is no constant  (loke e.g. ZERO_ROTATION) called 180_ROTATION. If you haven't declared the variable, your script shouldn't compile in the first place ;).

 

So you will have to have either declare and set the variable:

:

180_ROTATION = llEuler2Rot(<0, 0, 180> * DEG_TO_RAD);

  or do it without the variable like Rolig and I demonstrated above.


Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...

This is very cool. I was just thinking about wanting to customize my own pose stand.

But I am getting kicked by the rotation.

When I sit on the stand I enter the default edit position, facing front.

But when I click on the stand to cycle through the animations, I rotate 180 degrees, looking at my back.

I seem unable to stop this.

I tried editing line 28 to: llSitTarget( <0.00, 0.00, 0.80>, llEuler2Rot(<0.0,0.0,PI> );  and got a syntax error.

So I went with:  llSitTarget( <0.00, 0.00, 1.00>, llEuler2Rot(<x, y, z> * DEG_TO_RAD) );

What I get if I make x, y, or z 180,  i.e.,

llSitTarget( <0.00, 0.00, 1.00>, llEuler2Rot(<180, 0.00, 0.00> * DEG_TO_RAD) );

I wind up standing on my head.  It doesn't matter if I do it with the X, Y , or Z.

So I'm stuck here on how to keep my Ava facing forward.

And I'll admit, I'm a dummy on this stuff.

 

Link to comment
Share on other sites

Well, the syntax error is easy enough.  You're just missing a right parenthesis.

llSitTarget( <0.00, 0.00, 0.80>, llEuler2Rot(<0.0,0.0,PI> ) );

The reason you turn around,of course, is because the internal animation that is triggered when you go in the "Edit Appearance" mode is called "turn_180". That's the one I called in this Multipose Stand too.  If you don't really want that anim, you could always substitute another one like, for example, "stand".  It won't put you into the spread-eagle pose, but it won't turn you around either.  See other possibilties at http://wiki.secondlife.com/wiki/Internal_Animations .

Link to comment
Share on other sites


Rolig Loon wrote:

Well, the syntax error is easy enough.  You're just missing a right parenthesis.

llSitTarget
( <
0.00
,
0.00
,
0.80
>,
llEuler2Rot
(<
0.0
,
0.0
,
PI
> )
)
;

The reason you turn around,of course, is because the internal animation that is triggered when you go in the "Edit Appearance" mode is called "turn_180". That's the one I called in this Multipose Stand too.  If you don't really want that anim, you could always substitute another one like, for example, "stand".  It won't put you into the spread-eagle pose, but it won't turn you around either.  See other possibilties at
.

Thank You Rolig

 

Link to comment
Share on other sites

  • 1 year later...

I was thinking it would be nice to have postions and rotations stored for each animation, but I am worried about making the script "over complicated". I guess that would involve having a unique sit target for each animation, right?

If I can figure out some simple way of storing and retrieving the position and rotation information for each script, I might try it.

Link to comment
Share on other sites


JeremyAtticusFinch wrote:

I was thinking it would be nice to have postions and rotations stored for each animation, but I am worried about making the script "over complicated". I guess that would involve having a unique sit target for each animation, right?

If I can figure out some simple way of storing and retrieving the position and rotation information for each script, I might try it.

I'll be interested to see Rolig's take on this, but, for background, sit targets can't be changed on the fly while an avatar is sitting on the object.   Any changes take effect only after the avatar has got up and when the next avatar sits.

The workround -- and, indeed, the basis for all poseball-free animation systems, like AvSitter, Perfect Sitter and the free nPose -- is to use llSetLinkPrimitiveParamsFast to move the avatar around, depending on what animation is chosen.

The original demonstration of how to do this is to be found in Strife Onizuka's userfunction UpdateSitTarget, which is on the wiki llSitTarget page.  

That does change the sit target, but most of the time you don't need it to do that.    the llSetLinkPrimitiveParamsFast calls take care of the avatar's position and rotation.

 

Link to comment
Share on other sites

Sorry ... I didn't see Jeremy's post when it came in.  The answer is that that you can probably do what you propose, but it will take a lot of work and the result will not be a simple stand that you can just drop animations into.  The problem is that each anim has its own starting point, defined by the animator.  That's why the sit targets for anims all have to be adjusted individually.  A script that manages several animations needs to store that information for each one and then adjust the position of a "seated" avatar appropriately, as Innula described.  So yes, you could do that with this script, but it would mean rewriting it totally.  If I were doing that, I'd either expect the user to maintain a notecard with sit target info for each anim or I'd take the approach of AvSitter and other scripts that let the user adjust sit targets and then store the information internally for later use. 

Frankly, that's more trouble than it's worth to me.  The appeal of this simple script is that you can drop any anims into it, without any setup, and then zip through them to find the one you need. It's like a texture organizer -- a file sampler with nothing but the basics.  When I'm using the stand to pose for taking a photo, it doesn't bother me that I have to take a few extra seconds to move the pose stand once I've settled on the pose I want. But that's me.

Link to comment
Share on other sites

  • 10 months later...
You are about to reply to a thread that has been inactive for 3219 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...