Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

How do I get my ballerina to pirouette?

Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
10-24-2008 08:43
Ballerina doll, made out of several asymmetrically positioned sculpted prims, poised at the centre of a circular platform, which is the root prim. She pirouettes beautifully as is, using llTargetOmega in the platform, but how do I achieve (can I achieve) a similar effect if I link her and her platform to another structure, so they are all child prims?
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
10-24-2008 09:24
The options are to make it out of a single prim, or to remake all the prims so they're co-linear and script them all to resync (clearing and resetting the llTargetOmega all at the same time) often enough to avoid breakup... but that's a real longshot.

Why does it need to be linked to another object?
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
10-24-2008 09:48
From: Argent Stonecutter
The options are to make it out of a single prim, or to remake all the prims so they're co-linear and script them all to resync (clearing and resetting the llTargetOmega all at the same time) often enough to avoid breakup... but that's a real longshot.

Why does it need to be linked to another object?


Thanks for the quick reply. The short answer is that it doesn't really need to be linked. It's part of a music box, so I'm making it rez in position when the box lid opens and delete itself when the lid shuts. I just wondered if there was another way of doing that, that's all.
Ruthven Willenov
Darkness in your light
Join date: 16 Jan 2008
Posts: 965
10-24-2008 11:19
i would give puppeteer a try, there is a free version that's no trans so you can try it out. not sure if the results are transferable to the full version. you would probably have to do it again to be able sell it
_____________________
Dark Heart Emporium

http://www.xstreetsl.com/modules.php?name=Marketplace&MerchantID=133020

want more layers for tattoos, specifically for the head? vote here
http://jira.secondlife.com/browse/VWR-1449?

llDetectedCollision* Functions similar to touch
http://jira.secondlife.com/browse/SVC-3369
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
10-24-2008 11:41
From: Innula Zenovka
Thanks for the quick reply. The short answer is that it doesn't really need to be linked. It's part of a music box, so I'm making it rez in position when the box lid opens and delete itself when the lid shuts. I just wondered if there was another way of doing that, that's all.
You probably want to make it follow the box around if it moves, too.
_____________________
Argent Stonecutter - http://globalcausalityviolation.blogspot.com/

"And now I'm going to show you something really cool."

Skyhook Station - http://xrl.us/skyhook23
Coonspiracy Store - http://xrl.us/coonstore
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
10-24-2008 11:42
From: Ruthven Willenov
i would give puppeteer a try, there is a free version that's no trans so you can try it out. not sure if the results are transferable to the full version. you would probably have to do it again to be able sell it


Puppeteer won't be as smooth as llTargetOmega, though.
Ruthven Willenov
Darkness in your light
Join date: 16 Jan 2008
Posts: 965
10-24-2008 14:03
From: Innula Zenovka
Thanks for the quick reply. The short answer is that it doesn't really need to be linked. It's part of a music box, so I'm making it rez in position when the box lid opens and delete itself when the lid shuts. I just wondered if there was another way of doing that, that's all.


that sounds like the best bet (rezzing when open, delete when shut) however, if it's something you want to sell, and allow customers to give them to someone else as gifts, the ballerina would then become a freebie because it would need to be copy-trans to be able to keep rezzing new copies and retain the transferability.

From: Argent Stonecutter
You probably want to make it follow the box around if it moves, too.


sounds like it would need either a sensor or a timer (or something like a builder's buddy) probably not worth all the trouble for a small item. maybe the box could use a moving_end event to rezz a new ballerina and tell the old one to delete itself. all that assuming the box is being move alot, and whether it's open when being moved

From: Yumi Murakami
Puppeteer won't be as smooth as llTargetOmega, though.


that's true, didn't think about that, the method they're using probably sounds like the best way to go.
_____________________
Dark Heart Emporium

http://www.xstreetsl.com/modules.php?name=Marketplace&MerchantID=133020

want more layers for tattoos, specifically for the head? vote here
http://jira.secondlife.com/browse/VWR-1449?

llDetectedCollision* Functions similar to touch
http://jira.secondlife.com/browse/SVC-3369
Innula Zenovka
Registered User
Join date: 20 Jun 2007
Posts: 1,825
10-25-2008 05:23
From: Ruthven Willenov
that sounds like the best bet (rezzing when open, delete when shut) however, if it's something you want to sell, and allow customers to give them to someone else as gifts, the ballerina would then become a freebie because it would need to be copy-trans to be able to keep rezzing new copies and retain the transferability.
Not that I am particularly concerned about the doll becoming a freebie but I think, were I worried about it, I could easily stop people giving the ballerina away separately. The doll has to listen to the box to know when to delete, and it does this on a random channel that the box generates when it rezzes the doll and passes to it as the start parameter. So I could tell it, I think, to die on rez if it didn't get a start parameter.


As to my question about if there's another way to do it -- which was just an interesting (to me, anyway) question that occurred to me while I was working on this, I suppose my reasoning is this. I know how to use llSetPrimitiveParams to change the local rotation and position of a door relative to the root prim of the house to which it is linked. I also know how to move the doorknob at the same time, though they don't aways move completely in synch -- perhaps because I'm moving them in one step. So it should be possible -- I thought -- to move the doll around like this. I wondered if anyone had any suggestions about simple ways to do it. Presumably I need to take measurements of the local position and rotation of the different bits of her at various points of the 360 circle; how frequently do I need to do this, I wonder?

And, in particular, how to keep the components synchronised while they're in motion -- my doorknobs tend to start moving a moment before or after the door does if I'm not lucky.
Tyken Hightower
Automagical
Join date: 15 Feb 2006
Posts: 472
10-25-2008 10:21
You can make the ballerina copy only and still set the box itself to have transfer perms. It wouldn't become a freebie.

Edit: It is possible to do what you want to do with all of the prims as children, and not terribly difficult provided that each child prim's center lies along the same axis: use one prim to determine the time or current rotation and set that to the prim's description, and have the rest track this by reading it out and using llRotLookAt or llLookAt (because they have no delay) to turn on a quick timer. The pieces will stay very well in sync. The downside to this is that you may end up with multiple fast timers. It's not as bad on the sim as it sounds, but it's also not a particularly nice solution, and it causes lots of updates to be sent out.

Edit2: In the case where each of those child prims don't have centers all on a single line, it's going to require about 8 times the number of scripts just to make it look as smooth, and generally won't be worth it, as it can be potentially horrific on the sim.
_____________________