Sunday, December 20, 2009
Nightly .deb files
After some experimenting, I have now opened access to a repository for .deb files, making automated installation of nightly builds much more convenient.
As you probably know, many linux distributions (for example Ubuntu) are derived from a common ancestor, namely Debian. All these distributions share a common format for packaging and distributing software, the .deb packages.
With a .deb package, dependencies can be automatically resolved, and new versions can be detected and installed, usually with a single mouse click.
Anyhow, the nightly .deb files are available on the nightly builds site, so if you're interested, just go there and follow the instructions.
Questions about the above, as well as bug reports, should be posted on the makehuman forums.
Thursday, December 17, 2009
Working on the toon tool

Hello everyone, my name is Michael Alletto and recently I decided to help Manuel Bastioni in the development of toon tool. We are currently discussing how best to achieve the goal. The tool will be able to make your model like a cartoon. We are currently considering manga style, but we plan to add other styles. We are beginning to decide which "heads" take into account and soon we will review other details such as eyes, nose, mouth, etc..
Stay tuned!
Blender export: new skin shader.
A month ago, Manuel sent me a skin shader created by Roberto Olivetti. However, I didn't notice his email at the time. But finally it is here! MH characters imported into Blender with the MHX format now have a professional-quality shader.
I had some trouble to get SSS look good. This is either because some setting isn't imported correctly (though a quick inspection did not reveal anything), or because of some problem with my light setut. The picture was rendered without SSS.

I had some trouble to get SSS look good. This is either because some setting isn't imported correctly (though a quick inspection did not reveal anything), or because of some problem with my light setut. The picture was rendered without SSS.
Tuesday, December 15, 2009
About anime tool
Well, it will be not ready for incoming version, but because a lot of people is asking for it, I want just to share some models work-in-progress. We need 3d artists (if possible, Blender users) in order to complete it quickly. In case you want to help us, please contact me at info@makehuman.org .
Monday, December 14, 2009
Lipsync tool (or toy)
I just committed a little Python script to assist with lipsyncing for the MHX rig. The script is located at located in the svn trunk as utils/mhx/mhx_lipsync.py. Here is the result of some three hours of playing with it on Sunday afternoon.
Workflow
A suitable wav file was downloaded from The daily wav. Lipsync was done in Papagayo, and exported to a Moho .dat file. The mesh was modelled in Makehuman; basically, I just cranked up the ethnical morphs for central african and nordic types (Kenyan father and blond mother). The mhx file was imported into Blender. Then the lipsync script was started, and the Moho file was imported.

Papagayo generally produces very choppy animations. The ipo curves can be smoothed by pressing the Damping key; it ensures that the shapekeys do not change faster than the maximal slope per frame. Then I added blinks and some random movements of the head, shoulder and brows to create some impression of life. Finally, sound was added in Blender's sequencer.
Some of the things that I learned:
1. There is a difference between wav and wav. The wav file from Daily wav could not be loaded into Papagayo or Blender. Therefore I loaded it into Audacity and exported it as a new wav file, which could be loaded.
2. It is easy to forget to load the pydrivers.py script.
3. The shape keys sometimes lose contact with the rig, and freeze into some ugly pose. I don't know if this is some Blender bug, or if the MHX import script does something illegal. Anyway, I managed to reconnect shapekeys to the rig with the following steps:
a. Unlink the action from the armature.
b. Reset (Alt-G) all bone positions.
c. Open an IPO window and select one of the shapekeys.
d. Connect a shape (one is enough) to its driver (Alt-N, return).
e. Link the action to the armature again.
4. The default frame rate is 24 fps in Papagayo but 25 fps in Blender.
Workflow
A suitable wav file was downloaded from The daily wav. Lipsync was done in Papagayo, and exported to a Moho .dat file. The mesh was modelled in Makehuman; basically, I just cranked up the ethnical morphs for central african and nordic types (Kenyan father and blond mother). The mhx file was imported into Blender. Then the lipsync script was started, and the Moho file was imported.
Papagayo generally produces very choppy animations. The ipo curves can be smoothed by pressing the Damping key; it ensures that the shapekeys do not change faster than the maximal slope per frame. Then I added blinks and some random movements of the head, shoulder and brows to create some impression of life. Finally, sound was added in Blender's sequencer.
Some of the things that I learned:
1. There is a difference between wav and wav. The wav file from Daily wav could not be loaded into Papagayo or Blender. Therefore I loaded it into Audacity and exported it as a new wav file, which could be loaded.
2. It is easy to forget to load the pydrivers.py script.
3. The shape keys sometimes lose contact with the rig, and freeze into some ugly pose. I don't know if this is some Blender bug, or if the MHX import script does something illegal. Anyway, I managed to reconnect shapekeys to the rig with the following steps:
a. Unlink the action from the armature.
b. Reset (Alt-G) all bone positions.
c. Open an IPO window and select one of the shapekeys.
d. Connect a shape (one is enough) to its driver (Alt-N, return).
e. Link the action to the armature again.
4. The default frame rate is 24 fps in Papagayo but 25 fps in Blender.
Saturday, December 12, 2009
New hair shader for Aqsis
The illumination shader used for hair is now much more realistic. We have added a better reflection model too. Look at the difference!
Sunday, December 6, 2009
Working on the new base mesh: new male model
The HM6 mesh make possible very realistic results. We are working to improve all macrotargets. The image below show the new male model (just finished) with and without the "heavy muscle" morph.
Friday, December 4, 2009
FK/IK switch
In earlier versions of the MHX importer, shape keys were driven by bones, but switching between FK and IK (forward and inverse kinematics) could only be done at load time. The problem is to get hold of the constraint IPO (set of InterPOlation curves) from Python. For an object or a shape key, one can access the IPO by expressions like ob.ipo and key.ipo. This does not work for a constraint cns, because there is no variable cns.ipo in the Blender API. The only access to the constraint IPO is through the function cns.insertKey(frame), which inserts a influence key at a given frame.
However, it is possible to use this function to get hold of the constraint IPO, with the following trick:
cns.influence = 0.0
cns.insertKey(0)
cns.influence = 1.0
cns.insertKey(1)
ipo = Ipo.Get()[-1]
The first two lines set an influence key (value = 0.0) at frame 0. If the IPO does not exist, which is the case here, it is created first. The next two lines set another influence key (value 1.0) at frame 1. Finally, the last line retrieves the IPO. Ipo.Get() returns a list of all IPOs in Blender, and [-1] returns the last element in this list, i.e. the most recently created IPO. And this is our constraint IPO.

There are separate sliders for arm and leg FK/IK, and for left and right sides. There still seem to be some problems with updating; to make changes take effect, one must select a constraint (which one does not matter) in a buttons window. The rig was also rebuilt to have two sets of arms and legs; the deform bones have a copy rotation constraint to their IK partners. This seems to be the preferred way to do it, e.g. in Nathan Letwory's simple rig, which has recently evolved into the Sintel rig. I am not sure why having two sets of bones is better than changing the IK influence directly, but if it is good enough for Sintel, it is good enough for me.
However, it is possible to use this function to get hold of the constraint IPO, with the following trick:
cns.influence = 0.0
cns.insertKey(0)
cns.influence = 1.0
cns.insertKey(1)
ipo = Ipo.Get()[-1]
The first two lines set an influence key (value = 0.0) at frame 0. If the IPO does not exist, which is the case here, it is created first. The next two lines set another influence key (value 1.0) at frame 1. Finally, the last line retrieves the IPO. Ipo.Get() returns a list of all IPOs in Blender, and [-1] returns the last element in this list, i.e. the most recently created IPO. And this is our constraint IPO.

There are separate sliders for arm and leg FK/IK, and for left and right sides. There still seem to be some problems with updating; to make changes take effect, one must select a constraint (which one does not matter) in a buttons window. The rig was also rebuilt to have two sets of arms and legs; the deform bones have a copy rotation constraint to their IK partners. This seems to be the preferred way to do it, e.g. in Nathan Letwory's simple rig, which has recently evolved into the Sintel rig. I am not sure why having two sets of bones is better than changing the IK influence directly, but if it is good enough for Sintel, it is good enough for me.
Subscribe to:
Posts (Atom)






