I’ve just run across this amazing presentation on YouTube – and as I dug a bit deeper, I found that one of the most amazing things about it is that it originated in 1999, to accompany a SIGGRAPH paper by Volker Blanz and Thomas Vetter. It’s not that 1999 is actually ancient history – it’s just that the technology behind this is so very interesting that I don’t understand why it hasn’t already worked its way down to commercial applications (unless it has – but more on that below).
This demo shows how a 3D database of 200 textured male and female faces was used as the foundation for a human face modeling system, and much more – among other things you’ll see how the software uses its raw data to extrapolate a 3D face from a single photograph. It even invented matching textures, whether the photo was in color or in black and white. The same techniques were used to generate expressions for the faces.
In the rest of this post I’m going to muse about what all this could mean. So in the interest of full disclosure I must admit to you that in my last post I mentioned that I was skinning a set of 3D characters, and that skinning characters – without fail – drives me insane. It doesn’t take much of a leap here for you to realize that you are probably reading the thoughts of a crazy person. So make of this what you like.
Building 3D characters does make me crazy. It’s not the modeling, assembly, mapping or texturing – that whole process has some twitchy bits, but at least at the texturing phase you’re solving a unique problem and coming up with something new and interesting. No, the truly crazy-making things are tasks like matching a skeleton to the model and skinning it – that is, teaching how to bend as its skeleton moves and bends. One has to arrive at a pretty good solution in a very complex system where each individual choice you make about a bone’s influence has repercussions down the line in a sort of domino effect from Hell. And it’s never done – each time you make a character move in a new interesting way you find that some joint acts strangely, and you have to go back and make adjustments. Forever, I think.
But even before that, there are structural points to character modeling and mapping that one has to solve over and over again, for no very good reason. Now I’m really thinking of human (or human-like) characters, here – truly bizarre fantasy creatures will always take individual, specific work. But probably because I’m not an especially good character modeler I never fail to resent it when I have to solve the same problems every time.
I just don’t think it’s necessary. I really believe that artists will eventually have ways to create complete human characters parametrically – that is, we’ll be able to create a human primitive object, already skinned to a skeleton, and adjust its race, gender, facial features, body type, and so on, to create new and unique characters based on a single root object.
That’s why this demo movie excites me as much as it does – because although it’s limited to faces, it’s a brilliant proof of concept for such a system – and its ability to match the 3D model to a single photograph of an actual person is an unexpected bonus.Note that expression morphs are already incorporated into the system – so in theory a system like this one could allow the artist to create a model with all of its facial expressions in a single shot. A system like that – exporting rigged and skinned human characters for use in one’s renderer of choice – would be a fantastic addition to a 3D artist’s toolbox.
Mind you, it’s not a “Make Art” button. I’m sure that we would still do a lot of work on texturing our characters, and clothing would remain a separate problem – probably best addressed through a matching cloth system. And I don’t doubt that the results would often need to be tweaked. That’s just the nature of software in our work.
There have already been at least small first steps in this direction, both in standalone applications and in plug-ins for other software.
I’d be remiss if I didn’t mention Poser here, even though Poser is widely regarded as a hobbyist’s toy box. At its core, the Poser system gives its users a sort of human primitive with a number of morphs associated with it, particularly in the face, and it can be used as a more limited version of what I described above. It may be that in the end the real distinction is that the Poser models are working from a much smaller database. Given the same “ancestry” of 200 or more faces and bodies, the existing Poser system might very well turn into something like my dream tool for character creation. There are problems with exporting Poser’s models, but many of those problems have been addressed through plug-ins for 3D applications.
A 3DS Max plug-in called Facial Studio attempts to do something along these lines, again limited to faces. It also suffers from a small database and, I think, not an especially good one. Faces created with that plug-in are nowhere near the quality of what we see in the SIGGRAPH demo.
Finally, a combination application/service called Darwin Dimensions looks like an implementation of the SIGGRAPH paper – but with complete bodies. Darwin Dimensions’ Evolver software uses a library of “seed” ancestors, and the user blends and morphs between them to arrive at a unique character. An impressive variety of characters can be designed with the system. Every model that’s output from the software uses the same structure, and is rigged and skinned; also, and again because of the shared topology, facial expression morphs are included. Characters can be output in several different resolutions.
In theory this is exactly the tool I was describing, isn’t it? It’s only the sticker shock that stands in the way. This is not an inexpensive tool, and the models themselves have to be ordered from the publisher based on the data you create. In fact I’m puzzled that they charge for the software at all, because it seems as though they’d do better to disseminate the tool as widely as possible and make their money from the data that users must purchase, once they’ve done their design.
So the price of the Evolver software ($2995, including one customized character download) and the per-character price ($1995) prevent this tool from having any effect on my own work. Your mileage may vary. I can see that production studios might become customers of the service – though I do wonder if most studios don’t have specific aims for style in their characters that are better served by unique modeling. I think that this service may be missing its mark by targeting the highest end users, when their audience might actually be in a larger middle class.
Regardless, it’s a very interesting product and service and one that I hope will appear elsewhere – and with a different business model. The system has shown itself able to create a wide variety of human characters based on a parametric database, resulting in pre-skinned character models with a full library of facial expressions. It’s proof that these systems are possible, if not yet attainable. By, you know, folks like me.
So that leaves me, tomorrow, right where I was yesterday – back to days of crazy-making character setup.
If you need me, I’ll be gibbering under my desk.