Jump to content

Need help with rez derez


Recommended Posts

9 minutes ago, Naiman Broome said:

A new function like Prim_Type_mesh is not present?

It used to be possible (and considered for release) to change mesh by UUID, but it was very problematic and caused many sim crashes. Those functions were removed.

Snippet from a user gathering: http://wiki.secondlife.com/wiki/Mesh/Archive/2011-05-02

Quote

[11:27] Nyx Linden: "Has account-wide throttling for changing of UUIDs on meshes been looked into such as is used in the HTTP functions? (i.e. An account in a sim cannot swap any mesh UUID more than X times in X seconds - suggested values 1 swap in 6/8/10 seconds; account-wide throttle would prevent "gaming" with multiple scripts as was the very intention of its use in HTTP). [Sebastean Steamweaver] "

[11:27] davep (runitai.linden): UUID flipping of mesh assets is an architectural issue, not a throttling issue

[11:28] davep (runitai.linden): there's no way for the sim to change the UUID of a mesh asset after the object has been rezzed

[11:28] davep (runitai.linden): (no way for it to change the mesh asset an object references)

[11:28] davep (runitai.linden): this used to "work" but would cause many sim crashes and stalls

[11:31] davep (runitai.linden): anyway -- the mesh rez pipeline was written to solve the problem of loading meshes causing frame stalls on the sim

[11:31] davep (runitai.linden): mesh introduced a new requirement on the sim that the viewer takes for granted -- the ability to asynchronously load assets associated with objects after the objects have been rezzed

[11:32] davep (runitai.linden): for the sim, this is much more problematic than anticipated -- especially with the presence of a running havok simulation

[11:32] davep (runitai.linden): the techniques we use for volumes just didn't work for meshes -- the result was leveraging a new threaded-rez pipeline to load meshes in a background thread before rezzing the associated object

[11:33] davep (runitai.linden): a side effect of that decision is that objects can never change their mesh asset id

 

Link to comment
Share on other sites

1 hour ago, Naiman Broome said:

Mmm no , I wanted to change the whole chair while sitting , doesnt mind if it makes me stand after I click it , but is possible to delete the chair and replace with a new chair of different shape but same content?

Providing the mesh content isn't of horrendous LI when linked together, you could try this:

Create a single prim, flat, which is the root prim and contains the script and is the sit target prim. Texture it as the shadow prim of the chair

Link to this two or more mesh chairs (which are themselves 1LI items), and set each of them to prim physics NONE

Set each chair to have two sizes, and two local position and rotations

Size one is the hidden size, the item is reduced to the smallest practical size, is set fully transparent, and is moved down out of the way.

Size two is the item scaled up to the required size, now fully visible, and positions so that the avatar (sitting on the root prim) is apparently seated on the chair. Change the root prim shadow texture to suit.

You might have to reposition the avatar if the different mesh chairs do not adapt to the basic sit pos and rot.

The key to making this idea work is finding mesh chairs that are 1LI on their own and do not create ridiculous LIs when linked to other things.

After that, it's lists of sizes, local positions, local rotations, and possible altered sit pos and sit rot amounts.

 

 

 

  • Like 1
Link to comment
Share on other sites

Posted (edited)
9 hours ago, Naiman Broome said:

I wanted to change the whole chair while sitting , doesnt mind if it makes me stand after I click it , but is possible to delete the chair and replace with a new chair of different shape but same content?

lots of ways to do this, as others are showing

if we want to physically change the chair that we look like we are sitting on then another way is:

1) have a transparent prim be the object on which we sit

2) this prim is the rezzer and manages the sit mechanics/animations for each of the chairs that can be rezzed

3) when  touched the rezzer rezzes the selected chair (as a visual prop) positioning it relative to the scripted sit mechanics/animations

4) for nuance we could touch enable the prop chairs. When touched then chair messages the rezzer to display menu: Change Chair, Change Sit Animation

in this case the rezzer script example I posted will be suitable, with addition of a sit animation menu in the rezzer script(s) as appropriate for the respective prop chairs 

Edited by Mollymews
typs
  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...