Labels

Sunday 15 December 2013

Simulating Hair

Simulating Hair - more than a brush stroke...

It's a hard fact for computer game developers that not all CG characters are space-marines with a crew-cut [and there's a sentence I never thought I'd say]. Traditionally the computational heavy calculations needed to simulate hair have been the reserve of Hollywood (I'm reminded of 'Final Fantasy' and 'Monster Inc' both pushing the boundaries). Games have traditionally avoided dynamic hair, through crude polygon modelling, helmets, shaved heads or more ambitiously the layering of multiple hair textures with opacity maps. However with the arrival of 'Next-Gen' consoles the bar for 'realistic/dynamic' characters is being raised.

Tomb Raider: Definitive Edition for PS4, Xbox One
To illustrate this Tomb Raider has just been announced as being re-released for the PS4 and Xbox One. Very little has changed (including the hype). For example, Lara's head has been remodelled to add more detail and the media says the character is remade... In truth the largest graphical enhancement that is being used to promote the game is, believe it or not... Lara's dynamic hair.












Tomb Raider TressFX Hair
Although the revamped hair does indeed add to the sense of interaction, especially between Lara and her environment (showing how a good design has the environment as an extension of the character), it's not as new as the publishers would like us to believe. In fact the same tech was being highlighted (excuse the pun) back in march for PC development.














Simulating hair requires a number of considerations:
  • Visual look (E.G Styles, hair types, shine, wet, dry, shadow casting, self shadowing)
  • Dynamic movement (E.G. character movement, gravity)
  • Interaction with physical forces (collision detection, wind)
  • Artist friendly tools (E.G. virtual brushes and scissors, viewport rendering techniques, previews)
  • Render speed (E.G. hair strands numbers and controlling strands/tools, real-time vs pre-rendered)

http://www.hair-farm.com/
There are many aspects to creating virtual hair, and likewise there are a range of plugins/software which help 3D Artists to create them. Here is one of my favourites. Hair Farm - from 'Cem Yuksel'.


Deep Opacity Maps - Real-time hair shadows
Cem has been developing hair (and more - I highly recommend his youtube channel) simulations for some time now. Here's a video showing his efforts of creating shadowing and highlights, back in 2008.



Fast Simulation of Inextensible Hair and Fur
However, what use is a beautiful head of hair if 'we' can't render it quick enough... optimisation is always important.


NVIDIA Simulating Realistic Hair - Amazing Techdemo
Let's not forget 'the big boys' - E.G. NVIDIA showcase new characters and simulation with all their major hardware. Here are some of their simulations back in 2010 [btw Did you notice how NVIDIA's latest 'realistic' talking head was devoid of hair...]




Structure-Aware Hair Capture (Siggraph 2013)   -Dave's Highlight-
OK - Hopefully you've found this interesting and appreciate some of the complexity in simulating hair. To that end let me leave you with Dave's Highlight [something I'll try to include in each of my blog entries]. This vid' made me sit back and be quiet back in May 2013[yes it's that good].

Whatever the computer can simulate, IMHO it really is only half made if the artists are unable to utilise its features - i.e. Let's not forget the Artist Friendly Tools... this method of synthesizing hair shows great potential. It's one thing to make Lara's hair but if we're to recreate dynamic cities and virtual human interaction we need to speed up the process - and this might just the method to do it... 3D styled and dynamic hair, generated from a 2D image... astounding. Now, if we can take multiple photos around real people and automatically generate realistic hair... well, one step at a time. ;-)



Thanks for reading - do make sure you click on the links, there really are some great movies there.
Dave.

No comments:

Post a Comment