Feather Tools

As an intern at SideFX I created a series of tools for doing feather FX, the toolset includes a feather generator, a feather groom tool and wing tool.
I'll continue to update this project as I continue to develop it. Download v1 of Feather Tools below! 

Tool Design Challenge

Feathers are a unique fx challenge in that they call for large datasets to be manipulated at speeds that provide fast feedback for artist, rendering and animation control input.

Pipeline Consideration

The approach generates feathers first, derives accurate low res representations for animation, grooming and lookdev and at render time replaces the low res with the hi res feathers saved to disk. This pipeline is meant to optimize rendering and lookdev, as feathers no longer have to be generated at render time, they only have to be deformed.

Feather Generator allows you to create unique feather structures and shading, by allowing the artist to have a high degree of control (independent controls per side of feather for assymetry, ruffling, tip shape, etc.)

Here, I created a wing that was rigged to open and close, and had a variety of feather shapes and pattern.

Only the Feather Generator which includes the shader is to be released with version 1 of Feather Tools; the wing and grooming tools are to be released with version 2 at a later date.

When creating feathers with the Feather Generator, I would advise to first set the stem parameters. After that the length of the barbs, the bending, the clumping, the noise, the secondaries if needed, the shader, the bake geometry settings, then initialize the bake UV map, then bake the hi res to the low res. The geometry is packed by default so make sure to change Declare Materials parameter in the Rendering->Render tab of the mantra node to Save All Materials.

Please feel free to comment here or contact me at trzankofx@gmail.com to report bugs or request enhancements.
And special thanks to Paul Hollingworth, for letting me use his photographs for reference!


  • MealeaYing 10 months, 2 weeks ago  | 

    This looks amazing and is the sort of thing that is precisely why I'm starting to learn Houdini.
    Thank you very much!

    Mealea Ying

  • craigs 10 months, 2 weeks ago  | 

    link to feather hda generator doesnt seem to be working

  • Tesla_s_fan 10 months, 2 weeks ago  | 

    it seems unable to download the HDA

  • AlchemistRS 10 months, 2 weeks ago  | 

    FYI the download link is doubled just delete the url starting from # back.

  • trzanko 10 months, 2 weeks ago  | 

    The link is fixed! Sorry about that :D

  • annoy4nce 10 months, 2 weeks ago  | 

    Great work, thank you very much!

    • trzanko 10 months, 2 weeks ago  | 

      Thanks! np

  • Aizatulin 10 months, 2 weeks ago  | 

    awesome work and very impressive, now I can create parakeet feathers ;), thank you for this great tool!

    • trzanko 10 months, 2 weeks ago  | 

      Thanks so much! Nice! Please share when they're done!

  • Eagle66 10 months, 2 weeks ago  | 

    Thanks, very cool.... It needs a noise or turbulence for structure parameter and a dirt map for shading - it's to clean as you look at your reference image.

    • trzanko 10 months, 2 weeks ago  | 

      Thanks! It does have a noise feature built in though, admittedly I didn't push the ruffed up textured look very hard in the renders.

  • McNistor 10 months, 2 weeks ago  | 

    Didn't test this yet, but it looks pretty good!

    • trzanko 10 months, 2 weeks ago  | 

      Thank you McNistor!

  • iAhmed 10 months, 1 week ago  | 

    Very impressive, Thank you.

  • carstenk 9 months, 2 weeks ago  | 

    Neat! A few ideas:
    It would be cool if it could spit out mesh geo that is suitable/well formed for simulation (cloth etc. - (maybe even with procedural material property assignments like stiffness etc).
    Could also be handy if one could define feather shape directly via a simple cage geometry, rather than indirectly by adjusting all the shape influencing parameters.

    Again, nice work!

    • trzanko 9 months, 2 weeks ago  | 

      Thanks carstenk.

      Multiple levels of resolution is already implemented in version 2. There's render quality, preview quality and proxies for simulation. The proxy resolution has built in u attributes for stiffness variations. It'll be out soon I promise!

      That's been mentioned a few times to provide a interface for drawing the feather shapes rather than adjusting all the shape parameters. While it'd be nice, there'd have to be some serious analysis going on to set all the other parameters given an image. Initial length could more easily be done this way but setting two ramps isn't that bad imo.

      Thanks a lot and keep a look out for version 2 which will have the resolution levels and the grooming tools!

    • trzanko 9 months, 2 weeks ago  | 

      On second though you could very easily set the shape with a drawn curve, booleaning out the points not contained within the shape. I'll work that into the version2 to accept a curve into the asset for that type of workflow.

  • kinglaw 9 months ago  | 

    I'm new to Houdini bear with but when I import the tool into my scene nothing is happening there's nothing in the viewport or the node editor window how can I use this? help please

  • kevinsavuwa 9 months ago  | 

    awesome stuff

    • trzanko 9 months ago  | 

      Thanks so much!

  • Karim Ben Jaafar 7 months, 3 weeks ago  | 

    Great work!
    Please, how can I colour the feather! I tried to play with the shader tab but nothing has changed...
    Can we use an external image as a shader! if yes, how...

    Thanks a lot,

  • arane93 2 months, 1 week ago  | 

    Awesome work! I love it!!

    Thanks for share!

  • thexon 1 month, 2 weeks ago  | 

    thanks for sharing

  • thexon 3 weeks, 3 days ago  | 


  • DASD 2 weeks, 2 days ago  | 

    Very nice work. Thank you for sharing!
    1. Is you Path Attrib Tool available somewhere?
    2. You can optimize your Vex code by using @numpt instead of npoints(0). ;D
    3. Do you have plans for publishing version 2 (or whatever version you are at now)?

  • trzanko 2 weeks, 2 days ago  | 

    Thank you! There will be a version 2 released soon that includes a grooming workflow.

    • DASD 2 weeks, 2 days ago  | 

      Is the Path Attrib Tool part of that? As I see it, it would be a useful standalone tool.

    • DASD 2 weeks, 2 days ago  | 

      Also, Inspired by your work, I looked at a real feather that I found today. I was surprised to find out two things:
      1. The main barbs all had secondary barbs. Neighboring main barbs were interconnected tightly (almost like Velcro) and so the they formed a kind of sheet. This sheet had no holes, it might be a bit translucent, but for the most part it could be described with a fully opaque double-sided shader on a plane.
      Meaning a great abstraction would be to make planes between the main barbs and have a procedural shader on there showing a sheet of interconnected secondary barbs. Clustering between barbs is very subtle and holes in the Velcro-like sheet are very rare. I suspect in nature birds probably try to groom away such holes on flight feathers.
      For most levels of detail (unless its a macro view), the main barbs should probably really just be polygon sheets.
      2. The main stem, had a concave ridge on one side.

      On another note, have you compared the performance of the findattribute method to compiled foreach loops?

Please log in to leave a comment.