Modelling Humans -- Feature Requests

The interface, modeling, 3d editing tools, import/export, feature requests, etc

Moderators: jesterKing, stiv

philovivero
Posts: 0
Joined: Tue Jul 06, 2004 10:57 pm

Modelling Humans -- Feature Requests

Post by philovivero » Tue Jul 06, 2004 11:21 pm

I would like to model humans. I think Blender is 90% of the way there, and I think a couple of extra features, and we'd be able to make some very decent moveable humans.

To begin, I believe the metaball is the key to realistic, smooth features that are needed to realistically model human muscle, skin, and fat tissue. They handle joint movement more elegently than meshes (in my opinion).

Here is a screenshot of a metaball-created dummy.

Image

What I need to make this dummy into a full human:
  • * Metaball performance
    * Metaball enhancements


Performance:

What to notice: the dummy is made up of about 30 metaballs. At this point, the performance is bad enough that it's difficult to add any more metaballs. To flesh out (so to speak) this dummy into a realistic human, I would need to add about 120 more metaballs (20 per hand, 10 per foot, 30 for the head, and 30 more misc for things like rib cage form, belly button, musculature, etc)

I think that modifying metaball code to only recalculate the polygons of metaballs that are affected by the currently-active metaball would make a 120-metaball form possible and even fast/good.

Enhancements

Notice that where her arm comes close to her body, the metaball does its job and starts to blend. It would be nice if metaballs could be set to blend in only with listed classes of others, for example: the UPPERARM metaball will only blend in with the SHOULDER metaball and the ELBOW metaball, but not with the FOREARM metaball.

What Won't Work

I have already looked at Make Human. It's a great project, but it doesn't have the power or simplicity needed to create smooth, realistic humans. It is possible that Make Human will progress to the point where it is good, but it has a few flaws:
  • * The mesh it creates isn't smooth (not enough polys)
    * It is difficult to make an attractive human
    * A mesh does not deform well at joints
I suspect fixing metaball performance and adding two features would be far less work than making Make Human work.

solmax
Posts: 86
Joined: Fri Oct 18, 2002 2:47 am
Contact:

Post by solmax » Tue Jul 06, 2004 11:42 pm

i don't agree. i mean making proposals is ok, but i don't think that metaballs are the key to perfect humans. virtually any of the great looking humans you can see on the net or in movies are sculpted out of polygons. the problem with metaballs is that they lack control over edge loops and mesh resolution, and these two issues are essential for proper deformation and animation. so you end up with a super-dense mesh that is a pain to handle and rig properly.
It is difficult to make an attractive human
well, IMHO one should know a lot about anatomy and face structure to create attractive humans. i never really tried makehuman, but in XSI there's a similar tool i played around with. i regard this as a tool for statists rather then main characters you would use in your story/picture whatever.

Money_YaY!
Posts: 442
Joined: Wed Oct 23, 2002 2:47 pm

Post by Money_YaY! » Wed Jul 07, 2004 12:12 am

gotta have edge loops. I just had to repeat that. nothing human is good with out edge loops.

meta balls have something new coming when jiri is done.


till then look at the way zbrush 2.0 makes neo meta ball zspheres . they have edge loops and metaball structure

matt_e
Posts: 410
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Re: Modelling Humans -- Feature Requests

Post by matt_e » Wed Jul 07, 2004 2:12 am

philovivero wrote: Performance:
Log from June 29, by Jiri Hnidek:
http://www.blender.org/pipermail/bf-ble ... 01921.html

pildanovak
Posts: 18
Joined: Fri Oct 25, 2002 9:32 am
Contact:

Post by pildanovak » Wed Jul 07, 2004 2:39 pm

how would you texture your metaball human? i think there's a plugin for 3ds which can do a great job in this, but coding something like that would be really hard.

As a nice way to make proper skinsliding in the joints would be the use of the new softbodies ported from instincitve bledner... that's a very nice combination of mesh and an iso-surface(which in fact metaballs are)-look at the shrinkwrap deformation tool in SI-XSI. The only change needed to do this is:

Change the input of effects to the mesh deformed by the armature, because now the effects(particles and softbodies, i haven't tested build and wave) take only a non deformed mesh as the input.

philovivero
Posts: 0
Joined: Tue Jul 06, 2004 10:57 pm

Answer the objections

Post by philovivero » Wed Jul 07, 2004 10:42 pm

1. Jiri Hnidek's entry about octal tree node optimisation. Yes. I am using bf-blender specifically to get Jiri's optimisations. They help. But not enough.

2. Humans are modelled from polys. Yes, I know that. And how do those polys come into existence? Via some meta-polygon structure. Metaballs model volumes very well, and they blend into each other very well.

3. Once you create your model using metaballs, if you attach the various parts to a skeleton with a little logic, you'll get muscle expansion and dynamics for free. Tell me you can implement such in Blender faster than with metaballs.

4. You have to know human anatomy. Well, sure. I don't know why this is even mentioned here. Take another screenshot and tell me if you think I know about human anatomy:

Image

Note: The head is not nearly finished. The feet and hands are not nearly finished. As mentioned before, I don't think they can be finished due to performance limitations. I think these limitations can be overcome.

5. You have to have edge loops. Forgive my ignorance. Why do you need edge loops? A two-sentence explanation of what they are (in case my web search I'm about to do doesn't turn up fruitful) would help. Are edge loops anything like metaballs that can only blend in with certain other onces, eg: "upper arm" blends with "shoulder" blends with "neck" and "shoulder blade"..... etc?
the problem with metaballs is that they lack control over edge loops and mesh resolution, and these two issues are essential for proper deformation and animation.
6. They do not lack control over mesh resolution. Or, if you mean they lack in in such a way as to make long, even surfaces a small number of polys, I think such can be fixed fairly quickly. My goal is to be able to model a realistic human and animate such with minimum difficulty in Blender.

Look at Steven Stahlberg's galleries: http://www.optidigit.com/stevens/gallery1.html -- He is modelling in Maya. Beautiful renders. Now on that same site, find the animations, and look how crap they are. Animating is hard. I believe that once you attach metaballs modified in the way I ask (that they blend only with listed classes of other metaballs) that you will be able to animate very realistically, including muscle dynamics (and others, like breathing, lips stretching, etc).

To get there, we need a first step, which I think are relatively reasonable modifications to metaballs.

7. Other packages this, other packages that. I'll look into them if they're as free as Blender. Sorry, I know I could get a lot more done with my modelling time in expensive proprietary modelling packages, but I'd rather devote my time to making Blender better. I just hope my pleas to make Blender better for modelling humans don't fall on deaf ears.

Thanks for your time.
[/quote]

chimera
Posts: 41
Joined: Wed Jun 11, 2003 11:41 am
Location: switzerland
Contact:

Post by chimera » Wed Jul 07, 2004 11:03 pm

edgeloops:
http://p212.ezboard.com/fnendowingsmira ... =135.topic
about the hole thing with metaballs. well metaballs are cool stuff, yes. I can imagine what you mean by useing them as a method to model/animate organic stuff... to do this, you'd need a awesome metaball-algo, whatever. I think this is some really high stuff to implement. since Im not a coder I might be wrong tough..

philovivero
Posts: 0
Joined: Tue Jul 06, 2004 10:57 pm

Thanks for the reply & two more points

Post by philovivero » Thu Jul 08, 2004 12:36 am

Okay, I went and educated myself about edge loops. I see how they are useful for general modelling and doing some deformations on your mesh, but I don't see how they would really model muscle dynamics. Sure they'll keep your mesh from deforming badly for a large range of movement, but for extremes?

Build me a human model. Put it in the neutral "arms/legs straight and splayed" position. Add your skeleton. Now put the same model into an "indian style" sitting pose. Or anything that puts the hip, knee, ankle, shoulder, elbow, and wrist joints at their extreme bent position.

I think given a little work on the metaball code (bounding box optimisation plus only-blend-with-classes), we get this for free:

* Models that can bend to extremes and stlil look mostly-natural (ie: after you re-pose your model, you do less tweaks on the resulting mesh to get something natural-looking)
* A lot of re-usability on modelled "primitives" -- leg, arm, chest, etc.

That is short-term. Longer term, I think working on metaball code, we can get:

* Muscle attenuation and other natural volumetric changes like breathing.
* Better optimisation of mesh-generation (it looks like generating edge-loop optimised meshes isn't really possible, but we could certainly reduce the poly count)

Someone asked about colouring. Using ramp shaders and various procedural algorithms you can get decent skin tones. See the blender.org site about 2.34.

philovivero
Posts: 0
Joined: Tue Jul 06, 2004 10:57 pm

Want the .blend?

Post by philovivero » Thu Jul 08, 2004 12:54 am

I guess I should mention if anyone wants this .blend, let me know. It's pretty small since it's all metaballs. 100k or so.

Money_YaY!
Posts: 442
Joined: Wed Oct 23, 2002 2:47 pm

Post by Money_YaY! » Thu Jul 08, 2004 1:52 am

behold ! The power of edge loops !
http://maxrovat.sns.hu/subdiv/

Check out the animated gifs.

anyway I would like the blend file please.

Now edge loops and meta balls. Jiri is building a meta ball line tool, http://e-learning.vslib.cz/hnidek/

It will help tons to lower the ball amount and more speed. But he is just not going to release it untill there is some new edge code or something like that he said. Maybe you can try and get him to release a test cvs version.

edge loops are just for building lowpoly meshes and following the natural structure of a body and it's muscle structure, though it has been distorted somewhat now as something other than that. But in turn it builds the proper method of a meshes deformation in animation.

So a flow for you would be to make the metaball figure then slice in some basic loops. Though only Tuhopuu has the entire edge loop tools in the blender family.

Otherwise you could cut the model in half or lower the res on all of the beta balls and then use sub-d's to smooth it.

philovivero
Posts: 0
Joined: Tue Jul 06, 2004 10:57 pm

uploaded nude-woman .blend

Post by philovivero » Thu Jul 08, 2004 5:53 am

I put the nude-woman-july-2004.blend that you see in the final screenshot above here:

http://faemalia.net/nude-woman-july-2004.blend

It's 128k.

To create the polygon version you see in my screenshots, I:

* Choose metaball
* Choose wiresize 0.50 (or slightly larger)
* Highlight all the metaballs,
* Convert to mesh,
* Move the metaball version out of the way.

Your model will have something like 250k polygons, so I will usually decimate this to 20-30,000 polys. My version of Blender still puts in some errant vertexes for some reason, so I have to fix those manually by selecting them, then smoothing them.

Notice you can highlight say her midriff metaball, choose to scale it, then repeatedly scale it larger/smaller and notice how lifelike it is, as though she's breathing. With some algorithmic control of various metaballs (and a more complex model) I think you could do some serious human modelled animations.

matt_e
Posts: 410
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Post by matt_e » Thu Jul 08, 2004 6:07 am

BTW, here's a little interesting link that shows how powerful meta objects can be for doing organic modelling:

http://www.reyes-infografica.com/plugins/meta.php (look in the gallery)

oyster
Posts: 0
Joined: Sat Mar 29, 2003 4:41 pm
Contact:

Post by oyster » Thu Jul 08, 2004 7:45 am

Softy 3D v1.0 is a applz based on metaball. You may dl it @ http://5star.freeserve.com/Graphics/CAD ... fty3d.html
Image

And http://www.coolfun.com/html/organica.html seems to have more configurations.
Notice this :wink:
Image.

BTW: I remember metaball was acting as a plugins other than part of the C/C++ core codes in Blender 2.3. Who can tell me the version of that Blender? Thank you.

jiri
Posts: 0
Joined: Thu May 20, 2004 12:12 pm
Location: Czech Republic

MetaBall improvements

Post by jiri » Thu Jul 08, 2004 2:03 pm

Hi,
thanks for your interest of metaballs. Thnaks, that you use it. :-)

I have almost finished some important part of "bounding box" optimalisation. What is "bounding box" optimalisation? Polygonized surface is made from the strach every frame now, but it is not neccessary every time (it is neccessary propably for particles animations). "Bounding box" optimalisation recreates only modified part of surface. It could be very useful for some human modeling and thinks like this.

Metaball blends with each other now. Don't forget on some name rule (I don't like this rule) ... it is possible, but very hard to have some restriction of blendeing between two metaballs in same "blending group"

I think, that adding some editable directing structure could be very useful. Look at my page:

http://e-learning.vslib.cz/hnidek

later

Dani
Posts: 143
Joined: Fri Oct 18, 2002 8:35 pm

Post by Dani » Thu Jul 08, 2004 2:45 pm

hi!

I'm not really a metaball fan for modelling... however I admit implicit surfaces have interesting applications. I'm just a poly-convinced.

For blending groups, maybe you could use a hierarchy? Jiri, I think you wanted to do mesh-guided metaball systems. Maybe using armatures to give a hierarchy, a meta only blends to his parent and to its child.

Still one problem: fold your arm completely and your forearm and your arm will blend together :lol:

BTW, is there a way to "implicitize" an object? I've seen this (i think ;) ) in other software, Truespace... where any object can become meta...

Dani

Post Reply