Jump to content
Bitsy Buccaneer

Multi-sitter sit systems which work with 1 prim?

Recommended Posts

First a techie question to see if I'm understanding this right - if you add a sit target to a prim, you can only sit one avatar on it. But if you don't, then you can script it so multiple avatars can sit on it?

If the latter part is true, then I'd very much like to own a sit system which does that. Relying on separate cushions for the extra sit prims is a pain if you want to resize or move bits and it's so easy to break it by accidentally unlinking. Adding invisible prims is a waste of LI....

The Casper Simple Sit says it can seat up to 50 avs but it only keeps 6 anims per av over script resets. So that's a no. Turn the numbers around and I'd invest the L$1499 in trying it out.

AvSitter needs one prim per sitter. It's what I've been using. It's a great system in many ways, except for this.

nPose maybe? I hate nPose. Juggling all of those notecards uses up my limited supply of brain cells far too quickly. It might be necessary to come to terms with it though. (Would nPose be laggy? It's so cumbersome to set up, my intuition presumes it must be laggy as well. Not that that's a good measure :))

Any recommendations or suggestions? Trying to find what's available on MP has been tricky, with different search strings needed so it's possible I've missed some. My wish list is - works with single prim/mesh object, supports couples sync, low lag, allows sitter to adjust positions for themselves, preferably straightforward to set up and use.

I can't really afford to commission a custom system, but maybe I've identified a gap in the market?

Just throwing this out there in hopes someone can offer clarity, suggestions or recommendations.

Share this post


Link to post
Share on other sites

You can still sit several avatars on a single prim even with a sit-target defined. Each time an avatar sits on the prim they will initially get assigned to the default sitpos. You then interrogate the children in the linkset, any child with a number greater than 1 is an avatar sitting on the prim, and by interrogating their local pos and rot you can then determine if they have just arrived on the link target or are an already-seated avatar. For the newly-arrived avatar, adjust their local pos and rot to move them to where you wish them to appear to be on the object. I find keeping a list of UUIDs together with local pos and rot is actually better for implementation but obviously harder to set up first of all.

I'm not sure what your dislike of the Casper Simple Sit is, are you saying it will only remember the positions of the last six avatars it seated? Unless you're hosting banquets six on a prim seems acceptable.

  • Thanks 1

Share this post


Link to post
Share on other sites
44 minutes ago, Profaitchikenz Haiku said:

I'm not sure what your dislike of the Casper Simple Sit is, are you saying it will only remember the positions of the last six avatars it seated? Unless you're hosting banquets six on a prim seems acceptable.

Six avs on a prim makes heaps of sense. It's 50 avs on a prim but only six ANIMATIONS remembered on script reset. (From the casper site:)

 

Quote

 

No More Than Six Animations Per Seat


SimpleSit is not designed to hold more than six (6) animations per positioner/seat.

If you choose to add more, you do so at your own risk - more than six will not be backed up in the event of a script reset.

 

And since scripts reset on rez, it can't even be taken into inventory and put out again without having to redo the sits.

That's a silly low number of animations, say three singles and three couples. I had to re-read it several times myself because the numbers seem so backwards. It also doesn't have sync, each person in a couple has to change the animation individually :(

Thanks for the clarification on the rest. Hopefully it will help me understand it all better. My scripting ability probably isn't anywhere near up to writing my own though.

Share this post


Link to post
Share on other sites

Will it not work if you don't specify an actual animation to be played but rely on the sitter's AO to pose them properly? (Not that many of the seated poses can actually be described as 'prim and proper')

The scripting is not actually very complex, it requires a knowledge of using llGetLinkPrimitiveparams, llSetLinkPrimitiveparamsFast, and lists.

Share this post


Link to post
Share on other sites

Sitting more than one avatar on a single link can be very unpredictable. You can get it to work beautifully in one location, move it a few meters, and it stops working. (In fact, without sit targets, successful seating of even one avatar per link can depend on the sitter's cam position and where their mouse is located on the object when asking to sit. This gets trickier and trickier as more folks try to sit on the same unlinked prim.)

Nonetheless, AVsitter will try to do it, and you can make it stop fussing about not having enough links for the seats defined in AVpos by including the line WARN 0 near the beginning of that notecard. But when a would-be sitter gets a "No room to sit here" message, that's SL complaining, not AVsitter, and there's nothing to be done but find other stuff to link to the seat.

(All my own places end up a tangled web of unrelated items in linksets that optimize complementary contributions to Land Impact without losing "rounding down" advantage. ARCTAN will likely send half my stuff to Lost+Found.)

This isn't to recommend AVsitter particularly (it comes with a lot of script overhead IMHO) but it is pretty ubiquitous, so maybe see how it works with WARN 0 wherever you're planning to use the furniture.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
4 hours ago, Qie Niangao said:

Sitting more than one avatar on a single link can be very unpredictable.

As far as I can see, the documentation on how sits are handled is spotty and inconsistent, like much of the documentation we have to sort through in SL.  There may be no way to do much better, though.

The system "No room to sit" message is triggered whenever two avatars try to occupy the same space, but it's not clear exactly how far apart they have to be to avoid it. Shifting a seated avatar's actual position usually works as long as you shift by a half meter or so, but clearly your cam angle makes a difference as well.  When you click on a standard cube prim, there's evidently some sort of calculation under the hood that identifies not only where you clicked but also where that spot is relative to edges of the clicked face or, perhaps, how a vector between you and the spot is oriented relative to the face normal.  In any case, the system "knows" where to seat you comfortably and how to rotate you.  Once LSL scripts start adding restrictions with llSitTarget or by moving other seated avatars, I'm sure those basic "under the hood" calculations become more difficult and lead to ambiguities.  There are simply too many uncertainties to allow for reliable, predictable results.

Edited by Rolig Loon
  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
15 hours ago, Rolig Loon said:

As far as I can see, the documentation on how sits are handled is spotty and inconsistent, like much of the documentation we have to sort through in SL.  There may be no way to do much better, though.

Thanks for the explanations and missing information Rolig and Qie. I'm glad I asked because, while it's not the kind of answer I had hoped for, at least the confusion makes some sort of sense now.

19 hours ago, Qie Niangao said:

Nonetheless, AVsitter will try to do it, and you can make it stop fussing about not having enough links for the seats defined in AVpos by including the line WARN 0 near the beginning of that notecard. But when a would-be sitter gets a "No room to sit here" message, that's SL complaining, not AVsitter, and there's nothing to be done but find other stuff to link to the seat.

(All my own places end up a tangled web of unrelated items in linksets that optimize complementary contributions to Land Impact without losing "rounding down" advantage. ARCTAN will likely send half my stuff to Lost+Found.)

This isn't to recommend AVsitter particularly (it comes with a lot of script overhead IMHO) but it is pretty ubiquitous, so maybe see how it works with WARN 0 wherever you're planning to use the furniture.

I think I'll play with AvSitter this way, just to get a better idea of how it all works. One of the projects I wanted it for is a sit/cuddle blanket, the kind that gets thrown on the grass with a pile of pillows. The download cost for the blanket is so ridiculously small that it makes sense to join it with the pillows in Blender before uploading. With the blanket being a 2mx2m plane, perhaps the risk of clicking the same place is sufficiently reduced? It's all learning, so I'll give it a try to understand this error.

Can you recommend a sit sytem with less script overhead? I'd like to be efficient script-wise.

Share this post


Link to post
Share on other sites
1 hour ago, Bitsy Buccaneer said:

Can you recommend a sit sytem with less script overhead? I'd like to be efficient script-wise.

I bet Rolig can.

In some ideal world, I'd fence some time to try to refactor the open source of AVsitter to be a single script per sitter* for simple seating purposes.

One thing that AVsitter has over every other sit system is the AVsitter Experience for automatically temp-attaching stuff; it's not hard to do the same thing, but there are already a whole lot of us who have granted permissions to the AVsitter Experience so it's completely transparent to us when our deck lounger hands us a refreshing tropical beverage.

(Tangentially, I'm also interested in @Arduenn Schwartzman's "Posy" scripts because they do one thing my old roll-your-own sit scripts did not quite as well: adjust position and rotation using keyboard controls instead of dialog menu. This package is neither as ubiquitous nor such an all-purpose "Swiss army knife" of sitting as AVsitter, so it's probably not that relevant to the current topic.)

_____________________
* It's also possible to do animation with a single script for multiple sitters -- it's less risky than using a single link for multiple sitters -- but it always feels a little disconcerting to rely on the viewer to automatically stop animations that were started by sat-upon objects, which is what needs to happen when the standing-up avatar isn't the most recently animated, the one for which the script has permissions.

  • Thanks 1

Share this post


Link to post
Share on other sites

Here's the thing about multiple persons sitting on a single prim:

In principle it's totally doable. You can make dozens of avatars sit on the same single prim object, as long as that prim is not inside another.

Unfortunately, this is very often the case, especially when the sim is surrounded by a landscaping megaprim structure, or inside a house that has house-wide scupltie structures. The Posy pack does come with a version that will cater multiple sitters on a single prim. They will just not work in many instances, because people use these big landscaping and sky dome objects.

Edited by Arduenn Schwartzman
  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 9/3/2019 at 2:52 PM, Bitsy Buccaneer said:

And since scripts reset on rez, it can't even be taken into inventory and put out again without having to redo the sits.

This is not a general characteristic of scripts. Scripts only reset on rez when you tell them to. I don't really want to promote my own products, but Posy does not reset when taken into inventory and rezzed back out. Maybe you'd want to have a look and give it a try. https://www.youtube.com/watch?v=1IACb--nkgc

 

 

Edited by Arduenn Schwartzman
  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
On 9/4/2019 at 5:13 PM, Arduenn Schwartzman said:

Here's the thing about multiple persons sitting on a single prim:

In principle it's totally doable. You can make dozens of avatars sit on the same single prim object, as long as that prim is not inside another.

Unfortunately, this is very often the case, especially when the sim is surrounded by a landscaping megaprim structure, or inside a house that has house-wide scupltie structures. The Posy pack does come with a version that will cater multiple sitters on a single prim. They will just not work in many instances, because people use these big landscaping and sky dome objects.

This is good to know. I never would have figured it out on my own. Thank you for sharing it.

(I just bought the Posy pack after watching the video; there's a simplicity and elegance to your system which I quite like and it's a very good price. I want to put some anims in floor pillows and I think your way of handling single-to-two sitters will work nicely for that.)

Every time I read through the replies again, I pick up something new, like @Qie Niangao's use of not necessarily related prims for sit targets. That sounds like a great idea, at least for things on my own parcel, but I **know** I will forget and break stuff. Or just tweak the rotation on that chair a little....

These sorts of discussions are often very helpful to me. Maybe this thread could become a place to continue to gather collective knowledge on the subject? We need something and the forums are about all we have these days. Thanks to everyone here.

  • Like 4

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...