MakeHuman and Unity


MakeHuman is an open source tool for creating 3D characters. This discussion forum is intended to be a collection of tips and tricks for successfully importing these models into Unity.

This initial post will focus on a workflow we developed with help from @ranaUK . Why this workflow instead of the one published on the MakeHuman Wiki? Because this is the only workflow that we’ve discovered that maintains the available facial BlendShapes, and leverages an efficient but highly animatable armature with eye, eyelid, and jaw bones.

Getting setup for the workflow

MakeHuman Create and Export Character Instructions

  • Select the [Modelling] tab to design a character.

  • Select the [Geometries] tab to select your characters clothes, eyes, hair, teeth, topologies, eyebrows, eyelashes, and tongue.

  • Select the [Materials] tab, and select your characters skin texture.

  • Select the [Pose/Animate] tab, and select the [Unity] rig preset. This is only available if you’ve installed the preset described above in the [Getting setup for the workflow] section.

  • Select the [Files] tab, then the [Export] tab, and set the following options:

  • Mesh Format: MakeHuman Exchange (mhx2)

  • Options: Feet on ground

  • Scale units: meter

Import MakeHuman export into Blender for FBX file conversion

  • Launch Blender, and select [File] → [Import] → [MakeHuman (.mhx2)…].

  • Use the following MHX2 import options:

  • Override Exported Data: Checked

  • Import Human Type: Base, Offset, Face Shapes

  • Masking: Apply, Conservation Masks

  • Rigging: Add Rig, Rig Type - Exported, Custom Shapes

  • With the character imported, select [File] → [Export] → [FBX (.fbx)].

  • Use the following FBX export options:

  • Version: FBX 7.4 binary

  • Main

  • Scale 1.00

  • Apply Scalings: All Local

  • Forward: Z Forard

  • Up: Y Up

Import the FBX into Unity and setup materials

  • In your Unity project, create a folder to hold the texture folder MakeHuman exported during the MHX2 export, and the FBX file you exported from Blender.

  • Once imported, and any normal maps automatically converted by Unity, select your character in the [Project] folder, select the [Rig] tab in the [Inspector] window, and change the [Animation Type] from [Generic] to [Humanoid] and the [Avatar Definition] to [Create From This Model], and click [Apply]. This will make the rig compatible with Unity’s Mecanim animation system.

  • Drag the character into your scene, expand the characters hierarchy and setup the following material properties. (These are recommendations only, tune to your own preference).

  • Body:

  • Shader: Standard

  • Rendering Mode: Opaque

  • Smoothness: 0.1

  • Eyebrow:

  • Shader: Standard

  • Rendering Mode: Fade

  • Smoothness: 0.1

  • Eyelashes:

  • Shader: Standard

  • Rendering Mode: Fade

  • Smoothness: 0.1

  • Famale_casualsuit02 (or whichever clothing you selected when building your character):

  • Shader: Standard

  • Rendering Mode: Opaque

  • Smoothness: 0.1

  • Low-poly (eyes):

  • Shader: Standard

  • Rendering Mode: Opaque

  • Smoothness: 0.5

  • Ponytail (or whichever hair you selected when building your character):

  • Shader: Standard

  • Rendering Mode: Fade

  • Smoothness: 0.1

  • Teeth:

  • Shader: Standard

  • Rendering Mode: Opaque

  • Albedo color: white with no transparancy

  • Smoothness: 0.5

  • Tongue:

  • Shader: Standard

  • Rendering Mode: Opaque

  • Smoothness: 0.5

4 Likes

Do you have a great MakeHuman work flow that’s easier, more efficient, or offers some other advantage? Post it here, let’s make this a community effort to simply (or at least document) the processes available.

I’m looking for a character creator for a while now.
And I was just about to gibe MakeHuman a try.
My main issue is, I want/need to make a human like character but I need to add/remove some parts
Like a human without feets, or add a tail. Waht I really need is making a character with 6 arms.

can I do all this with makeHuman?. I tried to model my own Character with 3dsmx as I do for all my non Character models, but modeling an Animal/Human is beyond my modest modeling skills

2 Likes

Could you make a demo with makehuman charactor in? Then I can copy the parameters from your demo. I watched the tutorial on your website, and there are lot of configurations.

Step 3:
You forgot to add that you need to export the materials from the fbx file to a folder called “materials” so that you can edit them. Or else the settings are grayed out.

Otherwise this worked great!

I am not known to character animation but have used make human for 3d work with blender etc…
I just tried that and it seems the imported names are wrong.
for example hips should be Hips in order to allign with animations. I wonder if I should blame to topology file or the Unity rig file. Any thoughts? I need to create a simple walking animation to test something

Would it be possible to create a human along with a voice file gesturing as if it were real?

1 Like

Of course, but MakeHuman won’t make the animations for you nor sync them with voiced dialog or scripted emotions. MakeHuman creates a skinned and rigged humanoid character model that can be imported into Unity or your preferred 3D modeling/animating tool.

There are tools available in the Asset Store or elsewhere that connect facial (blendshape) and body (skeleton) animations with audio clips for voiced dialog, or of course you can hand-animate using either an external 3D tool (Blender, Maya, etc.), or you can use one of the tools that allow animation directly in Unity. (Unity’s own Timeline can do the skeleton animations, although it is not tailored to that specific purpose.)

Tools you could investigate (in no particular order, and cited here for reference and not recommending for or against any in particular):

Within Unity:

  • RT Voice Pro
  • LipSync Pro
  • UMotion
  • Very Animation
  • Skele
  • Final IK [note 1]
  • SALSA with Random Eyes
  • Various libraries of premade Mecanim animation clips (in particular, consider the large motion capture library from Carnegie-Mellon University, published in three parts as a free download on the Asset Store)
  • Mixamo

External:

  • Blender [note 2]
  • Maya

Notes:

  • As an exception to the “no recommendations”, I will recommend Final IK, although it just does inverse kinematics and is not a general-purpose animation tool. In other words, it’s a great tool if you want to animate an object (such as something a character is holding, or an invisible position target for the character’s look direction or extremity position) on your own and then use IK to have the character’s joints believably follow the object. Final IK is not designed for what you’ve specifically stated as your goal, but it might be useful for one piece of the puzzle if you decide to create your own solution locally.
  • I have used Blender fairly extensively, though mostly for hard-surface modeling and animation and not for characters. Its learning curve is formidable, but it is extremely empowering to add Blender to your skill set as a strategic educational pursuit.

I hope these lists are helpful to you.

3 Likes

i’m pretty new to all the 3d modeling stuff. How is makehuman for creating mobile optimized, low poly models?

I think the answer to that is going to depend on what you mean by “low poly”, defined in terms of both your artistic decisions and the range of devices you’re targeting. It’s pretty easy to generate a test model from MakeHuman, and the software is a free download, so I would suggest you do that and take a look at the output.

You may also find that you can use decimation tools in Unity (there are abundant choices from the Asset Store and some free code from GitHub and similar open source repositories) or in your 3D modeling tool of choice. The topology of what comes out of MakeHuman is pretty good, which is a prerequisite for acceptable decimation results. Of course, how aggressive decimation you can tolerate depends heavily on your target platforms and artistic choices.

@syscrusher

thanks for the very thoughtful and useful reply! I’ll give it a try and see how it goes. Learn by doing!

1 Like

@Crazy-Minnow-Studio
I love that makehuman software.
Thanks for the tut dude. It’ll definitely come in handy for me.:slight_smile:

I’m trying to get the MHX2 plugin working in Blender. Blender can find the addon without issue, but it says I need to upgrade Blender to 2.8x… I’m using the latest version, 2.81.

1 Like

Personally for my games I often use AdobeFuse (mixmao), then I import the models on blender for the eventually mesh decimate ecc.

But unfortunately Fuse has been standing still for some time and is not updated with few resources.
So I’m experimenting with DAZ Studio as you can see in one of my videos:

Thank you for mentioning DAZ. I never heard of it and I’m very much interested in anything that will allow someone who isn’t an expert modeller to create decent looking humanoid models. When I get home from work I’ll check out your video.

In this video I just tested the rendering but if you want to use the characters for the games they also have a decimator for scaling the mesh. It also has a huge assortment of objects, hair, clothes etc.
Daz Studio is free, but the only flaw is that the licenses if you use third-party objects are a little expensive. :face_with_spiral_eyes:

I’m having some trouble with this process, especially with the hair.

In HDRP, everything mostly works well. To get the hair to work without putting a smear across the forehead, you can use alpha clipping, but setting the hair to transparent also works and it looks way better. The hair ends up quite shiny though and is too dark.Generally, the entire model is extremely dark - to fix it, I had to turn down the normal strength to almost zero, which seems like the wrong way to fix it.

The main thing is that I’m trying to use URP for the framerate boost. In URP, setting the hair to transparent makes it see-through (this does not happen in hdrp).The only way to get it working then is with alpha clipping and opaque, but its chunky that way. To get it to work in URP with transparency on, I have to disable ‘receive shadows,’ which isn’t very ideal either.

Does anybody know how to get the hair to look right under URP?

All my characters are shiny, black, and the textures are not editable. Using Unity 2019.3.3f1 in HDRP mode.

select you 3d model and go to the material tab and hit export material

I have the same problem. I have 2.82. Did you find a solution for this? I have tried to put the import_runtime_mhx2-folder both in the
C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\addons-folder, then it doesnt show up at all. Then I put it in AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons it shows up, but with the warning you described and it doesn’t show up under file/imports