0

I am working on driving the motion of a skeleton-based 3D character, which is basically a usual 3D model embedded with kinematic skeleton like:

Skeleton-based 3D character

I want to change the pose of this 3D character by inputting the joint angles from 3D pose estimation such as Azure Kinect or iPhone ARKit. I don't understand why each joint has its own x, y and z axis.

Joint's coordinate of Azure Kinect

I also read some document talking about forward kinematics. The skeleton-based 3D characters may come from various 3D resource website. How to make the 3D pose estimation tool and 3D character in the same coordinate system? One may be the z-axis forward, and the other may be the z-axis upward. I have to write the codes to drive the motion without the 3D software like Blender and Maya.

This is the result I want to have:

Result

When I set the joint angles in 3D software Blender, it didn't show the same pose as the video. Here is one example I failed. I only set the root joint and the path to the right shoulder.
Image link
Do you know why I cannot directly set the joint angle for the 3D model?

  • Hi. Each coordinate system is used to convert local coordinates to world coordinates. The pose of each coordinate system depends on the joint angles and all previous joints up the chain. As far as this question, what exactly are you asking here? – JAlex Nov 01 '21 at 13:07
  • Hi @JAlex, I have just added the question. Please take a look, thanks. – Jacob Chang Nov 02 '21 at 06:27
  • put an exclamation point before an image link to show up as an image on the post, or just use the button to embed images when [edit]ing. – JAlex Nov 02 '21 at 14:26
  • So this seems like a Blender specific question, and not a general question about kinematics. – JAlex Nov 02 '21 at 14:27

0 Answers0