THE DREGS OF WAR

mai

HOME

ABOUT

FILMS

IMAGES

PROGRESS

COMIC

 

 

 

e-mail

Making Dreg

 

Dreg's a sorta horse face man. Why he's a horse face man is due to his peculiar genetic history; he is half human, half alien, which implies that someone had sex with an alien. I guess whatever rocks your boat... and judging from Dreg, a pretty ugly alien too. Some people are desperate I guess.

Anyway, I sketched him a lot, and I sketched him some more, because let's face it, he's really cool and fun to sketch. The thing is, eventually I was going to have to model him in glorious 3D, which takes considerably more time than sketching him (by my calculations, about 8928 times longer). Extra points to the person who figures out how I reached that number.

The first model of Dreg was the one I made of him for the blocktest. This was an interesting exercise- not only was it fun modeling in low poly, but it showed up some of the limits in Dreg's design. Namely, his arms were way too far back (you can see that in the character sheet), and what with him having such a large barrel chest, and dis-proportionally long forearms, it meant he couldn't possibly reach across his chest and scratch his armpits. I figured that this would lead to him being a moody, irritated person and I didn't want that. So in the final model, his arms have been moved further forward so that he can relieve any underarm itches he should come across. Though, as I learned later, the arms would still be problematic. Dreg doesn't actually have shoulders, which leads to whole lot of headaches. But at the time I just figured I would burn that bridge when I got to it.

Anyway, from the start, I had decided I wanted to model him NURBS. I'd like to say that I regret that decision now, because it seems fashionable to say that kind of thing, but despite the pain, the huge amount of work, and the occasional gut wrenching scream (actually, those were quite fun) I think in the end it was worth it.

 

those arms are ridiculously far back...

The problems were many. His head is made up of a bunch of patches, which are stitched together. The stitches so far seem pretty seamless, though they do considerably slow down the performance, and can cause weird deformations occasionally. I suggest the technique taught by Miles, where you model the basic shape out of a nurbs sphere then cut the patches from that. Patches are necessary for things like eyes, and any area were you need more detail (Dreg's ears and nostrils, for example).

 

how's that for texturing?

Then I had to make his body. The torso was good fun, and he sort of grew massive pecs (this is not the case in his earlier concept sketches- the process of modeling him gave rise to this.) I know how it happened too. While despairing about nurbs modeling (this tended to happen at least 47 times a day) I searched the web for any tutorials on full body nurbs modeling. Nothing came up, though I did see a picture of a nurbs minotaur, and I liked the pecs. That's how it happened. Ok? Good. (the site with the minotaur is a gallery of work by Jerome Desvignes)

 

mostly armless

Then I had to do his crotch, and that god-damned arse of his. Man was that a headache. He's got such a tiny waist... that arse still pisses me off. Also, to get that shape to work in Nurbs was horrifically painful, and I am still haunted by sights of what the join between his crotch patch, and his leg patch looks like at a certain, decisive point. This is why his trousers are black. Of course, this was only the beginning of my long, painful relationship with Dreg's arse. Don't read too much into that.


One useful tip: keep on using “global stitch” on patches, to get a smooth seam , then delete history on both patches (so as to cancel the stitch, but keep the smooth seam) then carry on modeling... doing this often, and hours of control vertex pushing/pulling, will lead to smooth seams between patches.

 

that god damned arse!

Then there were his arms, and namely, his shoulders, or lack of them. I also needed to attach them to the torso. I had a vague idea of how I would do this, but was a little unsure.

Miraculously (knowing 3D) it worked. Naturally, I'm a little chuffed.

The problem with the torso is that it is simply a nurbs cylinder, with a hole at the top for his neck, and a hole at the bottom for his waist. I had no holes for his arms to pop out of, and any attempt to cut one out and creat seamless patches was doomed to total, humiliating failure. So I just kept the torso as it was. Instead (non-animators please bare with me here, it gets technical), I made a curve out of the end isoparm of Dreg's arm (Edit Curves -> detach Surface Curves), then I made a duplicate of the curve, scaled up the duplicate slightly, and projected the new curve onto the torso. Then I simply created a loft between the two curves, scaled up the inner hulls of the lofted surface to give it form, and voila, a connection was made. It's important never to delete history on the curves, so that the projected curves stay on the torso and deform with it, and the curve made from the arm stays on the arm... got all that?

For a long time, I tried to model his hands in nurbs, but that was stupidly difficult, so I did them in polygons. That's why Dreg now has weird black wristbands; they hide the seams between his nurbs arms and polygon hands.

Anyway, I had a model, now I had to rig the damn thing.

Arrgh (the primal screams started at around this point I recall.) If I thought the modeling was bad, I had no idea what was coming.

 

where's the shoulder? In fact, what you see here is not how it ended up... I needed to modify the arm model a little to avoid scaring little children with horrible deformations when he bends his arms...

The skeleton wasn't difficult to make. I knew what kind of rig I wanted... it's a very simple rig, with was much as possible available to me in the view I'm working on, or sometimes the channel editor. I want to avoid having too many controllable parts for him, but avoid making his potential movements too limited. I had to add collarbones to help him reach things far away from him (like his armpits).

A good example of how I like my rigs is what I've done for his legs. I have an inverse foot so as to easily control foot bend and toe roll, as well as being able to keep the ankle rotation constant (like, for instance, when his foot is on the floor) and controlling the leg IK. This is controlled by a proxy object (a sphere) which controls the inverse foot's position and rotation, and who's scaleX and scaleZ attributes control the toe roll and foot bend. Also, the pole vector for the leg IK is controlled by a locator which is parented to the aforementioned sphere. This means that I can control nearly all leg movements through this sphere alone, meaning I only need to set keys for one object rather than several.

 

Eurg... Dreg's skeleton...

The real problem was skinning.

It's a good thing I experimented a lot before doing all this (I definitely recommended thoroughly researching any technique you're going to use before spending months modeling a model doomed to failure). With stitched patches, it's important you select all patches when you stitch them, not a few at a time. Otherwise, problems will arise when you try to skin the patches to a skeleton. Blendshapes, on the other hand, seem to work fine either way.

I was warned that painting weights was risky with nurbs patches, because you had to make sure that the weight was exactly the same on either side of a seam. Some horrible, gut wrenching things were mentioned about the component editor... not to mention that I hate painting weights at the best of times. I hoped to find a technique that would avoid painting weights all together.

I started with the hardest part; namely, that god-damned arse. I remembered a tutorial Adam Vanner had given us in the second year, where you made a blendshape for the crotch and part of the leg, which changed depending on how much the leg bone rotated. Then this was used as an influence object for the leg, and it worked really well. It took me ages to get it to work. At one low point, I trudged all the way into university, then hunted Adam down and asked him why it wasn't working. The solution was obvious really; I had to go into the attribute editor for the effected skin clusters and turn on “use components”. Man, why didn't I think of that? And here I was thinking it would be something really obscure and unintuitive. Skin clusters. Components. Yeah.

Anyway, that technique didn't work- you see, it's great for rotating the leg in one plane of rotation, but then try rotating it in another dimension, and everything goes to pot. I started trying to figure out how I could get the influence object to know which blendshape to use depending on how the leg was rotated, but it fried my brain. My flatmate Adam Cubitt was trying to think of a clever way to get Euler rotation coordinates of the bone into one variable that could be used to drive the blendshapes, going on about scary things like quaternions an other horribleness, until I decided I wanted to go for another technique.

 

the horrible arse deformations at the beginning of my soul destroying journey towards a rigged Dreg...

This new technique, on the other hand, worked really well, and I never had to paint a single weight. I just used multiple influence objects, and used driven keys to modify their rotation/position/scale (but not their components) depending on leg rotation. The advantage being that some of these could be parented to different joints, thereby working no matter what angled the leg was at. It worked. The screams lessened in volume for a while. Also, because the skin clusters aren't “using components” (I eventually figured out that if you turned this on, the skin would also be effected if you moved the components of the influence object (duh!) as well as rotation/translating/scaling) it's very fast. In actual fact, the influence objects act just like bones, and scaling them, for instance, works just like scaling a joint. The shape of the influence object merely decides what parts of the skin are effected by it. In fact, when you paint skin weights, influence objects appear in the joint list as if they were joints. There you go. It's simple, it works, and doesn't require paint.

So I simply used the same technique for the torso (hehehe “simply” he says...). I'll spare you the details of what that was like (the screams got considerably loud at this point).

Then I added blendshapes for the head. This was really easy in comparison to everything else. Blendshapes, yeah... cool.

Anyway, I did a render of the final model posing. He looks like a right show off.

Then as for texturing... shut up! Who needs textures? Bah! Had enough. Need to move on...

In any case, I learned a huge amount modeling Dreg. Maybe, if I have the time and am feeling generous, I could write a couple of tutorials (I know I really could have used a few...). But that sounds awfully like hard work...

 

Since writing this page I've had to make a few changes to Dreg's head. You can read about them here.

 

Dreg's fifty million influence objects... despite the number of them, this technique proved to be very fast- I can animate with the full res model (but with a proxy head; the real slowdown is the stitching on the head patches...)

nbody

©Michael Beeson 2004