Adding a pose to furniture in 3ds Max

The following steps will create a pose that integrates with your custom furniture.
Note: Values changed from the defaults are
highlighted below for ease of spotting things.

The specially named MyPose is highlighted below to spot all the place the name shows up.


Click Here For Video

Video is ~ 18 minutes, streaming at 800x600 and requires flash. Size is ~40mb


Inside 3ds Max:

  1. Open sample furniture product
  2. Create your furniture
  3. Clone seat nodes:
    1. Note the keyword “MyPose” on the following nodes
    2. Catcher01.Standing cloned to Catcher02.MyPose
    3. Handle01 cloned to Handle02
    4. Pitcher01.Standing cloned to Pitcher02.MyPose
    5. Seat01.Sitting cloned to Seat02.MyPose
    6. Move nodes but keep angle and distance between Catcher and Pitcher fixed
  4. Merge in avatar Max file (merge everything)
  5. Align Female03MasterRoot to seat02.MyPose
  6. Adjust avatar until satisfied
  7. Export Furniture
    1. Select Root
    2. Export Cal3d Skeleton file (XSF)
    3. Select mesh
    4. Export Cal3d Mesh (XMF)
    5. Mesh should have selected room skeleton file by default (from step 7.2 above)
  8. Export Pose
    1. Select Female03MasterRoot
    2. Export Cal3d Animation File (XAF)
      1. Step 1: Select standard female skeleton (NOT the room skeleton)
      2. Step 2: Leave everything checked for a full body pose        
      3. Step 3: Use the following:
        1. Start Frame: 0
        2. End Frame: 1
        3. Displacement: 0
        4. Frame Rate: 30


Inside the Previewer:

To make a pose that’s held “forever”:

  1. Derive from 12908 (Floor-based Furniture)
  2. Special tab, Browse for skeleton (XSF) file
  3. Geometry tab, Browse for mesh (XMF) file
  4. Material tab, assign material templates (XRF) and textures
  5. Actions tab, click Add
  6. Actions tab, in the cyan colored "action" area:
    1. Trigger: stance.MyPose (stance is a reserved/key word)
    2. #ensembles played: 1 (loop 1 time only)
  7. Actions tab, in the red colored "Ensemble" area:
    1. .xaf: Browse to your file
    2. Frame Controls, #loops: 0 (infinite)
    3. Frame Controls, Loop start: 0
    4. Frame Controls, end: 1
    5. Blend In/Out: 0 (for both)
    6. Composition: Replace


Testing in Previewer:

To test in the Previewer make sure you click on the node that corresponds to your custom pose. Pressing the “Play Action” button on the Actions tab will have no effect for actions names stance.MyPose.



Extra notes:

Hints/Tips for adjusting avatar in 3ds Max

1.      Make sure Female03MasterRoot is aligned to your seat node, if you want to make sure the avatar looks the same in the previewer as it does in Max.

2.      Everything is relative to Female03MasterRoot. ie, don't move or rotate once it’s aligned to the seat node

3.      Move or rotate Pelvis as needed

4.      Rotate other bones (do not move) as needed


Note: Having two “skeletons” in the Max file is fine. That is, you can have the “Root” node, “Female03MasterRoot” and even “AttachmentRoot” – just make sure to have the correct item selected when exporting.


Note: Make sure you select the proper skeleton file when exporting the mesh and animation files. They use DIFFERENT skeleton files unlike most other products.


Getting Fancy:

Suppose you wanted two or more custom poses? I’d recommend saving multiple Max files. Each would have your furniture item and one avatar in the custom pose, aligned to the matching seat node.


For example:

Suppose you had a loveseat with 2 standard sitting poses and you wanted two custom poses: HandStand and LayingDown. In addition, you wanted two spots for the LayingDown pose, one on either side of the couch.


To make the posing easiest, you’ll probably want two max files.

·         Each max file will have the same furniture mesh and furniture nodes.

·         Each max file will have a single merged avatar.

·         In one max file, the avatar will be aligned to the HandStand seat and positioned for that pose.

·         In the other max file, the avatar will be aligned to one of the LayingDown seats (doesn’t matter as it’s just for lining up the pose) and positioned for that pose.


In both max files you would have your custom chair mesh with a set of nodes that looks like this:

·         Female03MasterRoot

o   Pelvis

o   Etc.

·         Root

o   Seat01.Sitting (standard seat)

o   Seat02.HandStand (custom pose)

o   Seat03.Sitting (standard seat)

o   Seat04.LayingDown (custom pose)

o   Seat05.LayingDown (custom pose)

o   Matching Catcher, Pitcher and Handle nodes

Note the numbering above – it doesn’t matter which seat number goes with which pose. Only the “ending” portion of the name matters – it tells the client what pose to display when an avatar clicks that node.


From EITHER max file, select the “Root” node and export the chair’s skeleton XSF. Select the chair mesh and export the XMF.

From one of the max files, select Female03MasterRoot and export the animation XAF.

From the other max file, select Female03MasterRoot and export that animation XAF.


In the previewer you will load your single skeleton XSF and single mesh XMF (along with any textures you need).

On the action tab you will have two actions.

Action 0, trigger = “stance.LayingDown

Action 1, trigger = “stance.HandStand


Note that although you have two seats using the laying down pose, you only load the action/trigger one time. It’s the ending portion of the “trigger” that’s important (stance.LaydingDown) as it must match the ending portion of the seat name in max (Seat04.LayingDown and Seat05.LayingDown).


See Also:

Making a Pose in 3ds Max

Adding two poses to furniture in 3ds Max