Hi
I guess I should do a documentation about the skeleton files ... those are also ASCII or to be more precise JSON files. So one can change and edit them.
The information of what is tail and head is stored in these files. Btw.: is a wavefront obj able to handle skeletons itself? I think not.
Look for default,mhskel and the cmu...mhskel in the directory data/rigs. Open it with an editor and look for "root".
- Code: Select all
"root": {
"head": "root____head",
"parent": null,
"reference": null,
"rotation_plane": "root____plane",
"tail": "root____tail"
},
Next is to search for root____head. You will see only one vertex, because for the default the head starts on the skin, This is one of our problems btw. If one changes the buttocks the character is tilted if you use poses from other characters, because the head of the root bone changes position. The tail is formed by a cube inside the body. Use the meridian of the cube, that is the position. It is no rocket science. I tried a bento with that method.
- Code: Select all
"root____head": [
4223
],
"root____tail": [
13622,
13623,
13624,
13625,
13626,
13627,
13628,
13629
],
Now try the same with the cmu skeleton. These are the vertex-numbers, Compare that with the obj ... that's it.
Be careful not all systems consider Y as "up". Some use Z. I work with UE and standard skeleton, of course no pre-made animations can be used then. But it works. When you use CMU and if your character looks like his arms are bent, there is a method to recalculate the bone chains in UE. This is because of the dimensions of the mannequin. And UE is able to handle every skeleton! But the use of Mixamo for animations often demands to use other skeletons as our standard. You will find hundreds of videos of smart guys
being able to download and click some buttons in YouTube. But if you want to find out how it really works you will find one or two with a lot of luck.
I added a file called UE demo here (click on next link), when I discussed the topic with Woodcat. He wanted to use it in engine Godot with less overhead (UE IS complicated but I also started with it).
I use the standard skeleton without toes, own animations to e.g. allow a step aside or a rotation by 90 degree and an overlay to speak. It works. But it is more a test simulator in my case, so do not wonder.
http://www.makehumancommunity.org/forum/viewtopic.php?f=3&t=19728(inside the Jukebox in my demo is another skeleton, that also works and you can see the record player work, so UE is really good for this)
Skeleton-View UE: It always starts from the ground. so it is normal the root bone is "connected". For the default skeleton, the arms are not connected to the spine but UE also connects them with an "extra" bone. I guess these are simply the parent/child relations. These are not real bones. If it is possible to displace bones by position (e.g. jiggle bones do that) it is a way to simulate it with a bone in between with rotation + scaling instead of positioning the child bone.
Because I do the animations in Blender, normally the character is exported to blender first. I do some corrections there and then I use the export in Blender ... and there I have to enter the correct Y/Z direction.