---
title: "Fur and Hair in Houdini"
canonical: "https://rmanwiki-25.pixar.com/space/RFH25/22642745/Fur%20and%20Hair%20in%20Houdini"
format: markdown
---
![image](media://e560eee1-6e9b-4574-9eb7-febf79b8b4e4)

 

 

## Render Fur

To render Houdini fur with RenderMan, we need to add the required RenderMan curve attributes and use the [PxrMarschnerHair](https://renderman.atlassian.net/wiki/spaces/REN20/pages/21561527) hair Bxdf.

## Add Curves Attributes

Typically all you would need is a width attribute added as the default is rather...thick.

![image](media://915d1e8a-62dd-4a54-b36c-2b37529473f6)

Set the width to the desired value and name it "width" for clarity.

![image](media://d645e68e-9e4e-40bb-8be6-b35b14ada437)

 

> ✅ 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.
> ✅ 
> ✅ ![image](media://73be146c-e03e-4cd3-a1ee-e17a4dfa0138)

 

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 PxrMaterialBuilder Network and PxrMarschnerHair inside the 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.

![image](media://bfbbd6ee-6cf7-402d-b11a-e446acbd8754)

## Display

Turn off display for other nodes so only fur is displayed.


 

![image](media://dfb9761d-3a91-4973-93f4-54542216c388)

 

## Render!