Skip to content

wing Settings

Author: Asaf Ben-Zur

Best used for: Bird Wings

This module is designed for birds (feathered) wings.

This is a compound module.

The main module is based on the limb module, including most of it's features.

On top of the main limb module, there is a compound FK chain modules extending from each of the main modules main guides, to create a global feathers silhouette control.

Out of these compounds, a grid of interp-joints is created to control the shape's deformation, using mnsPointOnCuveNode as a driver.

As a bird wing is incredibly complex, controlling it precisely is incredibly difficult.

With that in mind, the grid of interp joints is designed to control the overall shape of the feathers as a group, mid-controls to curl them as a group, as well as control each feather row individually.

Use featherJoints attribute to define the number of feathers along the wings main skeleton.

Post joint-struct creation, use the custom position adjustment attribute on the root-guide to adjust the position of the joint grid to match your needs.

This module also contains multiple features to make animation even better:

Feathers spring, global wave control, individual feather control, bendy limbs, extension-to-look-at for easy wing fold control.



Attribute NameDefaultDescription
interpolationJoints 5 Increments of 4, starting from 5. This setting controls the number of driven interpolation joints needed. This interpolation joint chain will behave according to the module's design, and will inherit transformations that are required by this module. Usually the driven interpolation joint-chain is the compenents result behaviour in animation
offsetX 20.0 Up curve X value offset for the interpolation joints
offsetZ 0.0 Up curve Z value offset for the interpolation joints
FKSymmetryType 0 FK controls symmetry type, in case it needs to differ from the main symmetry type
scaleMode 2 Default scale mode. Please refer to the documentation of mnsPointsOnCurve node to learn more about each mode
squashMode 4 Default squash mode. Please refer to the documentation of mnsPointsOnCurve node to learn more about each mode
ikFkBlendDefault 1.0 Default value for the main IK-FK blend channel. 0 is IK, 1 is FK.


Attribute NameDefaultDescription
featherJoints 15 The amount of primary feathers. Ideally, a joint chain will be craeted for each primary feather for the most control in animation. This setting sets the mount of primary feathers, or the amount of feather column chains created
featherFKSections 3 The amount of sections each primary feather joint column will consist of. In case the amount of sections set is 3 for example, a column of 4 joints will be created for the amount of feather joints selected above
doFeathersSpring True Choose whether create the automatic feather spring feature or not
doFeatherIsolatedCtrls True In case this setting is set to true, the isolated-feather controls feature will be created
featherFKControlShape cube Feather FK controls shape
featherIsolatedControlShape square Feather isolted controls shape
extensionLookAtControlShape lightPin Extensions look-at control shape


Attribute NameDefaultDescription
stretchLimit 1.0 IK Handle stratch limit default value
softness 0.0 IK handle softness default value
iKHandleMatchOrient Select a guide to match the IK-Handle's orientation. This will override the native orientation as well as all symmetry options


Attribute NameDefaultDescription
rootControlShape plus Module root control control shape
ikHandleControlShape square IK Handle control shape
poleVectorControlShape diamond Pole Vector control shape
fkControlShape cylinder FK controls shape
tertiariesControlShape flatDiamond Tweak tertiary controls shape


Attribute NameDefaultDescription
doTweakers False This feature will create a secondary tweak layer below the main control chain. This is commonly known as Bendy-Limbs
tweakersSymmetryType 3 Tweak controls symmetry type, in case it needs to differ from the main symmetry type
tweakersPerSection 1 The amount of bendy controls per section. A value of one will create two controls in total - one for the upper section of the limb, on for the lower section
createExtraAttributes True If this is set to True, some extra tertiary channel-box control attributes will be added to the attribute-host
tweakControlShape dialSquare Tweak controls shape
negateOffsetOnSymmetry False If this is set to True, the above offsetX and offsetZ value for the up curve will be negated
X v v v
Y v v v
Z v v v

Tweak controls channel-box settings