Shaba1 has done a very nice conversion of this tutorial to PDF for those that want to work with it off-line. Thanks Shaba1!
http://blenderunderground.com/files/use ... _PartI.pdf
This is the first part of the MakeHuman threads that BU is doing in an effort to boost interoperability interest (and because it is fun!) It is broken down into three parts. The first (this post) will show how to use the MakeHuman program and exporting into Blender. The second will delve into fixing the mesh that was imported. The third will go into the rigging. Further, Evol Child has the start of a great little tutorial that will show how to make clothes for the MakeHuman figure found here:
http://blenderunderground.com/forums/vi ... php?t=1026
MakeHuman is a program that allows the creation of posable 3D figures similar to Poser found here:
The current version (the one discussed here) is MakeHuman-0.9.1-RC1a. It is still under very heavy development so things may change. It is comprised of three mandatory and one optional programs.There are pre-made packages for Windows 98/2000/XP/Vista, MAC OS X, Mandriva Linux (RPM Based) and of course the raw source. The pre-built packages have the three main programs already compiled while the raw source does not. I'll discuss how to compile the raw source since that is common to all builds. If you downloaded one of the packages, it is safe to ignore this next part but remember where it installs to because you will need that later.
Compiling from source:
To compile form source you first must have your system setup for development. That means all the necessary programs as well as development library files are installed. It is beyond the scope of this tutorial to instruct you how to do this and won't be covered here. Go to the download page and click the "MakeHuman-0.9.1-RC1 C++ Source" link. This will take you to the MakeHuman SourceForge page listing the three programs you will need to compile MakeHuman. They are animorph--0.3.tar.gz, makehuman-0.9.1-rc1a.tar.gz and mhgui-0.2.tar.gz. There is also SVN access for MakeHuman but this tutorial won't delve into that. MakeHuman requires that the three main programs be compiled in a special order. That order is animorph then mhgui then makhuman.
Once you have the files downloaded, extract them to a convenient location and compile them using the standard:
./configure --prefix=/usr (the --prefix is optional suit for your system libraries)
sudo (or su) make install (root access is needed for this part)
Again make sure you compile animorph first then mhgui then lastly makehuman. If you get errors on your compile, make sure you resolve the errors before proceeding to the next step. For example, if it complains about a missing library, install that library before proceeding.
aqsis is a stand alone render engine that is optional for MakeHuman to run but will ease your import into Blender by leaps and bounds. It is highly recommended that you install this package not only for the import easing but for being able to render your figure from within MakeHuman. Without it, you won't be able to do that. Some distributions (such as Gentoo) of Linux include aqsis in their repositories. Check to see if yours does before trying to compile it from source. If all else fails, go here:
Try to get the package that best suits your system. That very well may be source. If so, follow the directions for compiling above substituting in the aqsis package. STAY WITH STABLE! Don't download unstable unless you know what you are doing! Again, remember where it is installed.
If everything goes well, you should now have MakeHuman working and able to render the default character. It takes aqsis a long time to render and may look like it is locked up when it isn't. So if you try, keep that in mind.
The MakeHuman Interface:
Depicted below is what you are presented with when you successfully run MakeHuman:
It should be noted right now that MakeHuman figures are nude. There is a push on to develop a clothing line for them but it hasn't seen much development. Until they do, you will have to cloth your own figures in Blender and I refer you to evol child's thread for that:
http://blenderunderground.com/forums/vi ... php?t=1026
The interface for MakeHuman is relatively easy to understand and work with. At the top are the function buttons. Along the side is the new character settings widgets and along the bottom is the tooltip section. Moving your mouse over any screen element will provide a tooltip for that element. The character settings widget is where you adjust the overall dimensions of your character. The red dots are representations of the curves used to achieve a given look.
MakeHuman Interface Control Functions:
The MakeHuman Interface Control functions are located in the upper left hand corner:
They are as follows:
Quit MakeHuman: Quits the MakeHuman program (duh!)
Grid On/Off: turns on or off a grid over your model used for measurements. This is similar to Blender's grid function.
Subsurface On/Off: This will turn on or off subsurfaces as well as subsurface scattering.
Quoted Box On/Off: This toggles on or off the bounding box for the figure similar to the bounding box in Blender.
Texture On/Off: This toggles on or off the UV texture of the figure.
About MakeHuman: Displays the MakeHuman splash screen seen at start-up. It gives the credits as well as version and other interesting info.
The next group of buttons at the top are the file I/O functions.
They are as follows:
Load Body Setting: Loads a previously saved body setting. This is MakeHuman's format and cannot be used directly in Blender.
Save Body Setting: Saves a MakeHuman body setting for later use. This is MakeHuman's format and cannot be used directly in Blender.
Export Wavefront Object: Export as a Wavefront Object formatted 3D character. This function has been in MakeHuman since day one and is considered "stable". It has some limitations I'll go into later.
Export Collada Object: Export as a Collada file. This is the preferred method of exporting to Blender because it exports far more than the Wavefront Object can. It is a new function to MakeHuman. It is considered "unstable" and has limitations as well that I'll explain later.
The character functions are where your characters are defined:
They are as follows:
Character Settings: This is the overall character settings curves as shown in the default start-up screen. Adjustment of the body type sliders on the left hand panels will adjust your character's overall body. Everything from body mass to character age can be adjusted from here. This is the first stop to making a character.
Body Details: allows fine control of the details of your character:
Clicking on a circled element in the selector panel will zoom your character to that element and provide options for adjusting that element.
Poses Panel: Allows you to pose your character in just about any pose imaginable.
Just like the Body Details character function, clicking on a circled element in the pose panel will provide options for posing that element. Currently, MakeHuman only supports still poses. Animated poses would be a great feature after they settle down the still side IMO.
The library functions allow you to save and retrieve pre-configured characters and poses:
Character Library: Allows pre-defined character types to be loaded. Character developers and users can add their own libraries to the list. Currently, only one defined character library is available and the functionality to add your own is non-existant. I did mention MakeHuman isn't completely developed yet right....
Still, it is a good start for those that don't want to fool around with defining their own character.
Poses Library: Like the character library, it allows pre-defined poses to be stored and retrieved. Again, development is in progress for adding your own pose library. There is currently only one pose library available.
These functions interface with the aqsis render engine ONLY if you have installed aqsis.
Rendering: This will render a full scale image of your posed character. It takes quite a while to render so this should be the last step you take. It isn't like Blender in that you really can't use it for a "quick render" to see what is going on with your character.
Rendering Preview: This is a scaled down version without subsurface scatter. it is quicker than a real render but I found it still takes a while.
The last set of buttons are the finalization functions for your final character render:
The finalization functions allows you to setup the final scene for render. The buttons are as follows:
Used Morphing List: Shows a list of the Body Fine Tuning panels you have adjusted for your character. Anything you adjusted (or was adjusted for you in a library) from the Body Details section will be shown allowing you to really fine tune the character. This is also where I would put an export to library function where I the developers...hint, hint...
Reset Mesh: Resets the mesh to the default character discarding any morphing and poses you have applied. This is getting you back to a baseline figure for that "oh, I really messed this up" feeling.
Load Background: Loads a background image that will be rendered with your character. Since we are going to be exporting to Blender, there really is no need to use this feature. I haven't explored the limitations on it as a result. Go ahead and play with it if you want and post below your findings.
Final Thoughts on the MakeHuman Interface:
MakeHuman shows a lot of potential as a stand-alone program but it does need lots of work before it can really claim to be the "Poser substitute". Many interface functions still don't have pixmaps for them and core functionality like library functions are not complete. Clothing and hair are also areas that need heavy work. I think that part of the problem in getting these things developed is the ease it is to get the character into Blender and doing those fine tunings in Blender. A common reply to complaints about them is "do it in Blender!" That kind of attitude doesn't help the stand-alone program get better. Also, development is at a snails pace in this project. It may see months without any changes to the code where Blender by comparison has 20-30 changes daily. The number of developers is also relatively small which contributes to the slowness of developments. Lastly, the developers you have there are more interested in getting new features into the interface than settling on one standard interface and developing that fully before moving on to other bells and whistles. That doesn't mean that the program is useless by any means, it just simply means a frustrating and limited experience for the stand-alone program.
Well, enough of that. Let's move along....
Exporting for Blender:
There are two methods to export that Blender can use. One uses the WaveFront Object format while the other uses the Collada DAE format. WaveFront Object format is the old tried and true standard that has been with MakeHuman since day one. The problem with the WaveFront standard is it doesn't retain settings from MakeHuman like Collada can. This means that armatures, skeleton and poses won't be exported properly when you use this format. Collada, on the other hand, will bring in the armature, skeleton and poses but the import plug-in for Blender can be problematic. Which you use is totally dependant on what you want to do and personal preferences. In either case, the export is the same as well as the import. The only difference is which exporter / importer you use and where you get the file to be imported.
To export your posed character in WaveFront, simply click the "OBJ" Export Function in MakeHuman:
To export your character in Collada use the "Col" button:
In both cases you need to specify a meaningful name. In the case above, I used the default figure so I called it "Default". WRITE DOWN OR REMEMBER WHERE IT PUT THE FILE!!! We will need that info later. Lastly, do a full render within MakeHuman and allow it to finish so that we can pick up the UV images later in tutorial II.
You can now safely exit the MakeHuman program and fire up Blender for import...
Importing to Blender:
Before we can import into our favorite program, you MUST have Blender AND Python installed since it is a python script we are going to use to import our character. Looking at the console window when you start Blender will tell you if it found and is using your python installation. If you get an error about python not found, go to python.org and install it.
Remember I told you to write down where MakeHuman saved your export? Now is the time to use that. First though, I'll explain what happened when you first fired up MakeHuman. MakeHuman creates a directory structure somewhere on your harddrive that has the following structure:
The three that are important to our Blender import are mycollada, myobjs and rendering. On a Linux system, that structure will be placed in your home directory. Other platforms will probably put is somewhere else. You should notice that your export path will eventually lead to the makehuman directory outlined above.
If you used Collada as the export then all the mesh data is stored in makehuman/mycollada/<NAME YOU GAVE>/mesh.dae. Notice that the exporter did not name your file but instead created a whole directory with your named folder. This fact will make finding your export easy since all you should have to search for is either the named folder or "mesh.dae".
If you used the WaveFront OBJ exporter, it will be the same but in myobjs folder with two files. The material file is always called "materials.mtl" and the mesh is always called "mesh.obj". Both these are needed to import the WaveFront object file.
We now should be totally ready to import into Blender. This section is for those that want to use the new Collada Importer. Skip to the next section if you intend to use the WaveFront Importer. In Blender, choose "File->Import->Collada 1.4 (*.dae)" to begin the process:
The image above reflects the default options when you open the importer. Experimentation on my part has found that the default will work but a better way is to select "Only Import Main Scene" and go with its default setting:
Notice that I browsed to where my "Default" collada export file is and selected it for the import. Clicking "Import and close" should bring it right in in a new scene.
If you made it this far, you should have noticed that it imported two scenes. To see them open an outliner pane and it should look like this:
We should now be totally ready to import into Blender using WaveFront Object. In Blender, choose "File->Import->Wavefront (*.obj)" and browse to the "myobjs" directory. You will see the two WaveFront files but the only one you want to select is the OBJ file:
The defaults are fine here so clicking on "Import file" will bring it into Blender.
Unlike the Collada importer, the WaveFront importer didn't bring the mesh into a new scene. Also, it didn't bring in the armature for animations. These are limitations of the WaveFront Object format. If you plan on animating your character, use the Collada method listed above.
That's it for this part of the tutorial. Part II of this tutorial can be found here:
http://blenderunderground.com/forums/vi ... php?t=1046
See you there!