Hey it has not been solved from my side at least.
good point with the joint count.
but should it not be also possible to ignore the joints that are too many and apply the rotation with setslice just to the ones that fit best to the positions?
model wise i know some models that could be tested
Hey I bought Cinema Mocap for Unity so i am motion capturing at home now.
It records in Collada with skeleton for all joints the Kinect 1 ( sorry dont have V2 yet) has to offer . The recording aint perfect but works for me to play around.
thanks for the mesh, that will be a good start. i’ve to say i’ve not come very far yet other than seeing that the msdn-forums are full with similar questions and no answer that helped me…
hi joreg, there is not obvious how spine and hip left right shud work since they kinda branch from root joint’s by offsetting. I’m hoping i got this picture in your second link more or less correct…
ouright, thanks, but i’d argue we are still not there. please compare the two images:
here i’ve loaded and displayed the joint-orientations of proletariat2: proletariat2
here i am standing in front of the kinect: kinect2-0
so here is what i see:
proletariat is looking towards positive Z while kinect default orientation is in negative Z. if you simply rotate the mesh by 180° around Y that should fix this.
you modeled the Y-axis as i recommended above (“from a joint to its parent”) but now looking at the second image that suggests they should rather point in the exact opposite direction (ie “in the parent bone’s direction”) to match the default kinect orientations. i am confused about that but would now think that trying to match the default kinect orientation should be the way to go. so if you could flip those again
so not to do too many changes at once i think it would be great if you could do those 2 and then we have a look at it again.
could u might save the matrices of kinect2-0 and post it as patch so i can study it closely it’s a script that aligns joints, so i need some proper reference not to mess it up. relaxed T pose proly the best. think i got the idea, but reference patch would be the best
edit: fixing by pic seems enough data
edit2: hating microsoft, who would use negative Z as positive Z i wonder if i can even set that
edit3: ok seems that general problem with maya .-/|- (brain clinking…)
edit4: wtf i thought at list i can change that in max… no way anymore lol
ok this is still most wierd retarded shit i ever done… i used some -Z to fix that up hope it’s gonna work
not sure about details but concerning point 1 (“proletariat is looking towards positive Z…”) i thought it would really be as simple as: select all -> rotate 180° around Y
no?
no, u can’t rotate rig easy also it’s all local transforms so no matter witch way it pointing, only the axis of scene witch might be a problem in our case also
anyways i prolly need a test patch for further debuggin
ok, so i hope attached patch can help to get this sorted.
it allows you to view your mesh next to live kinect data and compare joint names, orientations and degrees.
i’d say the first goal should be to get all the arrows of your mesh’s skeleton point in the same directions as the kinect ones. that should help with further steps…
quick update…
found extra an issue… inverting axis in maya results skin twists in dx11
seems assimp dx11 way more perky then dx9 collada. Need some extra test on dx9 here no clue if that prolitoriat_3 is working on dx9…
Anyways pain and suffering only way here…
ok, i’m afraid the first thing we’d still have to get right is that 180° rotation around Y of the whole model.
so when loading the model in vvvv it has to look towards negative Z. note: it doesn’t help to change the Coordinate configuration settings in ColladaFile (EX9.Geometry) because those somehow don’t affect the joints.
only when that rotation is fixed it makes sense to try and get the individual joints line up with the orientations coming from the kinect.
also for simplicity i’d concentrate on DX9/collada for a start, once we have that it should be easier to make a version for DX11.
mm in 11 version it actually properly oriented i’m afraid this the negative Z vvvv uses by default… witch actually can be fixed by multiplying root joint with scale 1,1,-1 however rotating the rig won’t be a quick job, since to make it that way i need to redoo whole skeleton thing otherwise it will be just rotated from root transform
btw from my tests on dx11 single joint works pretty ok not on whole thing tho
and since i had some sucess on a 2d version, i’m pretty sure i know how to fix that thing…
ouright, i think this is getting somewhere, see here: kinect2skinner-directx-renderer and attached. the guy is moving all his limbs according to my movements. i am still not sure how to exactly deal with the extremities (feet, handtips, thumbs) correctly but i think the rest is at least correct concerning the SkinningTransforms.
you see that i had to rotate the mesh by 180° around Y and you see some of the joints seem twisted, but i think it would be best to fix those in the mesh-skeleton. you can do this anto!
Just a quick question … is there going to be similar node/contribution for Kinect 1 ?
I ask because the one we have ( AnimatedCharacter (AssetsDB) ) now is for OpenNI and at least i didn’t manage (don’t have the skills) to make it work properly with MS SDK. OR am I doing something wrong ?
Kinect1 one still quite usefull i think , as it can work on low end /old machines …
i haven’t looked at the orientation-data we get for kinect1 yet. from what i read it is different, so probably the method used here cannot directly be applied. anyway first step: we’d need a skinned mesh with bones according to the kinect1 bones. scroll down here to see the requirements: kinect#kinect v1
I have skinned mesh with animation already :)
the file that i attached few posts up complies with the Kinect1 naming in the document you linked to. Just checked it in Blender and the names are a match.
I am asking because i spend a week or so trying to make it work and i have no success whatsoever .
EDIT: Ok may be not, my bones seems very similar to the scheme but i am not sure yet. Searching fro reference from MS