Anda di halaman 1dari 14

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/viewtopic.php?t=1026

Background:

MakeHuman is a program that allows the creation of posable 3D figures similar to Poser found here:

http://www.makehuman.org/blog/index.php

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)
make
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.

Installing aqsis:

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:

http://www.aqsis.org/xoops/modules/mydownloads/

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:

[img]http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut001.jpg[/img]

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/viewtopic.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:

[img]http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut004.jpg[/img]
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.

File I/O:

The next group of buttons at the top are the file I/O functions.

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut005.jpg

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.

Character Functions:

The character functions are where your characters are defined:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut006.jpg

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:


[img]http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut014.jpg[/img]

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

.
http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut015.jpg

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.

Library Functions:

The library functions allow you to save and retrieve pre-configured characters and poses:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut007.jpg

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.... :P 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.

Rendering Functions:
These functions interface with the aqsis render engine ONLY if you have installed aqsis.

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut008.jpg

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.

Finalization Functions:

The last set of buttons are the finalization functions for your final character render:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut009.jpg

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. :D

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:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut018.jpg
To export your character in Collada use the "Col" button:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut019.jpg

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:

makehuman
|
|___mybackgrounds
|
|___mybs
|
|___mycollada
|
|___myobjs
|
|___myposes
|
|___rendering

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.
Collada Import:

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:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut020.jpg
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:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut021.jpg
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.

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut022.jpg

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:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut023.jpg
WaveFront Import:

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:

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut024.jpg
The defaults are fine here so clicking on "Import file" will bring it into Blender.

http://blenderunderground.com/files/users/penix1/MH_Tut/MH_Tut025.jpg

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/viewtopic.php?t=1046

See you there! :D

Anda mungkin juga menyukai