Hi
That's not really newbies stuff
First our own bvh files only support our standard skeleton (the files for the poses). The hierarchy is defined in the first lines of bvh.
Same goes for motion builder bvhs. These bvh's are normally ASCII files and you can find the expected bone names right in the beginning.
The cmu-skeleton:
Well, I dunno if the standard assets are bundled for Windows, but afaik they are not for us Linux guys. So standard is a rather empty system (at least still for the upcoming release until now).
But it is also on github: the unchanged rig is available from the extra package with the standard assets inside this folder:
https://github.com/makehumancommunity/makehuman-assets/tree/master/base/rigsHybrid rig from community assets is a combination of both, the standard skeleton of CMU + extra bones we have. Maybe people want e.g. to animate fingers or eyes also. I did not try what a skeleton with more bones does, when it is used in motion builder. Some systems simply don't care and you can animate the extra bones after you loaded the animation e.g. into blender. Same goes for the face.
Now the nerd stuff:
If motion builder supports all hand bones it is also possible to rename them, with quite a lot of work. It means to change the .mhskel file by renaming the bones. This works as long as the bones can copy the weights of the standard skeleton.
If that does not work (like for the Bento skeleton), a special .mhw file is added. For CMU they are no additional weights, so there is only a .mhskel file, which is structured as a JSON file.
I don't know if CMU only supports one finger (to simulate the whole hand): But here is the example how it works
- Code: Select all
Example:
"LeftHandFinger1": {
"head": "LeftHandFinger1_head",
"parent": "LeftFingerBase",
"reference": ["finger2-2.L"],
"weights_reference": ["finger2-1.L","finger3-1.L","finger4-1.L","finger5-1.L","finger2-2.L","finger3-2.L","finger4-2.L","finger5-2.L","finger2-3.L","finger3-3.L","finger4-3.L","finger5-3.L"],
"roll": -0.7064877152442932,
"tail": "LeftHandFinger1_tail"
},
# so here is the explanation
"BONENAME": {
"head": "VERTICES_WHERE_THE_BONE_STARTS", # you will find this in the file also
"parent": "PARENT BONENAME", # where BONENAME is connected to
"reference": [SHOULD MOVE LIKE BONE of standard skeleton],
"weights_reference": [THESE WEIGHTS OF STANDARD SKELETON MUST BE USED SO EVERY VERTEX WILL BE MOVED LATER], # could be one or more bones, they are simply summed up, in the case above one finger moves all.
"roll": BONE_ROLL like in Blender,
"tail": "SAME AS HEAD, but other side" # head and tail vertices are used to place the bone inside the human
}
so it is possible to add or change some bone names if they are supported in motion builder and not yet available. parent and bone name should match and the head and tail must be defined somewhere.
But I hope that the cmu might already works.
Greetings