如何创建kinect兼容骨架 [英] How to create a kinect compatible skeleton

查看:83
本文介绍了如何创建kinect兼容骨架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在3ds max中创建一个100%kinect兼容的骨架,然后我会在一个简单的角色上绘制它以测试旋转。但是在kinect sdk v1.5文档中,有关方向的信息并不清楚。 sdk中的avateering样本重新定位
花花公子模型的所有骨骼,并应用了许多约束,这使得很难理解如何简单地旋转角色肢体。我不想重新定位任何骨骼,我希望它与NUI Skeleton完美配合。 

I want to create a 100% kinect-compatible skeleton in 3ds max, then I will skin it on a simple character to test rotations. But in the kinect sdk v1.5 documentation, the information about orientations is not clear. The avateering sample in the sdk retargets all of the bones of the dude model and applies many constraints which makes it hard to understand how to simply rotate a character limb. I dont want to retarget any bones, i want it to perfectly work with NUI Skeleton. 

例如,我想像这样旋转化身的左肩:

For example, I want to rotate the avatar's left shoulder like this:

Model.Bones["LeftShoulder"].Rotation = skeleton.BoneOrientations[JointType.ShoulderLeft].HierarchicalRotation.Matrix

所以我想知道:

So I want to know:


  1. NUI Skeleton使用哪种默认姿势?  T姿势还是姿势? (我的意思是所有骨骼方向都是
    或单位矩阵的姿势)
  2. 如何在默认姿势中定义默认轴?我将使用Hierarchical旋转,那么我应该如何构建骨架骨骼?如下所示?这是来自msdn的图片,它只显示了3个关节,但我想知道所有关节的轴。在我使用
    确定它按预期工作后,我将它导出到fbx并在XNA中使用它。我需要一张类似下面的图片,它会显示默认姿势中的所有关节以及它们的轴方向。例如,这个家伙的手臂向下,所以他的肩膀旋转
    绕Z轴-90或零?

  1. Which default pose does NUI Skeleton use?  T pose or A pose? (I mean the pose which all bone orientations are zero or identity matrix)
  2. How are the default axes defined in that default pose? I will use Hierarchical rotations, so how should I build the skeleton bones? As shown below? It is a picture from msdn, it shows only 3 joints, but I want to know the axes for all joints. After I make sure it works as intended, i will export it to fbx and use it in XNA. I need a similiar picture like the one below which shows me all the joints in default pose together with their axis directions. For example, this guy's arm is down, so his shoulder rotation around Z axis -90 or zero?





$




那么如何在3ds max中创建一个完美的NUI骨架? Biped和CAT不起作用,因为它们在骨骼中放置了一些无法重置的默认旋转,例如骨盆骨骼总是在X轴上旋转-180度这是一件坏事,因为
改变骨骼的局部轴XNA,因此与NUI骨架关节不兼容,需要重新定位。所以我会创建手动骨骼,但我需要一些指南。

So how can I create a perfect NUI Skeleton in 3ds max? Biped and CAT doesnt work because they put some default rotations in bones which cant be reset, for example the pelvis bone is always -180 degrees rotated in the X axis which is a bad thing because it changes the bone's local axes in XNA, thus not compatible with NUI Skeleton joints and requires retargeting. So I will create manual bones but I need some guide.

 

 

推荐答案

看看akira的Kmotion并请他将源代码更新到v1.5,但我可能会尝试更新他的来源。如果你擅长编程
blender请修改他的代码以包含blender并上传到某个地方,他已经将它从kinect sdk转移到一个用于3ds max内部的工作。只需拿走他的代码,我认为你可以通过读取microsoft.kinect引用来使用它,除了程序中的v1.5,但是当我再次查看它时我将不得不看。
Take a look at akira's Kmotion and ask him to update source code to v1.5 but I will probably try updating his source too. He already got it working with transferring the skeleton from kinect sdk into one for use inside of 3ds max if your good at programming blender please modify his code to include blender and upload somewhere. Just take his code and I think you can use it by readding the microsoft.kinect reference except the v1.5 in the program but I will have to see when I look at it again.


这篇关于如何创建kinect兼容骨架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆