Jump to content

Rounded Fur/Hair solution?


Recommended Posts

Hi,

What I'm looking to do is create the illusion of roundness to the individual hair strands so they look like tubes rather than flat strands (on extreme close up).

I've done this in Maya using Renderman by putting a displacement ramp shader across the width of the hairs - is there a way to achieve this in Houdini?

Link to comment
Share on other sites

Hi there;

I believe you can calculate the tube normal and then use it in a surface- or displacement shader. If you use it in a displacement shader, you might want to switch "True Displacements" off, at least for that object/material.

Look here:

Link to comment
Share on other sites

Hi,

What I'm looking to do is create the illusion of roundness to the individual hair strands so they look like tubes rather than flat strands (on extreme close up).

I've done this in Maya using Renderman by putting a displacement ramp shader across the width of the hairs - is there a way to achieve this in Houdini?

Just to be clear about it: the standard Houdini hair shader is built with HairNormal VOP, which does that *illusion* in shading by simulating rounded shape's normals of a hair. As to displacing actual geometry this would be the same approach as PRMan, just displace hair based in its 's' attribute (s is always facing a camera unless a curve doesn't specify different orientation with attributes).

Link to comment
Share on other sites

Thanks all! Some great info on that thread, Jason!

This is a link to an example/tutorial using Maya/Renderman to render curves with a bump to give them roundness - pretty plug-and-play setup though, quite different implementation. Below is an example from Houdini showing the flat hairs.

SYmek - good to know. I'm not really sure where to implement "HairNormal VOP," but I found this listed on the "Hair VEX Node" help article: "The roundness of each hair is determined by the value of the Bump Scale (scale) input."

That might be a solution as well, but I can't find where the bump scale is located yet (I'm using the shelf "Add Fur" solution rather than the furball example from h9.0).

I'm doing a pull-out from an extreme close-up POV and would like to give them some depth and detail. The image on the left shows the flat hairs, whereas from farther away it is not an issue.

post-2467-12774349119_thumb.jpg

post-2467-127743634276_thumb.jpg

Link to comment
Share on other sites

The approach is exactly the same as in PRman (Jason has given you a hint). Bump mapping based on 's' attribute. See attachment ;)

Wow! Thanks so much for the example file, SYmek - I can really learn a lot from it! It does works nicely with hair/fur as well. I now see the similarity between this method and PRman (inside the VOP VEX displace). I don't think I would have thought to use $NVTX with the width, nice touch...

Thanks again!

Link to comment
Share on other sites

  • 3 months later...

Symek, I understand what you were doing to get the displacement to look round. But, can I use this technique on the default textured_hair shader? It looks different from the other vex shaders, somehow packaged differently. I'm not sure how to combine it with displacement. Sorry, but my vex knowledge is quite bare.

Link to comment
Share on other sites

Symek, I understand what you were doing to get the displacement to look round. But, can I use this technique on the default textured_hair shader? It looks different from the other vex shaders, somehow packaged differently. I'm not sure how to combine it with displacement. Sorry, but my vex knowledge is quite bare.

In H11? It's a new Material Builder slightly reorganized compared to H10. You can of course do the same thing (note, this is actually happening in a a way, because hair shader uses Hair Normals (fake roundness*)). Anyway in Material Builder you need to add Output VOP, change its type to displacement, connect it to collect vop and the rest stays the same.

* - like this:

Nhair += (u*2-1) * normalize(dPds);

post-744-12869807657_thumb.png

  • Like 1
Link to comment
Share on other sites

  • 11 months later...
  • 4 months later...

Try to enable the Shade Curves as Surfaces "vm_curvesurface" parameter on the hair object. You can find it under Render>Dicing>Shade Curves as Surfaces. It enables the shading of several points across the surface (mouse over the parameter to read the full description). This should do the trick :)

-dennis

Link to comment
Share on other sites

Try to enable the Shade Curves as Surfaces "vm_curvesurface" parameter on the hair object. You can find it under Render>Dicing>Shade Curves as Surfaces. It enables the shading of several points across the surface (mouse over the parameter to read the full description). This should do the trick :)

-dennis

Yay it worked!!! Thank you Dennis! Now I can finally go to sleep worry free! :D

Link to comment
Share on other sites

Is it really necessary for you to render with PBR? MP is a lot faster and the preferred way of rendering fur in Houndini 11. What is it exactly that you are trying to achieve?

Maybe post another hip file which showcases your problem.

-dennis

For my scene, it involves water getting spilled on the carpet. As the carpet absorbs the water it gradually deforms and turns in to soil from which grass and flower will grow out. The scene is rendered with PBR,that's why I was troubling with rendering the carpet fur over PBR. Since the shot of the carpet is fairly close, that's why I need to get the details of the strands of the fur. The distance is somewhat close to the reference photo i attached here.....

Edited by jesschaco
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...