Hairy Issues // updated!
/ by Andy
hey there!
okay i have to admit it. this decision was quite hard to make: our characters will have hair – and not cartoony hair, but believable realistic hair!
so for me that meant, dive into blender, research and hope that i’d find a solution. admittedly, to this day there were only few convincing hair renders done in blender.
– dupliverted curves are ok for fur, have a nice appearance, but tend to look too repetitive and produce jaggyies in render
– particles are good for overall control of the hair system and material appearance but look crappy when rendered
– the fiber script has the ability to style hair in a good way, but produces heavy heavy heavy meshes
– the beast script looks ok and renders fast, but still has that card based look to it which is not acceptable for long flowing hair.
sooo… this was kinda tricky. duh!
i decided to go the curve based way because with the ‘UV orco’ feature it enables me to spread texture properties over the indidividual hair strands (dark color and opaque at the root, brighter color and transparent at the tip). so i first tried to make a good old fashioned hair furry ball and then slowly nudge it into a more hairy direction…
blender renders 400 K hair strands (with 12 faces each) without any problems, but once we add the much needed transparency, render times climb up! but still… we were able to render a full HD (1920×1080) frame with hair in closeup in under 15 mins. this technique isn’t new, it’s been possible for ages – all the pics here to the left and right could have been done 6 years ago!
the tricky thing with geometry based fibers in blender is that once they’re more narrow than one pixel on rendertime, they show jaggy lines. z transparency helps to cure that a bit. and another drawback: it’s rather easy to make furry creatures with this technique but almost impossible to design a full fledged hairstyle!
so ton and i discussed this and we came to the conclusion that we need to extend the flexibility of the particle system to allow advanced styling and animation AND geometry based rendering with full shadow casting, specular, full control over material properties along the strands, render fast *takes breath* AAAND eliminate anti-aliasing issues to the maximum possible amount.
ton left, we went back too work. and only a couple of hours later i was completely amazed to see the first results in cvs – ready to play with!
the new improved hair solution is simple. static (animated) particles are rendered as a series of extruded faces which are parallel to the camera view, and blender makes sure that they’re rendered at the right size to produce no (or only minor) AA issues. workflow is easier than ever: make a mesh, assign static particles, add material – and off you go!
it’s also easy to add transparency and different color properties along the strand: since it uses the x axis to folow the strand you can simply add a blend texture with a colorband to control color and transp offset.
on the todo list is the inclusion of the new particle patch which allows for guide curves (think of softbody guide curves!) and much more goodies for animated particles, too! also there has to be significant speedup with ztransp rendering and anisotropic shading is also planned. further we should be able to use vertex colors to influence hair density, direction and lenght.
here is a little test to show you the possibilities of the new particle rendering. it also uses a cloud texture on the eighth tex channel to make the hair curly. of course you need the latest, and i mean LATEST cvs to see it correctly (otherwise you’d just see the old usual crappyness)
UPDATE: now anisotropic (tangent) shading has been implemented:
see ya! =D
« Version control in the studio | ROBODOCK!!! »
Now that looks friggin amazing! Great work @ndy and Ton on this. Finally realistic looking hair in Blender.
BgDM
Now that’s just plain cool
This is very similar to the RenderMan approach to curves. It’s wonderful to see this implemented in Blender. It should open up the use of curve type geometry to a much wider community of artists. I can’t wait to see the results in the movie.
So, when are we going to see splitting and dicing in the Blender renderer? Only 400K curves? :-P
Jonathan Merritt.
(Author of the first ever Open Source implementation of RenderMan curves. October 2002. ;-)
Wow, I can’t wait to test this…
I just compiled the newest cvs, 9/28, and Blender segfaults on the blend file you posted, Andy.
Anyone else have this problem?
I think its amazing how much Project Orange will contribute to blender. I’ve been stuggling with programs like Modo which has some nice handles, but blender always seems to bring me back :) ( ofcourse it also has the huge Opensource tag fighting for it hehe )
I also have the Last CVS Built ….and the Example Blend file not Open! Error..!
I can open only in 2.37a but not usefull in this!
Great Work and all the best!!!
Had u tried MakeHair plugin?
http://www.dedalo-3d.com/
“could have been done 6 years ago!”
Not in 15 minutes for a HD frame :)
Amazing stuff Andy!
“ton left, we went back too work. and only a couple of hours later i was completely amazed to see the first results in cvs – ready to play with!” *sigh* Don’t you just love that guy? Why is not everybody like that?
Way cool.
BLENDER HAS MATURED TO PUBERTY.
AT LAST!
Great first go!
Now…We’re looking forward to a way to “comb” particles so
it’s possible to shape the hair instead of huge fuzzballs..
…even though…we love fuzzballs.
:)
[quote from Andy]: “…but still… we were able to render a full HD (1920×1080) frame with hair in closeup in under 15 mins.”
—Another question relating resolution I posted a few days ago…What will the final render resolution be for the film? 1920p, 2K perhaps….even monster 4k? Just guessing….and awaiting an answer…
A blender friend,
Juan.
Madrid, Spain.
Can’t wait to play around with this cool stuff!
Where can I download a testbuild including the new Particle System?
All the Blender OSX versions I have downloaded from
http://blendertestbuilds.de/index.php?dir=Testbuilds/Blender/MacOSX/BrianH/
don’t run on my G5 with “Tiger”. Blender even don’t start.
I am looking forward for the “Machina”-DVD, which I have already ordered.
Gonna be a fantastic movie!
muahahaha… those are some DAMN cool hairballs. I’m confused though, is this curves or particles?
\n
that hair is superb @ndy! thanx for sharing (though the cvs for macosx doesn’t work here too on Tiger :( )
That is several shades of awesome. I spent much of Sunday trying to create realistic hair and just couldn’t do it.
Haven’t dared playing with the testbuilds, so I’ll just save my bald characters until this becomes part of a regular Blender version :)
AWESOME! I can’t wait to get my grubby little paws on a testing build.:)
Will these new “hair particles” be detected by raytracing?
Even better yet..when will these be availiable to Yafray? :)
JoOngle, they do in the current CVS! Static particles are real faces and real faces render in yafray!!!! Here is an example.
http://projects.blender.org/sharea/index.php?action=view&filename=yafstat2.jpg&PHPSESSID=667ec8d95894340d65621fcfb42572a4
The hairstrands are always facing the camera? So does it mean that unexpected results happen when Hairy stands before a mirror?
Guitargeek. Ah! Both good news and bad news then…
because one of my newly “haired” characters crashed blender
when I rendered to Yafray….I’ll check on this.
Bug found!
Latest CVS Blender crashes on using the Blender window
for Yafray rendering preview (XML ticked/selected in the Yafray menu). This crash is consistent.
More details in the bugtracker.
/JoOngle
Awesome job!! I have been trying to create hair for ages, finally hair has arrived in blender. Thank You
Shard
the power is on jack!
Amazing work, guys! Congratulations to you all!
Congratulations!
great work!
thx @ndy for my nice new wallpaper ;-)
And ton, real good job!
Thank You guys!
Jarod
you guy’s are amazing … this is truely the way things should happen in a tight development when the competences are available.
reading this made me smile … you made my day.
(still have the smile on my face)
Finally some good things happening for the creation of hair directly in Blender! Thanks !!!!
Well, I hope all these new improvements with ‘guided – curve – hair’ will be included in the next 2.40 version of Blender. Will it be, because I think a lot of people are really eager to have such a nice system?
This would make it really really GREAT, because at the moment I’m not satisfied with the current hair methods as Andy mentioned in his article.
Thanks again!!!
Well Andy,
you have just show how to even increase our addoration by your update :-)
Does anyone know where can be donwloaded Blender version which is capable to work with the test-file?
Thank you very much.
Jiri
I’ve seen things like yafstat2.jpg come out of my cat. :)
Looking forward to the new features. Thumbs up guys!
Jiri: it works great under Linux, at least in my box with latest CVS.
Cool update! Excellent work, keep it up!
Thanks… I gonna get cool hair to my character, if I succceed in using this. I hoper we get this feature soon to blender!
“Well, I hope all these new improvements with ‘guided – curve – hair’ will be included in the next 2.40 version of Blender. Will it be, because I think a lot of people are really eager to have such a nice system?”
with the other new particle features (particles that folow curves) you will be able to direct hair, and afaik it will be in 2.40, as well as the patch is already availible.
Hope the new Blender is coming soon. I can’t wait to test all those new features(i don’t know anything about adding things to the source)
Hope there is coming more soon
Are there plans for final render resolution? Which rez will be used?
Don’t know if you have already made a decission on this……
JuanJavier
“i think i saw a pussycat…” hehehhehehe
good work, very, very good!
Wow, I always hoped that blender would have good hair, and there it is. It looks fantastic, but the one thing it is missing is slef shadowing. The hairs are all the same color, even the ones at the back, even though they’d be shadowed by the ones in the front.
there’s an algorithm called deep shadow maps (http://graphics.stanford.edu/papers/deepshadows/) that fixes that. I’m not sure if it needs raytracing or not, but if it does, maybe you could get the people at yafray to put in support for it.
I hope that helps, and keeps up the fantastic work
If it keeps going like this, the movie will look fantastic.
The Masonmop: the hair actually does selfshadowing. atm we’re working on optimising the render speed, too…
Optimizing the render speed would be king, because right
now…if you only have one computer – even if it’s fast
and pretty much up to date with a lot of ram…its sloooooow
But nice work, kudos to the coders!
Whoohooo! Beast gets a mention!!
Looking good people!
Blend On!
ezual
Can anyone show me how to install the particle patches
Andy: Are you the author of “Mindfields”?
What a wonderful short! Provides lots of inspiration for other artists, as well….
BTW (I think I made this question before) Are there plans about what the final render resolution of the film will be?
Cheers,
Juan
Hi Juan, I’m not Andy, but we’re planning to render in HD 1920×1080, 24fps :)
[Quote from Matt]”Hi Juan, I’m not Andy, but we’re planning to render in HD 1920×1080, 24fps :)”
—Very good idea. This a very nice output resolution and saves a lot of render time compared to 2K. Surely the difference in quality 1920p versus 2K will not be noticeable since 2k uses 1536 scan lines instead of the 1080 used by 1920p; one third less. I’m eager to see the results….
—BTW I am planing to make a purchase decision for the DVD soon…I am almost convinced that Orange DVDs will run out. You will maybe have to make more….;-)
That would be really great!!
Cheers,
Juan.
how does conversion of 24fps to 25fps (pal) and 29.97fps (ntsc) work?
i guess for pal you can just play it faster and nobody will notice but for ntsc i have no clue how this could work without degrading quality a lot?
Kakapo.
I believe frame-rate conversion is usually done through a process known as “pulldown”. (Think it’s 3:2:2 or just 3:2).
I’m not sure entirely how it all works, but it seems to crop up all over the place whenever 24fps is mentioned.
Perhaps the Project Orange guys can explain?
By the way, since it’s my first post, good luck Project Orange :D
i have googled a bit… it seems like you can just encode the mpeg2 with 24fps and the dvd players will do the proper conversions.
Hello-
Been playing with this stuff a bit and was trying to figure out ways to speed things up. One thing I noticed is that if you do not need a shadow from the strand particle object itself cast upon other objects, than you can move it to it’s own layer and have the lights on it be for that layer only (with shadow). However, in order to get light on any other object in the scene with shadows, you need to move all those objects into their own layer and place another light. Is there anyway to add a “not this layer” light option that does not effect objects in it’s own current layer?
It’s a bit clunky, but in case you didn’t know, an object can be on more than one layer at the same time (hold shift). Maybe this will help finding a setup that works nicely.
I just find a way to animate particle with a wind emitter, using an ipo driver. A made a test video which you can found
here .
@Matt: No, didn’t know that, and yes that helps :)
Hi,
This is great:
-any ideas on when this will be in a release blender version
-are there people around who could write a short turorial?
The funkyhair.blend is rendered right in 2.40alpha release.
(applying wind in proximity, enabling softbody -> strands flicker in the wind)
i cant make the python script for the particel update work
For some of u guys living in a world where u can make a choice on which 3D application to use, it may sound like… “if not blender, it could be another modeller out there”, u may have 3ds max or maya in u local software shop, and have the lots on euro to buy.But in Africa, Blender is a blessing.Less that 10 MB on slow internet connections, a wonderful community, and all these guys working endlessly to make things like this happen.I think I’m going to cry.Ton and the rest, u guys are like stars to me.What can a guy like me do to keep this going on? Cheers all!
Blender is so friggin sweet. Blender has got the magic of great minds, freedom, and lots of enthusiasm.
JEG VIL HA LITT IS!!! ELLERS