Search Unity

  1. Unity 2019.4 has been released.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  3. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

MakeHuman and Unity

Discussion in 'External Tools' started by Crazy-Minnow-Studio, Jan 22, 2019.

?

How do you create your game characters?

  1. Adobe Fuse

    19.6%
  2. Autodesk Character Generator

    2.0%
  3. Daz3D

    3.9%
  4. iClone CC3

    2.0%
  5. MakeHuman

    76.5%
  6. MCS

    0 vote(s)
    0.0%
  7. UMA

    7.8%
  8. Custom

    12.7%
Multiple votes are allowed.
  1. Crazy-Minnow-Studio

    Crazy-Minnow-Studio

    Joined:
    Mar 22, 2014
    Posts:
    1,035

    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
    1. Download and install MakeHuman.
    2. Download and install Blender.
    3. Download and install Thomas@MakeHuman's MHX2 file exchange format into MakeHuman and Blender using the instructions included in the download from his website.
    4. To export MakeHuman characters with an animation friendly and game optimized rig, that also includes eyelid control, download and install the Unity Rig export option from the MakeHuman community website. Once installed, you will see a [Unity] rig preset on the [Pose/Animate] tab inside the MakeHuman interface.

    MakeHuman Create and Export Character Instructions

    1. Select the [Modelling] tab to design a character.
    2. Select the [Geometries] tab to select your characters clothes, eyes, hair, teeth, topologies, eyebrows, eyelashes, and tongue.

    3. Select the [Materials] tab, and select your characters skin texture.
    4. 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.
    5. 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

    1. Launch Blender, and select [File] -> [Import] -> [MakeHuman (.mhx2)...].
    2. 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
    3. With the character imported, select [File] -> [Export] -> [FBX (.fbx)].
    4. 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
    1. 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.
    2. 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.
    3. 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
     
    Last edited: Jan 22, 2019
  2. Crazy-Minnow-Studio

    Crazy-Minnow-Studio

    Joined:
    Mar 22, 2014
    Posts:
    1,035
    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.
     
  3. JediNizar

    JediNizar

    Joined:
    Nov 13, 2016
    Posts:
    45
    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
     
    nilmarpublio and sashutosh775 like this.
  4. hongwaixuexi

    hongwaixuexi

    Joined:
    Dec 11, 2017
    Posts:
    857
    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.
     
  5. ChickenBacon

    ChickenBacon

    Joined:
    Jun 13, 2019
    Posts:
    1
    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!
     
  6. A_Savvidis

    A_Savvidis

    Joined:
    Jul 21, 2016
    Posts:
    74
    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
     
  7. nilmarpublio

    nilmarpublio

    Joined:
    Nov 26, 2019
    Posts:
    1
    Would it be possible to create a human along with a voice file gesturing as if it were real?
     
  8. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,037
    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:
    1. 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.
    2. 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.
     
    andreiagmu likes this.
  9. antk

    antk

    Joined:
    Dec 10, 2013
    Posts:
    24
    i'm pretty new to all the 3d modeling stuff. How is makehuman for creating mobile optimized, low poly models?
     
  10. syscrusher

    syscrusher

    Joined:
    Jul 4, 2015
    Posts:
    1,037
    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.
     
  11. antk

    antk

    Joined:
    Dec 10, 2013
    Posts:
    24
    @syscrusher

    thanks for the very thoughtful and useful reply! I'll give it a try and see how it goes. Learn by doing!
     
    syscrusher likes this.
  12. BrandyStarbrite

    BrandyStarbrite

    Joined:
    Aug 4, 2013
    Posts:
    1,277
    @Crazy-Minnow-Studio
    I love that makehuman software.
    Thanks for the tut dude. It'll definitely come in handy for me.:)
     
  13. Inxentas

    Inxentas

    Joined:
    Jan 15, 2020
    Posts:
    139
    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.
     
    PellePetimeter likes this.
  14. ciorbyn

    ciorbyn

    Joined:
    Oct 17, 2013
    Posts:
    83
    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:

     
  15. Inxentas

    Inxentas

    Joined:
    Jan 15, 2020
    Posts:
    139
    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.
     
  16. ciorbyn

    ciorbyn

    Joined:
    Oct 17, 2013
    Posts:
    83
    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. :confused:
     
  17. hertz-rat

    hertz-rat

    Joined:
    Nov 3, 2019
    Posts:
    71
    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?
     
    Last edited: Feb 23, 2020
  18. Some-Yahoo

    Some-Yahoo

    Joined:
    Jun 27, 2013
    Posts:
    16
    All my characters are shiny, black, and the textures are not editable. Using Unity 2019.3.3f1 in HDRP mode.
     
  19. ArinFaraj

    ArinFaraj

    Joined:
    Jan 5, 2014
    Posts:
    12
    select you 3d model and go to the material tab and hit export material
     
  20. PellePetimeter

    PellePetimeter

    Joined:
    Dec 10, 2019
    Posts:
    1
    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
     
  21. Inxentas

    Inxentas

    Joined:
    Jan 15, 2020
    Posts:
    139
    No, sorry... I sort of gave up on this approach. I figured that if I'm debugging stuff just to get a tool to work, I can't rely on that tool too much. For now I'm using a free Asset store model, with the intent to retarget / tweak humanoid animations later.
     
  22. Inxentas

    Inxentas

    Joined:
    Jan 15, 2020
    Posts:
    139
    For people with black or pink models in HDRP... make sure you use the correct shader (HDRP lit). It has different slots so you'll need to set your maps again on the material.
     
  23. StephanCoupland

    StephanCoupland

    Joined:
    Nov 5, 2013
    Posts:
    9
    By accident I found out that by playing with the UV Tiling and Offsets I could at least get the eyeballs to show - it is not a proper fix, and it is certainly not perfect!

    It took some tweaking to get the results below. I would still like to know what the proper fix is.

    I used the HDRP/Lit shader with the following settings: MakeHumanEyesWorkaround.png
     
  24. StephanCoupland

    StephanCoupland

    Joined:
    Nov 5, 2013
    Posts:
    9
    ... that is with the MakeHuman High Poly eyeballs.
     
  25. Some-Yahoo

    Some-Yahoo

    Joined:
    Jun 27, 2013
    Posts:
    16
    The thing is... We need to be able to make humans that can be customized in a setup screen in Unity. USers need to be able to make them fatter, smaller, and choose outfits.

    The makehuman models want to hide the geometry under the clothing, and if you don't, you have to deal with massive amounts of pokethrough (the person's body geometry poking through the clothes.

    I also don't see any easy way to create outfits and accessories.

    It would also be nice to see the MH models actually used in a demo game. Importing the model is only like 1,100th of the process.
     
unityunity