Importing from MakeHuman


#1

This is a follow-on thread from http://hub.jmonkeyengine.org/forum/topic/may-2014-monthly-wip-screenshot-thread/#post-277105

@t0neg0d said: Sorry if this is off-topic. does the model have a skeleton already? Or is this something you need to do yourself?

And when you say mesh/mess… are we talking 3DSMax import mess? Or something a little easier to fix?

I don’t know anything about 3DSMax. The “mess” I referred to included portions of the figure where the mesh crossed over itself or the joints shrank from being bent or twisted.

@erlend_sh said: More so if you send them your feedback! ;) Maybe they've encountered this before and can tell you about a workaround. We really like what they're doing so the more tiny ties between us the better ;)

I assumed they’d be aware of fundamental issues like the ones I encountered. But I’ll raise the issues on their forum and see how they react.


#2

@t0neg0d:
Yes, the MakeHuman model does come with a skeleton. Actually, a choice of seven different skeletons. You should really download the app and try it. The user interface is very intuitive (unlike Blender).


#3

MakeHuman is under very active development (like jME ;-). Last time I downloaded (not that long ago) it was still alpha… (DLed 1.0.0 and all that tasty source code :wink:
Another good thread for a link, I’d think :wink:

So, in your case, you imported the mesh and armature, posed using the armature and tweaked the mesh? Or did you tweak the weights on the mesh?
The former sounds quicker, but the latter seems to me a longer term solution as the model would be improved for future use…
Depending entirely, I suppose on whether you ever expect to bend him up like a pretzel again :slight_smile:


#4

fwiw I’m running MakeHuman version 1.0.0

@foxhavendesigns said: So, in your case, you imported the mesh and armature, posed using the armature and tweaked the mesh? Or did you tweak the weights on the mesh?

I didn’t tweak any weights. I posed using the armature, baked the pose, and then cleaned up the mesh.


#5

Hmmm… Think I need to dig in here…

The character is being used in your maze, though? Animated? (grabbed the read-only, btw).
So you do not animate ingame with the armature, but by tweening baked poses?

I know I should just pipe down and read your source, but I’m wrestling with lightning in one window and actually earning a few coins in another…

My interest in the MH->Blender->(Ogre?)->jME workflow is primarily for boned skinmesh with re-usable animations on the armatures (skeletons), but I’m always open for alternatives :slight_smile:


#6

I tried some MakeHuman models for some concept stuff I was working on last year and it was very painless. I just exported them to blender with a game mesh and skeleton, did the animation in blender, then exported that to jME.


#7
@foxhavendesigns said: The character is being used in your maze, though? Animated? (grabbed the read-only, btw). So you do not animate ingame with the armature, but by tweening baked poses?

I know I should just pipe down and read your source, but I’m wrestling with lightning in one window and actually earning a few coins in another…

This is not a question one could easily answer by reading code.

At the moment, the NPC is not at all animated in the game. The player encounters him in a frozen state, and when he joins the party, he instantly becomes invisible (as in: stands behind the player, who has no rear view).

At some point I (or one of my minions) may want to fill in that transition…


#8

You have minions?
Cool. I want minions. I should have minions. But every time I animate them they run off and work for some other dungeon keeper :stuck_out_tongue:

Out of curiosity, cuz I have a lot of that, which skeleton did you export from MH that gave you so much trouble.?

With future animation always on my mind, I never even think about the higher rez options :-/


#9

I re-opened the MHM file and checked. It uses the ‘game’ skeleton, so that’s probably (99% certain) what I exported.


#10

There’s a new wiki page to document the MakeHuman workflow. Feel free to improve the page if you can:

http://hub.jmonkeyengine.org/wiki/doku.php/jme3:external:makehuman


#11
@sgold said: There's a new wiki page to document the MakeHuman workflow. Feel free to improve the page if you can:

http://hub.jmonkeyengine.org/wiki/doku.php/jme3:external:makehuman

You da man!


#12

Thank you sgold!
I managed to get things working on my slackware linux 14.1 64 bits version.
I will post what I did in the hope to be useful to other noobs like me.

After installing makehuman 1.0.1 (I used the .deb version, and the ar tool to convert it), and installing blendertools on my blender 7.0 I did:

  • Created a human model (very simple, no clothes, game skeleton) and exported to mhx format.

  • Imported mhx into a new blender file having camera, light and box deleted.

  • Added a root bone in existing armature (I selected armature in pose mode by clicking in armature name (same as the char) and clicking on armature icon), then using the key A for selecting all, then ALT + A to insert a new bone. As it comes, I had already cursor on center so this just did it.

  • I selected the new bone, renamed it to rootBone, changed to edit mode, added it to bone group spine, then selected the hip bone, made rootBone its parent.

  • I changed to object mode, selected (select menu) the mesh and the armature, and in the object menu applied location, rotation and scale.

  • I saved the model then built 2 animations for it (stand and walk).

  • I imported the model to jME (3.0 stable last system version: Linux version 3.10.17 running on amd64; ISO-8859-1; en_US (jmonkeyplatform)).

  • After editing the j3o model file in Scene Composer, at first I was unable to run the animations. Then after expanding the model contents in SceneExplorer Window, I found out that there was another anim control under garath:Body (garath is my char name). Those animations run very smooth \o/ (I dont know why they are under the body and not under the all model). I had to turn on the light icon on scene composer, as I have no light added to my model.

  • To use it on my code I had to create the AnimControl like this: control = player.getChild(“garath:Body”).getControl(AnimControl.class);

Next goal is to find out how to use pre built bvh animations with makewalk plugin. I was able to import them into jME, but they showed pretty twisted. I think the cause is that even if I added a rootBone, it is not included in the animation. One can see that when the model moves, the rootBone keeps static on the center (this shows on blender). I will keep trying, maybe I can edit the bvh file and add the rootBone manually. Any hints on how to make it work would be awesome.


#13

Hi

I was for some reason unable to get good results when importing from MakeHuman 1.0.2 to jME 3.0 with the above chain MakeHuman -> Blender -> jME.

The AnimControl on top level made the entire body rigidly hobble around when used from Scene Editor. Trying to get the top level AnimControl from the node gave out just null when used in application.

Adding root bone helped a bit with getting MakeWalk imported animations to work from under Body node but all extra assets like cloths etc did not follow the animation (naturally).

Has anyone found a robust workflow to import MakeHuman (1.0.2) assets + animations through blender or Ogre3D? If you have found one I would be very interested in detailed guide.

I am also interested in exchange of creative commons licensed animations for MakeHuman game skeleton or similar.

Best regards,
Tommi


#14

After a long, long wait, a new version of MakeHuman has appeared: 1.2.0 alpha 1. I’m eager to try it out.