I’ve experimented a lot with curves in maya over the past year so recently I decided to see if I could put together my own maya hair plugin for fun. Currently I’m building this as a node based system, I figure this gives artists the most freedom and also makes it easier to track down problems while developing.
At this point the system relies on guide curves at each vertex and provides the ability to use a density map, cache a hair pose, sample any maya texture based on hair curve points, adjust length based on a sampled texture, vector deform based on a sampled texture, and clump based on a sampled texture. Going forward there’s a ton of features I’d like to add to make this more artist friendly, but this is where I’m at today.
Here are some example videos I put together using nHair to drive dynamics:
Recently I ran into an interesting problem which provoked me to create a node, I needed to create a particle simulation on top of a surface which had an animated vector displacement map assigned to it. The problem was that the original mesh didn’t have any of this deformation, so I had to come up with a way to create an animated mesh representation of the displacement which the renderer was creating. The requirements for this would be something which could gather points, normals, tangents and uvs of the mesh, supply them to SampleShadingNetwork function and then displace with the returned values.
Here’s a sample video of a mesh with vector displacement exported from MudBox:
Here’s a demo of whats possible just by tapping into the SamplerInfo node: