Makes new Sit topic just because ive seen posts on many threads


#1

As @Judas has pointed out, we are all tired of standing here. So I thought I would make a new topic about it, but If there is already one, let me know and I will delete this one.

I started to write some thoughts I’ve had on this but it really boils down to a few things:

I think that most versions of sit and interactions with stuff can be handled with .js scripts on the object itself rather than having it be part of Interface, the server or even the avatar. And I suspect that we already have the hooks to do most of it now.

I really would like to avoid the caps query/response stuff that slows things down online.

And, I would like to see action modifiers used so that: collide = deflect, collide with last second crouch = sit, or collide with last second jump = climb onto. This would allow any type of input device to be able to do many different flavors of actions, as is done with simple console game controllers, and give one a sense of immersive control that any menu popup or point/look at/click thing can never do.

Anyway, a few cents from me. Now all I need to add to this post is a simple entity script that attempts to run a sit animation on an avatar that collides with it… or interacts, etc.


#2

Yes, I think there is mostly enough to so SL style sitting on objects. You will have to squirrel away the sit offset and rotation data somewhere, probably in the user data area. BTW the user data area is far too small as it is since it now has to house all sort of parameters than were stored elsewhere in legacy grids like SL.

The other difference is that the triggers for sit and for stand up ae not part of any standard, so here you need to make that up. Touching to sit/stand seems a good start, though that then limits things a lot (what if touching meant bring up a sit menu, that sort of thing. It’s why I suggest bumping into the object might be a better trigger for sit.


#3

But there already is and people forget easily because its not so well documented:

Scripts on Question:
sit.js
and sitOnEntity.js

Currently the above are broken, which I reported a good while ago. They also use some legacy js methods (clearReferential) : But from what I gathered they allow you to sit on objects that have SittingPoints defined in the fst. Clearly these need some updates, as the “sit action” folds the avatars legs oddly now :smiley:

The method described by @Balpien_Hammere is the same thing I am doing, but currently working around the intricacies of Avatar parenting.

The question however is, how will we define the SittingPoint in fst if fst will be changed?

CC: @Judas


#4

That sit script used bone rotation to seat the avatar which is much like listening to music on vinyl, its very clever and stuff but no one cares.
The avatars walk anim’s are all on propper fbx animations which are nice and simple to make

Can this script be tweaked to play fbx’s also can it be tweaked to remove all the hideous floating icons it had
Re define sitting position. I was kinda thinking if were building everything to full scale an avatar animation created for a specific chair should line up.
But if you want to use a more generic animation could we use coordinates to position the avatar
That would allow a sit target helper kinda solution like they use in sl
sit on a box move u sat on the box till your in position on the sofa then take the coordinates from that
.


#5

You mean sorta like the prototype Sit script Ive been working. Seen last in the meeting, which also resulted in… gravity bending situations


#6

Yes i think the sit part of that was lost on me with the upside down part lol


#7

When i said my experiment exploded, I literally meant my seat.


#8

Not specific to sitting, but I’ve wondered about how scripted actions should appear in the world. Will they be animations that can be seen by others and first-person experienced by the performer or will they just be sudden shifts from, say, standing to sitting? Seems like the former would be needed for immersion and the latter might break immersion.


#9

This is a good question. The days of abrupt transitions are behind us. The animations and transitions need to be high fidelity. Even in SL the high end sit systems try hard at making smooth transitions. I said try-hard because, in SL a sit is an abrupt repositioning of the avatar. That was OK in 2007 but quite dated for a next generation virtual world platform.

Copying what I wrote earlier (this is sit related):
One possible High Fidelity approach:

  1. You see a virtual chair or virtual water fountain
  2. You walk right up to the chair or ledge, bump into it
  3. A script in the object runs a turn-around and sit-down animation. It positions your avatar to its preferred sit position based on size and girth metrics.

So far this is an object doing something to your avatar. It could be turned around such that you have a device that understand a panoply of different kinds of avatar behaviors (or this is something that is an interface default, or it is something domain owners set up as a default). So:
1.You see a virtual chair or virtual water fountain
2.You walk right up to the chair or ledge, bump into it
3.Your avatar behavior script (ABS) gets the collision event. It queries the object to see if it permits sitting, and if so where is a good spot. It also queries the object for a preferred animation to run. If none, it selects the ABS’s sit animation.
4.the ABS runs a turn-around and sit-down animation. It positions your avatar to the preferred sit position obtained from the object. Lacking that data is does a best guess and sits you somewhere, or, maybe it runs a back-away-from-the-hostile-object animation.


#10
      Spent some time looking for anything of use in the script 

library which would help me play a fbx avatar animation animation when i
touch a specific object

specifically kneel.js which should play a fbx animation on an avatar, its broken.
then I had a look at away.js which does work but I cant find how it runs an animation…

its all a pile of large steaming sit


#11

The pause screen is annoying in desktop mode. al;so the afater is going into that stupid kneel pose. High Fidelity did screw the mute key now by converting that into some pause key with bad pose.