Houdini 20.5

Feathers

How to create highly realistic and detailed feathers for your characters.

On this page
Image courtesy of Andriy Bilichenko.

Feathers in CGI are one of the most challenging tasks. You have to deal with large amounts of data, very different structures and - depending on the camera’s point of view - lots of detail. Of course, you also need strategies for the interaction between the feathers themselves, but also between feathers and character, as well as the surrounding environment, e.g. wind. Furthermore, you want full artistic control over the feather’s look and shape and the entire groom. Brushes, masks, paint tools, and the possibility to modify each feather at any point of your network are also important requirements for a professional and artist-friendly feather system. Last, but not least, you also want to render realistic images of your work with physically correct shaders.

Houdini’s feather system lets you create large amounts of realistic and highly detailed feathers. You can profit from sophisticated tools for look development, shaping, texturing, and grooming, but also simulation and rendering. A wide variety of nodes and attributes help you to design, modify and customize the feathers to your exact needs. The feather system is GPU-accelerated.

You can blend between different types of feathers, use guides, and display large amounts of feathers as polygon proxy geometry. You can also apply noise and deformers to the feathers to create a natural, less uniform look. Other tools let you fine-tune your work, e.g. for deintersecting overlapping feathers, blend the shapes of feathers, or use templates with complete feather sets. You also have access to many attributes to shape the feathers to your exact needs. You can add variation with clumping tools and different noise types.

There are also grooming tools to shape and style the feathers. If you're familiar with Houdini’s grooming nodes, you will be able to instantly start to brush, mask, edit and groom your feathers.

The Houdini Procedural: Feather LOP is your bridge to Houdini’s Karma CPU and XPU render engines, but also to any other Hydra delegate. You start with a rest groom. Then you can shape and simulate the feathers, and export everything to an USD file. The procedural reads the simulated feather surfaces from the USD and creates fine structures from the input geometry. A preview procedural displays the groom in the viewport.

Feather facts

Feathers consist of beta keratin, just like hair and fingernails. Beta keratin is insoluble in water and a so-called fiber protein with a complex structure. Simple proto-feathers appeared around 250 million years ago during the early Triassic era. Those early feathers also consisted of beta keratin, but - compared to modern feathers - with a slightly different chemical structure. The first animal with modern feathers was Archaeopteryx lithographica. The first known record of this animal is a single feather, found in 1860 in Solnhofen/Germany. Archaeopteryx is described as the link between dinosaurs and birds and wasn’t able to fly. According to latest research, the feathers' main purpose was insulation and probably mating rituals.

Feather parts

The illustration below shows the different parts of a feather. The names of the supported structures are also represented in Houdini’s feather system.

Click to zoom image.
  1. Calamus or Quill. The hollow part of the shaft attaches the feather to the bird’s skin or bone.

  2. Shaft or Rachis. This is the long central part of the feather that holds the vanes.

  3. Vane. The vanes are the plumed parts of the feather that grow from the central shaft. The two vanes have roughly the same width.

  4. Barb. Barbs are the individual strands that grow from the shaft. Each barb has a little shaft and tiny barbs - the barbules. The entirety of barbs on both sides of the shaft are the vanes.

  5. Barbules. They can be seen as tiny barbs that grow from the central shaft of each barb.

  6. Barbicels. Barbules have tiny hooks, called barbicels.

  7. Afterfeather. The downy, lower barbs. Those barbs don’t have barbicels and appear curly.

Depending on the feather’s function, you can also see structures like notches and bulges.

Note

Barbules and barbicels are not part of Houdini’s feather geometry.

Feather types

There are various types of feathers with different functions and different looks. The only parts of a bird’s body without feathers are feet and beak.

Wing feathers are asymmetric with a shorter and less flexible leading edge to prevent turbulence. The feather’s arrangement on the bird’s wings creates an uplift force, allowing the bird to fly. Wing feathers are grouped into several subtypes.

  • Coverts are Contour feathers and cover the calamus areas of the underlying flight feathers.

  • Primaries are the wing’s outer feathers and attached to the bird’s hand bones. Most birds have 9 to 10 primaries.

  • Secondaries represent the wing’s inner flight feathers on the bird’s forearm. Depending on the species, there are 9-25 secondaries.

  • Teritals are the innermost flight feathers of the wing. There are usually 3-4 tertials.

Tail feathers are arranged in a fan shape and they're used for precision steering and changing direction. Typically, birds have six pairs of tail feathers, with increasing levels of asymmetry toward the outer pairs.

Contour feathers cover the bird’s body and streamline its shape. They overlap like roof shingles and their tips are waterproof, while the bases are fluffy. Contour feathers on the wings are called coverts.

Semiplumes are typically hidden beneath other body feathers and they're fluffy to insulate the bird.

Filoplumes are short feathers with just a few barbs. Their function is to sense the position of the bird’s contour feathers.

Downs look fluffy because they have flexible barbs and relatively long barbules that trap air close to body of the bird. Air is an insulator and keeps the bird warm. In contrast to semiplumes, downs are shorter and lack a distinct shaft.

Bristles have a stiff shaft with just a few barbs near the calamus. They protect the bird’s eyes and face.

Decorative plumes are often colorful and sometimes larger or strikingly shaped feathers. Popular birds with decorative plumes are male peacocks or pheasants. They use decorative plumes for mating rituals.

Feather colors

Feather colors come from pigments, but also the feather’s microstructure. In the first case, the pigments are created inside specialized cells or absorbed from the bird’s nutriment. In the latter case, the feather’s structure reflects and absorbs certain wavelengths of the visible light and this results in various colors. You can also see this effect with butterfly wings.

Subtopics

Houdini 20.5

Getting started

Using Houdini

  • Geometry

    How Houdini represents geometry and how to create and edit it.

  • Copying and instancing

    How to use copies (real geometry) and instances (loaded or created at render time).

  • Animation

    How to create and keyframe animation in Houdini.

  • Digital assets

    Digital assets let you create reusable nodes and tools from existing networks.

  • Import and export

    How to get scene, object, and other data in and out of Houdini.

  • MPlay viewer

    Using Houdini’s stand-alone image viewer.

Character FX

  • Character

    How to rig and animate characters in Houdini.

  • Crowd simulations

    How to create and simulate crowds of characters in Houdini.

  • Muscles and tissue

    How to create and simulate muscles, tissue, and skin in Houdini.

  • Hair and fur

    How to create, style, and add dynamics to hair and fur.

  • Feathers

    How to create highly realistic and detailed feathers for your characters.

Dynamics

  • Dynamics

    How to use Houdini’s dynamics networks to create simulations.

  • Vellum

    Vellum uses a Position Based Dynamics approach to cloth, hair, grains, fluids, and softbody objects.

  • Pyro

    How to simulate smoke, fire, and explosions.

  • Fluids

    How to set up fluid and ocean simulations.

  • Oceans and water surfaces

    How to set up ocean and water surface simulations.

  • MPM

    How to simulate different types of solid materials (such as snow, soil, mud, concrete, metal, jello, rubber, water, honey, and sand).

  • Destruction

    How to break different types of materials.

  • Grains

    How to simulate grainy materials (such as sand).

  • Particles

    How to create particle simulations.

  • Finite elements

    How to create and simulate deformable objects

Pipeline

  • Executing tasks with PDG/TOPs

    How to define dependencies and schedule tasks using TOP networks.

  • HQueue

    HQueue is Houdini’s free distributed job scheduling system.

  • Houdini Engine

    Documents the Houdini Engine C, Python APIs, and Houdini Engine plugins

  • Machine Learning

    Houdini provides a platform for machine learning which supports synthetic data generation, preprocessing, training models, exporting trained models, and deploying trained models

Nodes

  • OBJ - Object nodes

    Object nodes represent objects in the scene, such as character parts, geometry objects, lights, cameras, and so on.

  • SOP - Geometry nodes

    Geometry nodes live inside Geo objects and generate geometry.

  • DOP - Dynamics nodes

    Dynamics nodes set up the conditions and rules for dynamics simulations.

  • VOP - Shader nodes

    VOP nodes let you define a program (such as a shader) by connecting nodes together. Houdini then compiles the node network into executable VEX code.

  • LOP - USD nodes

    LOP nodes generate USD describing characters, props, lighting, and rendering.

  • ROP - Render nodes

    Render nodes either render the scene or set up render dependency networks.

  • CHOP - Channel nodes

    Channel nodes create, filter, and manipulate channel data.

  • COP - Copernicus nodes

    COP nodes provide real-time image manipulation within a 3D space.

  • TOP - Task nodes

    TOP nodes define a workflow where data is fed into the network, turned into work items and manipulated by different nodes. Many nodes represent external processes that can be run on the local machine or a server farm.

  • APEX - APEX nodes

    APEX nodes provide operations for building up the functionality of APEX graphs, which are used in KineFX to create character rigs and perform other geometry manipulation.

Scene building, Karma rendering, Image processing

  • Solaris and Karma

    Solaris is the umbrella name for Houdini’s scene building, look development, and Karma rendering tools based on the Universal Scene Description (USD) framework.

  • Copernicus

    Houdini’s 2D and 3D GPU image processing framework.

  • Compositing

    Houdini’s compositing networks let you create and manipulate images such as renders.

Mantra rendering and shading

Reference

  • Menus

    Explains each of the items in the main menus.

  • Viewers

    Viewer pane types.

  • Panes

    Documents the options in various panes.

  • Windows

    Documents the options in various user interface windows.

  • Stand-alone utilities

    Houdini includes a large number of useful command-line utility programs.

  • APIs

    Lists all the reference documentation for the ways you can program Houdini.

  • Python scripting

    How to script Houdini using Python and the Houdini Object Model.

  • Expression functions

    Expression functions let you compute the value of parameters.

  • HScript commands

    HScript is Houdini’s legacy scripting language.

  • VEX

    VEX is a high-performance expression language used in many places in Houdini, such as writing shaders.

  • Properties

    Properties let you set up flexible and powerful hierarchies of rendering, shading, lighting, and camera parameters.

  • Galleries

    Pre-made materials included with Houdini.

  • Houdini packages

    How to write and combine multiple environment variable definition files for different plug-ins, tools, and add-ons.

  • hwebserver

    Functions and classes for running a web server inside a graphical or non-graphical Houdini session.