none
Character Rig for Kinect. How? RRS feed

  • Question

  • Hi,

    I want to move a character by using boneorientations.  And therefore I searching for the correct rigging pose and local jointorientations of the rig. I know the Documentation of the Skeletontracking and the NUI and also I have try  the avateering example. I have imported the "dude.fbx" in maya to look how orientations and binding pose is. But I found a keyframe animated walkcycle. I don´t want to retargeting like the Avateering example do, I just want to know

    1. how i could make my binding pose (T-Pos or A-Pos) and

    2. what orientations every joint should have in this default pose. 

    In the Documentation I only find this picture, but I

    don´t know how I have to orientate the rest of the joints and in which beginning pose the rotations of every joint (x,y,z) is 0.

    I have searching a lot in the net, offen I found the Avateering example with its keyframe animated Rig in an Walking Position. I don´t want retargeting or animate my character with preanimated keyframes. I just want use the bonerotations of the Kinect. I have also try to delete all keyframes and bringt the character to TPose with rotations 0. But by using this I get weird movements.

    Would be great someone could enlight my mind how the rig should look like in the beginning pose! I Tryed a lot, but always get weird movements, so I hoping for help or is they no other way as a keyframe animated Rig?  I don´t want to use it in XNA at the end.

    thx in advance for your help

    Tuesday, June 12, 2012 4:03 PM

All replies

  • Please try the source code here and reply at the bottom of the post and ask the guy to send you his modified source of akiras code. The modified source code includes some nice and more smooth animation rigging capabilities then akiras code such as using bone orientation:

    http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/2bfff4a4-0d2d-40a3-ae65-8299f65bec8c

    You can do freed movement animations with the code of akiras to make any character animation rig movement you need. He designed it to work with 3ds max by importing a script he creates with the bone animations in it.


    Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. - "Sherlock holmes" "speak softly and carry a big stick" - theodore roosevelt. Fear leads to anger, anger leads to hate, hate leads to suffering - Yoda. Blog - http://jefferycarlsonblog.blogspot.com/



    • Proposed as answer by The Thinker Tuesday, June 12, 2012 5:03 PM
    • Edited by The Thinker Tuesday, June 12, 2012 5:04 PM
    Tuesday, June 12, 2012 5:03 PM
  • Hi,

    The Joint Orientation is designed around hierarchical bone orientation scenario, like the Dude in our sample, rather than T-Pose or A-Pose.

    All the bones lie on the y axis (the blue line in the picture), so by default (no rotation) point to the sky.

    I believe you can apply a fixed rotation matrix from the T-Pose to the no pose (the default we have) and multiply our rotation by that to get the result, but we don't have an example on this.

    Hope this helps,
    Mauro.


    - Mauro Giusti. ----------------------------------------------------- There is only one way to do the job: the right way. (Gus)

    Tuesday, June 12, 2012 10:31 PM
  • hi,

    thx a lot for your help!! I understand it now a bit better and can work with this. But I have a new Question and hope you can help with this too.  As I look through the Avateering example, I wonder where the Orientations of the ShoulderLeft and ShoulderRight is set. If I try to just set it, it don`t work.
    Maybe anyone have a tip for me, where I have to look for them?

    greetings,
    nane
    Thursday, June 14, 2012 3:33 PM
  • Hi,

    I am looking for exactly the same solution as nane_r, i.e. what is the bind pose to apply the orientation on to get the right pose. What I understood from Mauro reply is this:

    By default all joints have the rotation set to identity and there is basically no translation applied. Joint positions from Kinect give the translation data for each joint and then then the rotation should be applied? Please correct me if I am wrong. Thanks.

    Tuesday, August 21, 2012 8:31 AM