Feathers in Yeti can be created using the Instance node and our custom procedural feather geometry which was designed to make the process user friendly while producing an extremely light weight means of creating many feathers within a chosen rendering engine.


TABLE OF CONTENTS


Creating Feathers

Yeti uses a custom feather node which can be created via the CRF button on the Yeti shelf or Create Feather in the Yeti menu. Once created you will see the default feather shape at the scenes origin, this is a simple viewport representation of the final rendered feather.



In component mode you can select the vertices of the feather to adjust it’s shape, this control skeleton can be thought of as a simple polygonal surface but limited to the default topology.


Parameters to control the barb creation and tearing can be found in the Feather’s Attribute Editor. These parameters are passed into the Yeti graph as geometric attributes and used by our procedural generator to create a renderable feather, as the feather is evaluated they are used along with a unique id of the feather to generate variations per feather.


When editing an individual feather you will always see the skeletal control cage and generated barbs. Once instanced displaying the barbs produces very heavy results, thus by default each Yeti graph will only draw them in Skeleton mode - if desired you can switch this to Full in the Yeti nodes parameters.


Topology

The shape of the feather is controlled via a combination of the input proxy shape and the profile curve.



AttributeDescription
Number of DivisionsControls how detailed the proxy geometry representation is, if adjusted the current level will be resampled to maintain the shape as close as possible.
Barb DetailDefines how many segments will be used to create the output barbs.
Feather Texture CoordinatesChoose between Projected (default - aligned along the Z axis) or Parametric (previous - following the parametric shape of the feather and barbs).
ProfileProfile curve used to define the shape of the feather along the length of the rachii.


Rachii

The Rachii is the spine of the feather with a profile used to control the width along it's length.


AttributeDescription
Rachii WidthThe width of the rachii along the length of the feather.


Barbs

Yeti generates individual barbs within the feather shape for viewport preview and at render time, the barb output may be controlled via the Barb parameters in the Feather attribute editor. Below are a list of the parameters, what they do and an example of the output.



AttributeDescription
Barb DensityHow dense to make the generated barbs.
Barb SpacingControls the density of the barbs by defining how much space there should be between each one, this also sets an overall width for the barb that will provide a packed look to the final feather.
Barb Start/EndWhere the barbs start abd ebd along the length of the feather.
Barb WidthWidth of the barb.
Barb CurvatureThe amount of curvature along the length of the barbs.
Barb LinearityHow straight the barbs are.
Barb Length VariationVaries the length of the individual barbs.
Barb Diection VariationVaries the direction around the normal of the feather surface.
Barb Azimuth VariationVaries the direction perpendicular to the normal of the feather surface.


Default (1), Barb Start 0.5 (2), Barb End 0.5 (3), Barb Length Variation 0.5 (4), Barb Direction Variation 0.5 (5), Barb Azimuth Variation (6)


Tearing

Due to the complex underlying structure of feathers they are prone to barb clumping either as a result of some unfortunate accident or just general wear and tear. These “clumps” where the little hooks on the barb become entangled with neighbouring barbs gives the appearance of tearing along the edges of the feathers. This is simulation in our procedural feathers with the Tearing parameters described below.



AttributeDescription
TearingHow much overall tearing in the feather.
Tear CountThe number of tears in the feather.
Tear SizeHow big each individual tear may be.


Default (1), Tearing 1.0 (2), Tearing 0.76 & Tear Count 70 (3), Tearing 0.88 & Tear Size 0.88 (4)


Populating Feathers

Once a feather has been created it can be used in a graph using the Add Object controls in a Yeti nodes Graph AE palette and selecting the feather node from the list of scene objects available.


The Instance node is used with the feather object to scatter the feathers on the surface of an object, either as is or if being instanced to fibres it may be deformed to provide much more control over the shape of the final plumage. All of the instance parameters may be used to control the look of the result.

A graph that uses the Instance node to instance feather geometry to generated fibres.


The result from the above graph showing the skeletal cages of the instanced feathers deformed.


When deforming feathers it’s suggested to use $N as the up vector to make sure they’re correctly aligned to the poles of the surface.


Feather Attributes

Besides any user attributes Yeti also exports some special feather attributes to the rendering engine to help with shading.


AttributeTypeDescription
strandufloatU parameter along the generated barb (this is always generated by fibres, but generating feathers forces it to be exported).
feather_paramfloatParameter along the length of the feather.
feather_partfloatA value representing which part of the feather the geometry belongs to.  0 - rachiis, 1 - right side barbs, 2 - left side barbs