KinectMocap4Blender icon indicating copy to clipboard operation
KinectMocap4Blender copied to clipboard

Feedback/Feature Request

Open Jgwman opened this issue 4 years ago • 4 comments

Hi! I hope it's OK that I'm posting this here; it's not really an issue, but this seemed to be the best place for it.

I just tested version 1.2 in Blender 2.79, and got it set up and working very easily. I'm in a similar boat as you - I need game animations and I'm a programmer and definitely not an artist :)

I wanted to ask about whether you are planning to add, or might consider adding, any of the following features:

  1. Tracking bone orientation (rotation)

  2. Tracking position (root motion)

3a. Adding the rest of the bones that the Kinect v2 SDK natively supports. If I understand correctly, the joints tracked should allow you to add hip bones and thumb bones to your existing bone tracking list.

3b. Adding tracking for other bones whose joints aren't natively tracked by the Kinect v2 SDK (i.e. fingers and face). I'd personally find finger tracking to be a helpful timesaver, and there's already at least one library for Kinect v2 finger tracking (though this one is C#): https://github.com/LightBuzz/Kinect-Finger-Tracking

Thank you for the work you've done on this so far! I look forward to future releases.

Jgwman avatar Jul 23 '19 04:07 Jgwman

Hi! Thank you for your feedback.

I am currently writing on ading position tracking (for root motion). It should be ready soon but I have to implement a new configuration phase that might make it harder to use.

What do you mean by bone orientation (1) ? Isn't it what this project is all about?

I will think about hips and thumbs, but I am pretty sure I will not add extra bones (at least for now), as it will require much more mathematical research on my part and I may not find the time and energy, as exciting and appealing as it would be.

Have fun!

moraell avatar Jul 23 '19 07:07 moraell

Thanks for the response!

I should have clarified what I mean by orientation. The bones naturally have an orientation between the positions of the two joints. But it is my understanding that the Kinect SDK also provides rotation data for the joints (in addition to the position data). Incorporating that allows for rotation on more axes. For example, unless I was doing something wrong, I was unable to rotate my head left or right (only forward and back, since this moves the position of the head joint), since my "head joint" would be in the same position but facing the opposite direction.

I hope that makes sense. Let me know if this is already implemented - I may have simply made a mistake of some sort.

Jgwman avatar Jul 23 '19 07:07 Jgwman

I see! Indeed, the SDK provides joints orientation. However, I am not sure it is that accurate and follows invisible rotation of a bone (along its length axis). Actually, I only use joints positions and extrapolate bone rotations. Using joints orientation instead would mean rewriting half the project, and I don't know how I can apply the noise reduction filter on quaternion rotations. That's why I can't change it right now. Maybe I will perform a few tests, after I have something that works as I want, and see if the joint orientation is accurate enough to think about it.

About your question on hip bones, there is not much I can do. The human body only has one hip bone (corresponding to Spine0 in the addon) and the joints in the SDK are particular parts of this bone (which is basically the base of your spine). Blender armatures sometimes have extra bones at the hips for better rigging. If these extra bones are parented to the spine0 bone, they should follow its movement, which, I think, is a good thing. You can always add movement manually if you need some.

I hope this was clear. Do not hesitate to discuss or give more feedback, this is really interesting and opens new possibilities for the project.

moraell avatar Jul 23 '19 12:07 moraell

Makes sense, thanks! I'll be sure to let you know if I think of anything else.

Jgwman avatar Jul 23 '19 16:07 Jgwman