Monday, 13 May 2013

IGA Hair Salon : How we do it.

  The IGA campain features anywhere from 3 to 16 characters per spot.  All these CG actors need to drop by the virtual hair salon before they are allowed on set.  Here's what happened to Oceane Rabais and Bella Marinada at this stage.

1-We always start with the character design made here at SHED as a reference.



  For the whole hair process we use a collection of in-house compounds that are derived from krinstinka ( http://www.matkovic.com/anto/kristinka-hair.html ) and Melena (http://opensource.nestanimation.com/melena.html ).  We also recently added a few nodes fromTriggerfish animation studios ( http://www.triggerfishstudios.com/en/ ).



2 - We then look up on the internet for a real life reference of what the hairdo could look like.  This is only as a reference to capture certain real life details.  Since we are going for a Cartoonish look, we are not aiming at reproducing the reference exactly.  Of course a picture of a duckface girl is always a plus.


3 - We proceed to create an emitter fitted to the head from which we emit guide strands with Ice.  They get their shape from nurbs surfaces.  Those guides are low in number (from 200 to 400), so it's easy to work with them to groom and later simulate and cache on disk.  The idea is to get the shape of the hairstyle and the length.  The bright colors are there to help see what's going on.





4 - Next, we clone theses strands, add an offset to their position and apply a few Ice nodes to further the styling.  These nodes generally include randomizing and clumping amongst others.  We now have around 90 000 strands and it can go up to 200 000.





5 - Then we repeat the process with the eyelashes and the eyebrows.  During the whole process the look is  tweaked in a fast rendering scene. 


6 -  Once happy with the results, we copy the point clouds and emitters to the "render model" where the point clouds will be awaiting an Icecache for the corresponding shot.  We use Alembic to transfer animation from rig to render model and the Ice emitters are "cage deformed" to the alembic geometries because the hair styling is done too late in the process to include theses emitter in the alembic export.





7 - Back to the Hair model we convert the guides strands to mesh geometries.  We apply syflex cloth simulation operators to these geometries to get ready for shot simulation.  We link the guide strands to the syflex mesh so they inherit the simulation.




8 - Next comes shot by shot simulation and Ice caching of the guides strands (hair, lashes, eyebrows and beard if necessary).




9 - Before we pass down the simulation caches to the rendering department, we need to do a test render to be sure every frame works and there is no glitch/pop.  With final beauty renderings taking sometimes close to 2 hours per frame, it is not a good thing to have to re-render a shot because a hair strand is out of place !  The scene we use renders quickly with no complex shaders and only direct lighting.




10 - Once we are happy with the look of the hair, the movement of the simulation AND most of all once we've resolved all the problems, we give the signal to the rendering department.  The hair PointClouds are always automatically linked to the appropriate simulation cache for the current shot so all they have to do is "unhide" the corresponding object in their scene and voila !




Luc Girard, our hair artist, was interviewed by the guys at TD Survival on facebook. You can watch the video here:



20 comments:

  1. Cheers guys. Thats pure gold right there!

    Femi

    ReplyDelete
  2. Kudos for these tips and especially for keeping a promise and delivering as Femi Adegboye said "pure gold"!

    If I may, I want to ask, how do you "...link the guide strands to the syflex mesh so they inherit the simulation."
    Do you use ICE for this or do you just use syflex mesh as deformer for strands?

    Also "...Ice emitters are "cage deformed" to the alembic geometries", do you mean you just simulate using baked animated mesh data or?..

    And lastly, you say "With final beauty renderings taking sometimes close to 2 hours per frame". Is it on a 12-core Xeon machine and in 2538x1080 resolution? Do you use a render farm for rendering with Arnie or do you have your own in-house render farm? If you do, how many machines would you recommend for rendering a short like this one in a reasonable time?

    Cheers and thanks again!

    ReplyDelete
  3. Thanks for the mention of the "Triggerfish nodes". :D Love it! Keep up the amazing work guys

    ReplyDelete
  4. Thanks a lot for all the good words.

    Here are the answers to your questions Serpin :
    - We link the Guide Strands back to the Syflex mesh through a set of nodes in Ice.
    - The animation of the mesh we use to simulate is sent to us with Alembic. We do not have the rig in the simulation scene.
    -We have our own render farm with 25 nodes for rendering (20 X 24 cores machines + 5 x i7).

    ReplyDelete
  5. Luke, you're awesome. Thank you!

    ...I cant imagine how Arnie renders on a 24 (!) core machine... It must be beeeautiful...

    Good luck!

    ReplyDelete
  6. I just wanted to add a comment here to mention thanks for you very nice ideas. Blogs are Pinecrest Hair Salon to run and time consuming thus I appreciate when I see well written material. Your time isn't going to waste with your posts. Thanks so much and stick with it No doubt you will definitely reach your goals! Have a great day!

    ReplyDelete
  7. Fantastic i love how CGI has developed and im always fascinated when i see the flowing hair follicles in todays great flicks. Now we know how its done!

    ReplyDelete
  8. Really interesting stuff, the hair looks so real - infact the hair looks more real than the characters

    ReplyDelete
  9. It’s actually a great and useful piece of info. I am satisfied that you shared this helpful info with us. Please keep us up to date like this. Thank you for sharing.what a creative animation service great

    ReplyDelete
  10. Kellyt Hoilmes24 July 2013 13:05

    cool videos, i really enjoyed watching
    driveways hornchurch

    ReplyDelete
  11. Hi
    Thanks for sharing these article marketing tips with people.This is very important information that you share. Article marketing tips are very useful for people

    ReplyDelete
  12. Hi
    I like the way you start and then conclude your thoughts. Thanks for this nice information regarding regarding I really appreciate your work, keep it up.

    ReplyDelete
  13. thanks for shearing this article and it is useful for me

    glamazone

    ReplyDelete
  14. Hello!

    First of all, great job. Your hair system is the resultsthe most beautiful that I've ever seen on such cartoon renderings. Both simulation and rendering.

    Currently a senior at the ESMA (France), we make a short film where the hair is crucial. Indeed, this film takes place in a hair salon!
    We are at the end of pre-production and begin to take into consideration issues rendering and simulation.

    We are working on Autodesk Maya, and I wanted to know if Luc Girard, your hair artist, had already worked on this software. In fact, we'd love to enjoy the lights, advice and return of this talented artist if possible.

    A big thank you for your many explanations on this blog, which are a huge resource for students like us !

    ReplyDelete
  15. Its also good to know that on-trend fashion have a hair Salons in vancouver wa that understands their needs. we make you look beautiful with good looking hair style.

    ReplyDelete
  16. in present time every one want good looking style and hair are key part of beauty. so your post is to important for that types of human.
    Shed builders warwick qld

    ReplyDelete
  17. Hi
    Thank you so much for giving us such kind of handy content which will be most useful to me as well.... I will follow your blog always. Thanks!!!

    ReplyDelete
  18. Just a silly question. Is it possible to create that kind of short hair with Kristinka, or I need to use additional nodes? That's a similar hairstyle that I would like to recreate

    ReplyDelete