To render Houdini fur with RenderMan, we need to add the required RenderMan curve attributes and use the PxrMarschnerHair hair Bxdf.
For Houdini 15.5, select the fur object node (e.g. the fur node inside grid_object1_fur), add the following RenderMan attributes.
For Houdini 16, add these attributes to the hair gen node. See Curves for more information on these attributes.
Typically all you would need is a width attribute added as the default is rather...thick.
Set the width to the desired value and name it "width" for clarity.
For cubic bezier curve interpolation, we need to set the Guide Groom node's Guide Creation/Segments as a multiple of 3, e.g. 3, 6, 9, etc.
For hair, it is also recommended to add the following attribute.
For ROP, it is recommended to add ri_hairminwidth which In the ROP, under Dicing, note the control for minimum hair width which sets the minimal width for the hair in pixels globally. Hair that is very thin may require more minimum samples in rendering to avoid aliasing or missed hair
Create and Assign the Hair Shader
Dive into the fur's shopnet. Create a RIS PxrMaterialBuilder Network and PxrMarschnerHair inside the RIS fur Network.
Set the Material of the fur object to point to this shader path.
Note that we default to tube hair unless normals are supplied, then they become ribbons. Camera-facing/billboard curves are not available.
Turn off display for other nodes so only fur is displayed.
Add Width Attribute
Like rendering normal Curves, we also need to add a width attribute.
- Add a width attribute with Attribute Create. Set its type to Vertex Float. Set a width value at the bottom, e.g. 0.05.
- Map the width attribute to RenderMan attribute with Attribute Rename.