Seating Multiple Avatars
Setting the position for the 2nd, 3rd, and etc. avatars, is done by adding a new ANIM line to the note card. If there are 3 ANIM lines in the card there will be three seats. They can be at 3 different locations and rotations.
You do NOT have to use the same animation in each line. The first ANIM line could be for a female and the second a different animation for a male. Typically couples animations would use two ANIM lines.
The suggested practice is to make the first seat in a set for the female. Manners and etiquette have the female being seated first in RL. Conforming to that practice in SL saves some learning curve.
You may have to edit several Adjusters to find the one currently active, depending on how you initially setup the note cards. If 0,0,0 was used to initialize the note cards, the Adjusters will all appear at the exact same location (left side of image). I have two suggestions. You can select an Adjuster and move it to see if it is the active one (right side of image), in which case your avatar will move too (mine didn’t). If the avatar does not move, just select another Adjuster and move it. Repeat until you find the one controlling your avatar.
An alternative would be to change the initialization position when you build the note card to something like this:
ANIM|sit crossed|<0.0, 0.0, 0.0>|<0.0, 0.0, 0.0>
ANIM|sit crossed|<0.0, 0.0, 0.0>|<1.0, 0.0, 0.0>
ANIM|sit crossed|<0.0, 0.0, 0.0>|<2.0, 0.0, 0.0>
Any or all of the position values in the vector can be changed to alter the starting positions.
You can go back to the main menu while you are in Adjust mode. Once you have an animation set, just navigate the menu to click your next button and adjust it and paste its settings in the appropriate note card and repeat.
Choosing a Seat
I think the weak point in the nPose system is in how a user knows which seat to use or how to change seats. With poseballs it is obvious. With nPose there is no apparent hint as to how things work. There is no pink pose ball for the female. So, I think it highly likely people will be needing to swap places and change seats. So, I think this should be a more obvious and intuitive control.
In the utilities there is a card named BTN:Utilities:ChangeSeat-. You can change the name of this button to add it to any SET you have created or the top menu. I plan to change the name to BTN:Select Seat to have it appear in the main menu. My hope is this will give people the idea that this control allows them to select where they sit on the sofa.
I’m too green with nPose to know if I can put labels in place of the default labels Seat1, Seat2, etc. via an nPose command, … Or if there is a way to put a message in the dialog that seating is left to right… or something like that.
It is possible to change the nPose menu script to change the wording in the dialog. But, that seems a bit awkward.
End users that use the furniture get a similar set of menus as the owner does. There is a menu that allows them to adjust their position, swap seats with another person (if you set up multiple sit positions) – sort of like changing pose balls, a sync for sync’ing couples and group animations, and a control to adjust where one is sitting.
For most installs of nPose, a click by the end user on your furniture does nothing. They need to sit on the furniture then click on it for the menu. This is becoming common enough that most users will know how to use nPose furniture. I’ll probably write a script to handle that problem. Also, the new version I got does pop up a menu when you left-click the furniture. But, it doesn’t give the end user a hint as to what to do.
This seems to be a good system for controlling animations placed in furniture. While I have yet to try other features of nPose it has about everything I can think I would need. There is provision for RLV, props, and for playing sequences of animations.
It needs some minor tweaks to be end user friendly for people new to SL. But, otherwise it is pretty nice.
Being free and full perm qualifies it for use by builders in items they plan to distribute.