Here is a breakdown of the workflow used in making the Rat including tips on using Vrayfur for Maya.
– Model the polygon mesh, my rat will be used in mid to long stills, so I kept the topo light.
– Detailed and textured the model in Zbrush , exported normal and diffuse map at 4K ( max subdiv was about 1.4mil )
– I did several different diffuse texture maps, one with fur already applied and one with just the skin.
– Did a rough hair pass with zbrush’s fibermesh, original idea was to export the curves into maya hairsystem. I found this technique was really suitable for styled long hair, fur wise it was much easier using the vrayfur method described below. ( will post workflow for this as well later )
– So after mucking around with hairsystems I decided to switch tac and looked into vrayfur and VrayMtlHair3 . There wasn’t many resources on line, but what I did find useful was the following pages.
The main concepts to grasp of using Vrayfur and VrayMtlHair3 are
- VrayMtlHair3 is just a hair shader, you can apply this to any hair system or geometry. Its very nice at rendering realistic hair and pretty fast too.
- Vrayfur is a vray plugin that automatically generates non dynamic hair from the faces of your polygon geometry.
- Vrayfur is flexible, you can make anything from Grass, Carpet, Fabric, hair and fur.
- Vrayfur needs underlying poly geometry to be attached
- Fur is generated per face on the polygon, the more polygons you have the more hair you will have.
- Everything can be controlled by using sliders and texture maps. Such as density, length, bend direction etc.
- Vrayfur takes the shader material information from the underlying geo, which means you can control the color of the hair using UV’s on your mesh.
- You can use a low res proxy mesh to generate the hair which is bound and hidden to your hi-res final mesh.
- Geometry must have good UV’s ( for painting )
Workflow is fairly straight forward once you know the steps, lets continue with the rat.
– Duplicate the body mesh, one will be the visible overall geo ( visible mesh ), the other will be used to drive vrayfur ( fur mesh ).
– Shade your visible mesh ( I used vrayfastSSS )
– Select the fur mesh – Assign the vrayfur plugin – create > Vray > vrayfur > Add vrayfur to selection.
You should see an additional node in your outliner called ” VrayFurPreview which will have vrayFurProperties ” this is the node which you need to adjust for the distribution of the fur.
– Assign vrayhairmtl3 to the fur mesh. This will make the fur render like hair. ( you can assign whatever shader you want really, for instance a grass material )
– You should now have two of the same mesh, one with the skin shader and one with the hair shader .
– You should also see some nasty hair coming out from the mesh, depending on the size and density of your mesh it may have a lot of little hair, if you dont see any hair, check ” Show preview “ is on in VrayFurPreview. When I am styling hair I bump up the max preview strands to a high number 20,000.
Here are my fur settings, its important to have a play around with the main sliders, since the maps are just multipliers, so if you have the bend set to 0, your bend maps arent going to make any difference.
Also note: In order for the GRAVITY to have an effect, you must have some Bend amount other then zero. ( check out the digialtutor video above, its good )
– tweak the slider settings to something that is close to the final result.Save it as a preset then dial it back 20% ( leave manual gravity alone ) The idea is use the maps to push the last 20% of the styling.
Customising and styling the hair with maps
The next steps will show you how to paint and style the hair interactively within maya.
– Duplicate the Visible mesh ( not the fur mesh ) again and assign a lambert shader on it. We will call this ( paint mesh ), we will use this mesh with the lambert shader to paint and style the fur.
– You should now have 3 of the same mesh, we want to see whats going on when we paint so move the paintmesh out from center and hide the furmesh. ( freeze transform so you can zero out later )
– Select the paintmesh then goto rendering / Texturing / 3D paintool. ( bring up the tool settings. )
– Scroll down to “File Textures”. Set your attribute to paint “Color”, tick “Update on stroke” and “Save textures on Stroke”
– Click “Assign / edit textures
– Size 2048 x 2048 // Image format “PSD” make sure you choose PSD. HiT Apply
( if nothing happens make sure you still have your paintmesh / the one with the lambert shader selected ) What maya does is assigns a live PSD texture to the lambers diffuse slot, it will also create a texture node in the hypershade. ) ( attached paint settings )
– now you should be able to start painting on the model, but before you do. we will connect the texture map into one of Vrayfurs custom attributes.
– Go into hypershade, locate the PSD texture node that Maya created and drag that into one of the slots in ” vrayFurProperties “.
– Now when you go back intro the 3Dpaint tool you will be able to interactively paint your maps on the paintmesh which will update the fur settings on furmesh. ( live feedback )
– Once a map is done, you should click “save textures” then duplicate the PSD file with a name like “rat-fur-length.psd”, disconnect the live paint texture from vrayFurProperties and connect the saved texture file to the slot.
Tips when painting
- Read and understand what the maps do here .
- 3D Brush setting should be on Artisan / Paint.
- Try different blend modes when refining.
- Using a normal map ( from zbrush ior similar ) in the Initial Bend Direction can help conform the hair to the surface.
- Paint your maps in this order. Density / Length / Thickness / Gravity / Bend / Init / Bend direction
- The black and white maps are multipliers of the slider params.
- If you find that the maps are making little difference up the slider amounts.
- Init Bend and Bend Direction map are Vector RGB Color maps.
- Bend direction map is the key to styling, its also the hardest to paint, so make sure you get your other maps right first.
- Bend direction map is a color map, I found using a lighter color on one side and dark color on another helped.
- Fill the bend direction map with 50% gray as a base coat.
- You should have all your other maps connected whilst painting Bend Direction.
- Hide all other Geo / Dome lights etc in your scene while painting, otherwise 3D paint will lag.
- Remember to duplicate your texture after painting each map.
Rendering and rigging
– Once the fur is the way you want it, feel free to delete or hide the paintmesh, But you will need to keep Furmesh.
– Zero the position of visiblemesh and furmesh
– Hide the furmesh Geo, vrayfur will render even if the mesh underneath is hidden.
If your character needs rigging I suggest binding both the vraymesh and visible mesh together at the same time.
Then paint your skin weights on Visible mesh, refine your rig, at the end simply copy the skin weights from visible mesh to furmesh. Both meshes should deform pretty much the same, which will give you good results.
I used a dome light with GI for rendering. Its been mentioned, vrayhairmtl3 looks much better when rendered with GI.
Tips when using VrayMtlHair3 – I connected my diffuse map to the overall, diffuse and transmission slot of VrayMtlHair3 . This let me change the color of the hair at the exact areas I needed.
Vrayfur looks great, light on system resource and can be used for a lot of things. The downside it is not a dynamic system, but for those tight deadlines where the client just needs fur, this is the way to go. Hopefully in the next release Chaosgroup will bring out some simple dynamics, which will further enhance this simple workflow for fur.
Thanks to Vlado and Teodor from Chaosgroup for their help. You can read more on my thread on Chaosgroup forums
Workflow & breakdown for THE RAT using Vrayfur & VrayMtlHair3 by John Chen is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Based on a work at www.vfxforge.com.