I like to use QAvimator to generate poses and basic animation. As a first step I made a rig/skeleton. Because of the similarities between the Opensim Rig
and the QAvimator rig I used the OpenSim as template and came to the following rig:
- Code: Select all
{
"bones": {
"abdomen": {
"head": "mPelvis_head",
"parent": "hip",
"reference": ["spine05"],
"roll": -4.466459702090475e-10,
"weights_reference": ["spine05","pelvis.R","pelvis.L"],
"tail": "mPelvis_tail"
},
"chest": {
"head": "mChest_head",
"parent": "abdomen",
"reference": ["spine01","spine02"],
"roll": -1.097262385119091e-11,
"tail": "mChest_tail"
},
"head": {
"head": "mHead_head",
"parent": "neck",
"reference": ["head"],
"roll": -3.3251599390604625e-11,
"tail": "mHead_tail"
},
"neck": {
"head": "mNeck_head",
"parent": "chest",
"reference": ["neck01","neck02","neck03"],
"roll": 0.0,
"tail": "mNeck_tail"
},
"lCollar": {
"head": "mCollarLeft_head",
"parent": "chest",
"reference": ["clavicle.L","shoulder01.L"],
"roll": 3.1415927410125732,
"tail": "mCollarLeft_tail"
},
"rCollar": {
"head": "mCollarRight_head",
"parent": "chest",
"reference": ["clavicle.R","shoulder01.R"],
"roll": -3.1415927410125732,
"tail": "mCollarRight_tail"
},
"lShldr": {
"head": "mShoulderLeft_head",
"parent": "lCollar",
"reference": ["upperarm01.L","upperarm02.L"],
"roll": 3.138939619064331,
"tail": "mShoulderLeft_tail"
},
"rShldr": {
"head": "mShoulderRight_head",
"parent": "rCollar",
"reference": ["upperarm01.R","upperarm02.R"],
"roll": -3.138939619064331,
"tail": "mShoulderRight_tail"
},
"lForeArm": {
"head": "mElbowLeft_head",
"parent": "lShldr",
"reference": ["lowerarm01.L","lowerarm02.L"],
"roll": 0.0,
"tail": "mElbowLeft_tail"
},
"rForeArm": {
"head": "mElbowRight_head",
"parent": "rShldr",
"reference": ["lowerarm01.R","lowerarm02.R"],
"roll": 0.0,
"tail": "mElbowRight_tail"
},
"lHand": {
"head": "mWristLeft_head",
"parent": "lForeArm",
"reference": ["wrist.L","metacarpal2.L"],
"roll": -0.5689927339553833,
"tail": "mWristLeft_tail"
},
"rHand": {
"head": "mWristRight_head",
"parent": "rForeArm",
"reference": ["wrist.R","metacarpal2.R"],
"roll": 0.5689927339553833,
"tail": "mWristRight_tail"
},
"lThigh": {
"head": "mHipLeft_head",
"parent": "hip",
"reference": ["pelvis.L","upperleg01.L","upperleg02.L"],
"weights_reference": ["upperleg01.L","upperleg02.L"],
"roll": 0.0,
"tail": "mHipLeft_tail"
},
"rThigh": {
"head": "mHipRight_head",
"parent": "hip",
"reference": ["pelvis.R","upperleg01.R","upperleg02.R"],
"weights_reference": ["upperleg01.R","upperleg02.R"],
"roll": 0.0,
"tail": "mHipRight_tail"
},
"lShin": {
"head": "mKneeLeft_head",
"parent": "lThigh",
"reference": ["lowerleg01.L","lowerleg02.L"],
"roll": 0.0,
"tail": "mKneeLeft_tail"
},
"rShin": {
"head": "mKneeRight_head",
"parent": "rThigh",
"reference": ["lowerleg01.R","lowerleg02.R"],
"roll": 0.0,
"tail": "mKneeRight_tail"
},
"lFoot": {
"head": "mAnkleLeft_head",
"parent": "lShin",
"reference": ["foot.L"],
"roll": 0.20731236040592194,
"tail": "mAnkleLeft_tail"
},
"rFoot": {
"head": "mAnkleRight_head",
"parent": "rShin",
"reference": ["foot.R"],
"roll": -0.20731236040592194,
"tail": "mAnkleRight_tail"
},
"hip": {
"head": "Hips_head",
"parent": null,
"reference": ["root"],
"roll": 0.0,
"tail": "Hips_tail"
}
},
"copyright": "(c) Makehuman.org 2022",
"description": "QAvimator compliant skeleton",
"joints": {
"Hips_head": [
4317
],
"Hips_tail": [
13622,
13623,
13624,
13625,
13626,
13627,
13628,
13629
],
"mAnkleLeft_head": [
13830,
13831,
13832,
13833,
13834,
13835,
13836,
13837
],
"mAnkleLeft_tail": [
13798,
13799,
13800,
13801,
13802,
13803,
13804,
13805
],
"mAnkleRight_head": [
14270,
14271,
14272,
14273,
14274,
14275,
14276,
14277
],
"mAnkleRight_tail": [
14238,
14239,
14240,
14241,
14242,
14243,
14244,
14245
],
"mChest_head": [
13646,
13647,
13648,
13649,
13650,
13651,
13652,
13653
],
"mChest_tail": [
14534,
14535,
14536,
14537,
14538,
14539,
14540,
14541
],
"mCollarLeft_head": [
14062,
14063,
14064,
14065,
14066,
14067,
14068,
14069
],
"mCollarLeft_tail": [
14046,
14047,
14048,
14049,
14050,
14051,
14052,
14053
],
"mCollarRight_head": [
14502,
14503,
14504,
14505,
14506,
14507,
14508,
14509
],
"mCollarRight_tail": [
14486,
14487,
14488,
14489,
14490,
14491,
14492,
14493
],
"mElbowLeft_head": [
14038,
14039,
14040,
14041,
14042,
14043,
14044,
14045
],
"mElbowLeft_tail": [
14030,
14031,
14032,
14033,
14034,
14035,
14036,
14037
],
"mElbowRight_head": [
14478,
14479,
14480,
14481,
14482,
14483,
14484,
14485
],
"mElbowRight_tail": [
14470,
14471,
14472,
14473,
14474,
14475,
14476,
14477
],
"mFootLeft_head": [
13798,
13799,
13800,
13801,
13802,
13803,
13804,
13805
],
"mFootLeft_tail": [
13726,
13727,
13728,
13729,
13730,
13731,
13732,
13733
],
"mFootRight_head": [
14238,
14239,
14240,
14241,
14242,
14243,
14244,
14245
],
"mFootRight_tail": [
14166,
14167,
14168,
14169,
14170,
14171,
14172,
14173
],
"mHead_head": [
14070,
14071,
14072,
14073,
14074,
14075,
14076,
14077
],
"mHead_tail": [
14070,
14071,
14072,
14073,
14074,
14075,
14076,
14077,
14566,
14567,
14568,
14569,
14570,
14571,
14572,
14573
],
"mHipLeft_head": [
13846,
13847,
13848,
13849,
13850,
13851,
13852,
13853
],
"mHipLeft_tail": [
13838,
13839,
13840,
13841,
13842,
13843,
13844,
13845
],
"mHipRight_head": [
14286,
14287,
14288,
14289,
14290,
14291,
14292,
14293
],
"mHipRight_tail": [
14278,
14279,
14280,
14281,
14282,
14283,
14284,
14285
],
"mKneeLeft_head": [
13838,
13839,
13840,
13841,
13842,
13843,
13844,
13845
],
"mKneeLeft_tail": [
13830,
13831,
13832,
13833,
13834,
13835,
13836,
13837
],
"mKneeRight_head": [
14278,
14279,
14280,
14281,
14282,
14283,
14284,
14285
],
"mKneeRight_tail": [
14270,
14271,
14272,
14273,
14274,
14275,
14276,
14277
],
"mNeck_head": [
14534,
14535,
14536,
14537,
14538,
14539,
14540,
14541
],
"mNeck_tail": [
14070,
14071,
14072,
14073,
14074,
14075,
14076,
14077
],
"mPelvis_head": [
13622,
13623,
13624,
13625,
13626,
13627,
13628,
13629
],
"mPelvis_tail": [
13630,
13631,
13632,
13633,
13634,
13635,
13636,
13637
],
"mShoulderLeft_head": [
14046,
14047,
14048,
14049,
14050,
14051,
14052,
14053
],
"mShoulderLeft_tail": [
14038,
14039,
14040,
14041,
14042,
14043,
14044,
14045
],
"mShoulderRight_head": [
14486,
14487,
14488,
14489,
14490,
14491,
14492,
14493
],
"mShoulderRight_tail": [
14478,
14479,
14480,
14481,
14482,
14483,
14484,
14485
],
"mWristLeft_head": [
14030,
14031,
14032,
14033,
14034,
14035,
14036,
14037
],
"mWristLeft_tail": [
13862,
13863,
13864,
13865,
13866,
13867,
13868,
13869
],
"mWristRight_head": [
14470,
14471,
14472,
14473,
14474,
14475,
14476,
14477
],
"mWristRight_tail": [
14302,
14303,
14304,
14305,
14306,
14307,
14308,
14309
]
},
"license": "GNU Affero General Public License 3",
"name": "QAvimator",
"tags": ["game"],
"version": 102
}
I can apply the skeleton to a human character, apply a pose and export the bvh.
I expect the skeleton in the bvh file to be like shown below
- Code: Select all
hip
+ abdomen
| + chest
| | + neck
| | + head
| | + End Site
| + lCollar
| | + lShldr
| .....
In the file exported by makehuman I find additional "bones" like shown below
- Code: Select all
hip
+ abdomen
| + __chest
| + chest
| | + neck
| | + head
| | + End Site
| | + __lCollar
| | + lCollar
| | + lShldr
| .....
MakeHuman adds "bones" for __chest, __lCollar, __rCollar, __lThigh and __rThigh.
Can anybody explain my error ? Why are those extra "bones".
Besides this, the second problem is that a model exported in TPose is the only pose shown correctly in bvhacker.
All other poses gets completly mangeled in bvHacker. I believe this comes from the fact, that
the rig and qavimator are based on the tPose instead of the Makehuman defaukt pose.
How can this be translated ?
Hints on these topics are highy appreciated.
Thanks
Luke