If you are writing an exporter plug-in and want to add support for exporting hair geometry data (much like the mayatomr functionality). At first glance there does not seem to be any API functionality for hair other than collision solving via MHairSystem, which does not give access to the hair data. To access the hair geometry scalar data (per-hair and per-vertex data) use MFnPfxGeometry::getLineData() and then use MRenderLineArray and MRenderLine to get at the per-vertex data. For other data, you’ll have to access the attrs on hairSystem or pfxHair node directly.
To elaborate the actual hair geometry is represented in the pfxHair node (which is connected to the hairSystem node when paint effects output is used). This derives from the base class pfxGeometry which is also used for stroke and pfxToon nodes. To get the hair geometry one can use the call MFnPfxGeomtry::getLineData for the pfxHair node. (Note that if one used curve output instead of pfx output on the hair system, then one could simply access the set of output nurbs curves on the hair system, but as this is rather obvious I’m assuming they want the pfxHair data)
One thing worth noting is that your exporter would also potentially work (to some degree) for paint effects strokes and Maya toon lines, in addition to hair, because they all share the same base class.
~Kristine
Comments