XNA Creators Club Online
Page 1 of 1 (6 items)
Sort Posts: Previous Next

Applying a BVH Animation to the Avatar Rig

Last post 9/14/2009 12:29 AM by Danimal. 5 replies.
  • 8/14/2009 7:00 PM

    Applying a BVH Animation to the Avatar Rig

    I'm curious if anyone got this working using the SOFTIMAGE|XSI Mod Tool.

    I've been looking at the Retargeting Mocap Data from C3D or BVH Files to Rig under the Softimage Motor (Motion Transformation) for Characters under the Character Animation section of the Softimage User's Guide.

    When I follow the steps the application just crashes. I'm sure it is because I'm not tagging the skeleton correctly, but I'm unsure exactly what the appropriate mapping should be.

    My guess is that my .tagt file I've created is off.  Of course, I'm using pre-built bvh files as well and so maybe it is something there? I have tried several and I'm getting the same results.

    I'm sure I'm just not tagging the skeleton right, but was hoping that someone has already solved this problem (and might have a .tagt file to share ;-) )

    Just so it is listed, here is the latest .tagt file I've saved.

    Biped  
    26   
    cog Torso_Control_Rotate  
    spineroot BASE  
    chest BACKB  
    pelvis Base_Control  
    rthigh RT_SC_H  
    rshin RT_SC_K  
    rfoot RT_Leg_IK__MotionFootLeft  
    rclavicle RT_C  
    rupperarm RT_SC_TWIST_S  
    rforearm RT_E_TWIST  
    rwrist RT_Arm_IK_Control  
    rhand RT_NonFinger_Arm_IK_Control1  
    lthigh LF_SC_H  
    lshin LF_SC_K  
    lfoot LF_Leg_IK__MotionFootLeft  
    lclavicle LF_C  
    lupperarm LF_SC_TWIST_S  
    lforearm LF_E_TWIST  
    lwrist LF_Arm_IK_Control  
    lhand LF_NonFinger_Arm_IK_Control  
    neck SC_NECK  
    head HEAD  
    rheel RT_A  
    rtoe RT_T  
    lheel LF_A  
    ltoe LF_T  
    Biped  
    8   
    MapFile2.0  
    Biped  
     
    26   
    cog {  
        Torso_Control_Rotate;  
        2.22045e-016 1 0   
        0 0 1   
    }  
     
    spineroot {  
        BASE;  
        -0.999818 -0.0190803 9.99201e-016   
        0.0190803 -0.999818 8.88178e-016   
    }  
     
    chest {  
        BACKB;  
        0.994185 -0.107683 -6.27276e-015   
        -0.107683 -0.994185 5.55112e-016   
    }  
     
    pelvis {  
        Base_Control;  
        0 1 0   
        0 0 1   
    }  
     
    rthigh {  
        RT_SC_H;  
        0.0106957 -0.999942 -0.00152977   
        -0.999941 -0.0106985 0.00181183   
    }  
     
    rshin {  
        RT_SC_K;  
        -0.0122627 -0.999923 -0.00166952   
        -0.999907 0.0122524 0.00604798   
    }  
     
    rfoot {  
        RT_Leg_IK__MotionFootLeft;  
        0 0 1   
        0 1 0   
    }  
     
    rclavicle {  
        RT_C;  
        0.97296 -0.000503173 -0.230971   
        0.000489567 1 -0.000116218   
    }  
     
    rupperarm {  
        RT_SC_TWIST_S;  
        5.04827e-011 -1 -1.30659e-010   
        1 5.04827e-011 -8.15805e-009   
    }  
     
    rforearm {  
        RT_E_TWIST;  
        -3.06575e-011 -1 -1.32184e-010   
        1 -3.06577e-011 -1.85745e-009   
    }  
     
    rwrist {  
        RT_Arm_IK_Control;  
        1 -8.12017e-011 -7.12442e-013   
        8.12017e-011 1 1.48548e-012   
    }  
     
    rhand {  
        RT_NonFinger_Arm_IK_Control1;  
        1 -8.12017e-011 -7.12442e-013   
        8.12017e-011 1 1.48548e-012   
    }  
     
    lthigh {  
        LF_SC_H;  
        0.0191708 -0.999815 0.00150589   
        -0.999816 -0.0191689 0.00121924   
    }  
     
    lshin {  
        LF_SC_K;  
        -0.00656749 -0.999977 0.00148489   
        -0.999966 0.00657478 0.00495968   
    }  
     
    lfoot {  
        LF_Leg_IK__MotionFootLeft;  
        0 0 1   
        0 1 0   
    }  
     
    lclavicle {  
        LF_C;  
        0.97296 -0.000503173 0.230971   
        0.000489567 1 0.000116218   
    }  
     
    lupperarm {  
        LF_SC_TWIST_S;  
        2.18683e-008 -1 2.35212e-009   
        1 2.18683e-008 5.49164e-008   
    }  
     
    lforearm {  
        LF_E_TWIST;  
        1.84203e-006 -1 4.88087e-008   
        1 1.84203e-006 2.0711e-006   
    }  
     
    lwrist {  
        LF_Arm_IK_Control;  
        1 0 0   
        0 1 0   
    }  
     
    lhand {  
        LF_NonFinger_Arm_IK_Control;  
        1 0 0   
        0 1 -2.77556e-017   
    }  
     
    neck {  
        SC_NECK;  
        0 1 0   
        1 0 2.22045e-016   
    }  
     
    head {  
        HEAD;  
        0.998569 0.0534854 -1.64868e-014   
        0.0534854 -0.998569 8.61533e-014   
    }  
     
    rheel {  
        RT_A;  
        0.795422 -0.604599 0.0419987   
        -0.603787 -0.79653 -0.0313199   
    }  
     
    rtoe {  
        RT_T;  
        0.968969 -0.245184 -0.0313739   
        -0.24637 -0.968257 -0.0421869   
    }  
     
    lheel {  
        LF_A;  
        0.795443 -0.604602 -0.0415593   
        -0.603792 -0.796528 0.0312889   
    }  
     
    ltoe {  
        LF_T;  
        0.968959 -0.245166 0.0318133   
        -0.246373 -0.968258 0.0421557   
    }  
     
    4   
    Biped  
    Biped  
    cog  
    84.716 1.21801e-016 2.7881e-016 0.707107 0.707107 0 0 0 0   
    spineroot  
    9.21269 0.0067462 -0.707075 -0.0067462 0.707075 0 0 0 0   
    chest  
    9.21269 0.0381272 -0.706078 0.0381272 -0.706078 0 0 0 0   
    pelvis  
    9.21269 4.32964e-017 -4.32964e-017 -0.707107 -0.707107 0 0 0 0   
    rthigh  
    25.3761 0.497393 -0.503502 0.497243 -0.501832 0 0 0 0   
    rshin  
    26.4957 0.504135 -0.49886 0.50197 -0.494988 0 0 0 0   
    rfoot  
    52.4037 1 0 0 0 0 0 0 0   
    rclavicle  
    12.3467 0.620092 -0.000156007 -0.784529 0.000197377 0 0 0 0   
    rupperarm  
    12.0882 0.5 -0.5 -0.5 0.5 0 0 0 0   
    rforearm  
    27.1726 0.5 -0.5 -0.5 0.5 0 0 0 0   
    rwrist  
    32.3145 0.707107 0 -0.707107 0 0 0 0 0   
    rhand  
    7.701 0.707107 0 -0.707107 0 0 0 0 0   
    lthigh  
    25.3544 0.495865 -0.504691 0.494504 -0.504848 0 0 0 0   
    lshin  
    26.5084 0.503247 -0.499227 0.50003 -0.497479 0 0 0 0   
    lfoot  
    52.4116 1 0 0 0 0 0 0 0   
    lclavicle  
    12.3467 0.784529 -0.000197377 -0.620092 0.000156007 0 0 0 0   
    lupperarm  
    12.0882 0.5 -0.5 -0.5 0.5 0 0 0 0   
    lforearm  
    27.171 0.500001 -0.5 -0.5 0.499999 0 0 0 0   
    lwrist  
    32.3129 0.707107 0 -0.707107 0 0 0 0 0   
    lhand  
    7.701 0.707107 0 -0.707107 0 0 0 0 0   
    neck  
    21.3513 0.5 0.5 0.5 0.5 0 0 0 0   
    head  
    8.03415 0.0189167 0.706854 0.0189167 0.706854 0 0 0 0   
    rheel  
    12.8931 0.219704 -0.652331 0.231225 -0.687553 0 0 0 0   
    rtoe  
    16.8207 0.07142 -0.710575 0.103781 -0.692252 0 0 0 0   
    lheel  
    12.8837 0.231265 -0.687406 0.219665 -0.652485 0 0 0 0   
    ltoe  
    16.83 0.103787 -0.692094 0.0714094 -0.710728 0 0 0 0   
    32.6473 52.4116  

    Thanks!


    Chad Carter
    Microsoft XNA Game Studio 3.0 Unleashed - Book contains information on 2D, 3D, HLSL, Content Pipeline, XACT, Particle Systems, AI, Physics, Game States, Performance, Zune and 4 full games (2 of which are multiplayer)!

    Twitter

    XNA Essentials
  • 9/13/2009 2:42 AM In reply to

    Re: Applying a BVH Animation to the Avatar Rig

    Ugh, I found the same behavior (and then found your post by searching for an answer).  You can have my .tagt file if you want, but I'm not sure it will help you much, I'm not an animator and learned what I know about rigging in the last two days :)

    One thing I thought (remember I'm an animation n00b) is that the movement in the .BVH file violated constraints set on the rig, I wonder if we get rid of all those constraints so all that was left were bones, and then mapped the movements to the bones, if it would work (and would still export correctly, yikes).

    Before I conjecture any further, have you made any progress on this? 

    -Dan

  • 9/13/2009 3:20 AM In reply to

    Re: Applying a BVH Animation to the Avatar Rig

    Thanks for the reply. No, I haven't made it any further -- ended up getting side tracked on something else. Been fooling with Blender some, but not exactly getting anywhere with that either.

    I'd love to take a look at your .tagt file. Totally understand the disclaimer. If there is any light you can shed as to why you picked the settings you did, that would be great -- but if it was just trial and error then I totally understand that as well :)

    I was hoping someone from MS or Autodesk would respond, but I'm assuming if was straight forward someone would have answered in the last month. I'd like to try to get my animations exported through XSI as I just can't afford a Maya license. I know the XNA team did it in Maya and then ported it to XSI so that is probably why they haven't responded. Still -- it is something that many people will ultimately want to do - so it would be good if we could determine the right way to do it.

    Thanks again for offering to share your progress so far. I'd definitely love to benefit from it. Would be nice to get some professional users of XSI to explain why certain things will / will not work.

    -Chad


    Chad Carter
    Microsoft XNA Game Studio 3.0 Unleashed - Book contains information on 2D, 3D, HLSL, Content Pipeline, XACT, Particle Systems, AI, Physics, Game States, Performance, Zune and 4 full games (2 of which are multiplayer)!

    Twitter

    XNA Essentials
  • 9/13/2009 8:10 PM In reply to

    Re: Applying a BVH Animation to the Avatar Rig

    I'm just gonna dump my entire TAGT file on mediafire, here's the URL.
    http://www.mediafire.com/?sharekey=9f13481e65ba1efd07258ee67c679e4a4456092d66e098a2ce018c8114394287

    I'll paste in the the mappings below though - I chose to try to map directly to the bones I think, whereas you mapped to the controls.  Previously I had tried to map to the control objects, I think they're called (the floating circles and triangles outside the avatar), but there were too few of those and I didn't know exactly what effect that would produce, since it seems that mocap data should be mapped to bones. 

    Finally, there is a thread on this on the autodesk forums.  I tried one workaround so far but it hasn't worked.
    http://area.autodesk.com/forum/autodesk-softimage/animation/motor-in-xsi-7/page-2/


    cog BASE
    spineroot <EmptyFieldxsi>
    chest SC_BACKB
    pelvis <EmptyFieldxsi>
    rthigh RT_H
    rshin RT_K
    rfoot RT_A
    rclavicle RT_C
    rupperarm RT_S
    rforearm RT_E
    rwrist RT_THUMB
    rhand <EmptyFieldxsi>
    lthigh LF_H
    lshin LF_K
    lfoot LF_A
    lclavicle LF_C
    lupperarm LF_S
    lforearm LF_E
    lwrist LF_THUMB
    lhand <EmptyFieldxsi>
    neck <EmptyFieldxsi>
    head <EmptyFieldxsi>
    rheel <EmptyFieldxsi>
    rtoe <EmptyFieldxsi>
    lheel <EmptyFieldxsi>
    ltoe <EmptyFieldxsi>
  • 9/13/2009 8:13 PM In reply to

    Re: Applying a BVH Animation to the Avatar Rig

    Oh and if you're wondering why I mapped wrist to a thumb, it's because it forced me to map it to something and there were no bones left.  I should probably map it to the control object, Root.root16
  • 9/14/2009 12:29 AM In reply to

    Re: Applying a BVH Animation to the Avatar Rig

    Okay, I got it to work.  What I didn't understand was that you need to tag not only the avatar rig, but when you specify the BVH file you're loading (Under Motor-MocapToRig), you need to "create" a TAGT for that too.  To do this, you must click "create" in "Step 3: Load or Create Tag Template for your BVH file", and then tag the skeleton that is provided by the BVH file (it won't necessarily be in a T-pose, but it should be pretty obvious what parts are what). 

    I was trying to use the TAGT file I'd created for the avatar rig in that step, instead of the one for the BVH file.

    I used *your* TAGT file for the avatar rig, combined with a BVH file I tagged, and got what looked like pretty good motion (except the wrists of the model were collapsed and the head wouldn't turn - hopefully easy to fix).
Page 1 of 1 (6 items) Previous Next