08-22-2003, 08:19 PM
okay, this a pretty long reply. for whatever reason, i've been working on projects on and off with hair for the last year and a half (matrixII, don't peek, LXG, scooby2), so i've been meaning to write some notes about hair, but haven't gotten around to it. these notes do have to do with creating realistic hair, which is not always the intent. here's a version of thoughts off the top of my head:
really depends on what type of hair you want to do, and how you want it to move. paint effects will probably get you by fine if you want to make a discreet hair piece like a pony tail, but once you get into trying to simulate the look of flowing long hair, you run into a few problems -
movement is probably the major one. you can set up a series of rigid body objects (cubes?), pin them together, and collide them with your surface geometry in order to get something that resembles hair motion. softbodies tend to look like rubber - the problem really is that maintaining the length between particles in a softbody system is near impossible. if you're adventurous, you can write an expression based system that constantly updates the length between particles <- this was the kind of system we used for the twins in matrixII, but again, the movement was pretty stylized (underwater motion)
so, back to paint effects. the problem with creating a full head of long hair is trying to fill out the hair volume in a randomized, but controllable way. so, you can create a random grid of hair strokes on a skull cap (auto paint random), and then set up, say, a hundred curves that are driven by whatever motion simulator you choose to use (rigid body, soft body, expression). you can then set these strokes to be controlled by your hundred curves, and, theoretically, this should work beautifully. the problem is that in maya these strokes will "jump" between control curves, in which case, you can go in and manually try to set the minimum number of control curves to any one hair stroke, but then you lose the density of your hair volume, and end up with what looks like "planes" of hair.
if, however, you don't have a lot of motion in your hair, paint effects probably won't jump as much, and this approach could work.
the other problems are with look, of course. two major problems 1) paint effects won't motion blur in 3d, 2) paint effects still has anti-aliasing problems for large numbers of thin tubes. some of this can be fixed in post. revision puts out a plugin for digital fusion and after effects called real smart motion blur, which takes luminance information from one image and uses it to blur another. this can be great for simulating motion blurring, some of the time. you can also try various blurs to get hair to smooth out, but again, this can make your image just look like it has a blur applied (maybe there's a way to use a depth matte that will add the right amount of variation for hair to work with blurs, but haven't tried it yet).
paint effects can be a great place to start for making a still image. for animation, though, it's a combination of the above problems that can make it difficult to work with. there are also shadowing issues that can be fixed with converting to geometry, but then you lose any of the render speed advantages of using paint effects.
having said this, for some projects, paint effects may be ideal. i've tried a number of times to utilize it for film projects, and have had enough problems trying to control the look and movement, but i would think about trying to again for stylized projects.
if you've made it this far, hopefully you have a better idea about working with paint effects and hair. ultimately, for hair rendering, you want to be able to control shadowing techniques (such as deep shadowing, and the linguini method - honestly what it's called :) - for casting shadows). currently, we're using joe alter's shave and a haircut, and if you have the money, i'd get it - in terms of styling and rendering speed, i haven't seen anything better (except maybe in some siggraph papers about proprietary methods, but then again, joe's been at this fulltime for years, and he's created a really intuitive interface for a broad base or users).
okay, enough rambling. hope this has been informative,
S. J. Tubbrit
08-26-2003, 11:50 AM
First off, thanks for your very informative post. The approach I'm trying to achieve is somewhat similar to the way most of the hair in FFantasy: TSW was done, I've been using Nurbs planars with transparency maps applied, which looks allright so far, but very static, so I've been trying to apply dynamics to this, which I've done some tests with softbodies, but just can't seem to simulate the dynamics properly and I also don't know how to get around the actual hair objects impenetrating the character object, I've seen something somewhere involving wire deformers on the hair as softbodies too, but ideally I was looking for some more direction in this area, it's a shame that there's not much information on this subject matter, as it troubles mostly everyone who create's character (as evidenced by the huge amount of baldies being showcased.. :). If I can figure something, I'll gladly put together a short tutorial explaing it, so other people can learn from it too.
S. J. Tubbrit
08-26-2003, 02:57 PM
Also, on a related note, anybody using Syflex for hair simulations, and would like to discuss or showcase your results?
08-26-2003, 06:11 PM
Originally posted by S. J. Tubbrit
but very static, so I've been trying to apply dynamics to this, which I've done some tests with softbodies, but just can't seem to simulate the dynamics properly and I also don't know how to get around the actual hair objects impenetrating the character object
there are a couple of ways to deal with the dynamics. as i stated in my previous post, i think softbodies will nearly always make your hair planes look like some variant of rubber, so i would create a rigid body system (using something simple like stand in cubes, and maybe like 7 or eight of them, that are hinged to each other), and then, duplicate a surface curve on your nurbs plane, create clusters at the vertex points, and parent the clusters to the corresponding cubes. then, you can use this curve as a wire deformer to deform your plane.
if you have access to maya cloth, i've heard this can be another approach, but i've never tried using this method.
the main difficulty with using any kind of soft body system is trying to maintain the length of your softbody. this is where an expression based system can be useful. there's also a plugin on highend that is supposed to be able to keep curve length, but, again, i've never used it. if it works, you could use this plugin and create a softbody out of your curve and use a copy as a goal. you can stop the hair from colliding with the head, with this kind of system, by selecting your softbody particles, then the head geometry, and using the "make collide" command in the particles menu.
01-15-2006, 11:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.