In this tutorial you’ll learn about how to add the ability for avatars to sit on and interact with furniture. While this tutorial specifically references Blender, many of these steps will apply in other 3D software applications. [Download Blender FREE here.]
Adding Avatar Seats to Furniture
Other than being placed and moved around a room, most basic furniture items, a mesh and Root skeleton, generally don’t do anything by themselves. They’re essentially display items. To add functionality, the avatar sitting on a couch for example, furniture skeletons needs to include a set of special sub-elements called seat nodes or also pose or avatar spots depending on what the avatar does when the spots are activated – a set of nodes might be referred to as a ‘pose’ spot if the avatar strikes a ‘selfie’ pose or performs an animated dance for example.
Seating Nodes Explained
Without getting overly excited technical, seats are essentially just a set of extra nodes that when added to a furniture items skeleton, indicate locations at which the avatar can do something. By default this is a sitting or standing pose, both available to the avatar by default (they come with the avatar). This is possible because the nodes corresponding to each pose are uniquely identified for that purpose – *.Sitting and *.Standing. For the default seated pose these are;
seat[n].Sitting Handle[n] Catcher[n].Sitting Pitcher[n].Sitting
For the default standing pose these are;
seat[n].Standing Handle[n] Catcher[n].Standing Pitcher[n].Standing
As a set of nodes, their positions relative to one another are fixed and correspond to certain functions in IMVU; the seat node locates the avatar; Handle is the click-able icon displayed to the viewer; Catcher and Pitcher are additional locators for the user and partner when engaged in co-operative or interactive actions or animations. If any one of the nodes is missing IMVU will auto-magically replace the missing item but not always in the correct place.
Add Nodes to Furniture
The availability of seat nodes will differ depending on whether the furniture was made using the Starter File or not. If it was, the nodes will already be available and ready for use (along with the sitting and standing avatar helpers). If not they will need to be brought into the Blender project using Append – from the File menu in Blender select Append, browse to the Starter File and select it, click the Objects folder, Shift+right-click the appropriate nodes [see above – applies equally to *.Sitting and *.Standing nodes] then click the Append from Library button top-right.
Parenting Seat Nodes
With the seat nodes available Shift+right-click select seat, Handle, Catcher and Pitcher individually in-turn, or select as a group (either/or works), then Shift+right-click the furniture items Root node, including it last in the selection. Once done, from the Object menu select Parent, Object then in the pop-up that appears Object (Keep Transform). And that’s it. Seating (the seat nodes) have been added to the furniture item, which if exported now, the seat will appear in IMVU where its positioned in Blender.
Moving Seat Nodes
It’s best to move and position seat nodes before parenting to Root to ensure they are not accidentally changed in any way that might break their functionality in IMVU. When moving the seat as a group, to position the seat on a cushion for example, right-click the large seat01.Sitting or seat02.Standing nodes only and move – everything will move with that selection. Position using Translate (G) and Rotate (R) only, again to ensure everything moves as a group (Scale is not used because it tends to alter the set distances between nodes, when this happens the seat as a unit can break).
Adding Custom Seating
For custom seating, avatar spots that hold a custom pose, the avatar draped over the arm of a settee for example, the exact same process described above is used with one exception; the seat node extension, the *.Sitting or *.Standing part, needs to be changed to something more appropriately indicating to IMVU the node set is being used for a custom pose. For example using the sitting node set, seat01.Sitting might be renamed to seat01.Jkyoga1, that is Jk (the creator jazzKat, ME!) + yoga1 (the pose). This clearly identifies that particular seat node and group of nodes to IMVU as being custom, which will then be matched to an avatar pose in Create Mode.
seat[n].Jkyoga1 (first letter of the extension should generally always be UPPER case). Handle[n] Catcher[n].Sitting Pitcher[n].Sitting