top of page

Photorealistic Girl

Final Render of Camera 1 - Face Close up

Final Render of Camera 3 - Whole Character

FiberMesh in Zbrush

The Hair is build in Zbrush using Fibermesh. First create a scalp from the head model and group it into different poly groups, then when we create fibermesh it would inherit the polygroup, which would give us great control on grooming the hair.

​

I majorly used groom spike and groom blower and groom lengthen to shape my hair. After getting the desired hair style I want, I exported them out as maya ASCII file format that would enable me to import them straight into maya as curves.

The imported fibermesh curve

 

After getting the hair as curve from Zbrush, we can then create and shade hair based on it in Maya.

From this point on, there are multiple ways of creating hair.

 

I initially choosed Maya nHair which is native to Maya. It produces great result, however I faced a memory leak issue that significantly reduces my render abilities.

 

So later on I tried Xgen, which has been intergrated into Maya some time ago. It is majorly used for fur but still produces good results on long hair, though it indeed requires extensively tweaking.

​

Both methods are viable solutions and I implemented them both in my final renders. The face close up is rendered with Maya nHair where the whole body shot is rendered with Xgen hair.

Maya nHair - Base Hair and Stray Hair

Maya nHair

 

When I am using Maya nHair, I created two hair systems from the fibermesh curves exported from Zbrush. 

​

The first nHair System serves as the base layer of the hair, it is more smooth and regular with little noise on the hair shapes. The second nHair System functions as the stray hair, they are noisy in terms of shapes and have huge clump value so they would stand out and out side of the hair formations.

​

When combined these two nHair systems together, you can get a fairly convincing hair look. And Maya nHair systems provides some neat functionality on shading the hair, it can vary hair hue, lightness and satuation value according to each hair strain. And you can feed this shading information into the Vray Hair shader through the Hair sample node.

Maya Xgen Hair

    I used the same curve exported from Zbrush Fibermesh to act as the guide lines for the Xgen hair. After creating the Hair collection and description based on the scalp geometry, I converted the Curves into Xgen guides, shown as the orange guid lines. They will guide the hairs that generated on the scalp to grow in their direction.

​

    One major advantage Xgen hold over Maya nHair is that it has a procedure modifier system which enable you to layer different modifier one top of another, so you could create really intricate and complex hair shape with a very clean and non-desctructive workflow. And in Xgen you can directly set up the stray hair amount, and by using expresions that related to stray function, you can easily define the stray hair to create the nature hair look.

​

    The reason I didn't use Maya nHair for my entire project is that Maya nHair while rendering still frame is OK and processed fairly fast, it cannot batch render due to its cumulative memory usage, in short, when attempting a batch render, the memory of the machine will quickly be filled with nHair data and chock to a point it can not process any rendering activity.

    I took a screenshot of the CPU and Memory usage in Windows Task Manager. This issue presented in Linux as well. From my gathered knowledge, I suspect that the Maya nHair although disable dynamic simulation properties, it still store nHair data on each different frame as different geometry and try to cache them out individually every frame, which poses a problem if the nHair cache is a big.

​

    So in one batch render attempt, the most amount of frame I can get a one a 32 GB memery machine is 50 frames before the nHair choke the memory. And this problem is inevitable since in order to get any decent nHair render, you would need a good amount of hair density.

​

    This resulted me in break the render into differnt sections and only render out 50 frames a time, caused me great inconvinience.

​

    The Xgen on the other hand doesn't have this problem. I have a good amount of hair density on Xgen hair and get decent result, yet the memory usauge does not increase dramatically for batch render. So I assume Xgen treats the static hair statically alright.

Cloth Simulated in Marvelous Designer

Distributed Rendering in V-Ray

bottom of page