Wing Creator - UPDATE Version 2.0 2.0.0 for Maya (maya script)


Wing creator is a rig generation script- it will generate a feathered wing rig based on real bird anatomy. This was my thesis project for my masters at Texas A&M University. More information can be found on mywebpage under the thesis tab. 

Please note: Wing Creator is a Work in Progress. I've recently released version 2.0.3, so if you're familliar with the old one, please look over the new one as a couple things have changed! For current bugs and updates see the Progress page. Feel free to email me at with bugs, thoughts, ideas and advice!


Wing Creator Script- Download at Creative Crash: Creative Crash - Wing Creator or Download at my webpage. 

Full thesis paper: Download at the Texas A&M Thesis and Dissertations Repositories:  

This paper has all the details of how I created Wing Creator as well as why. Please read through this if you want information on the program construction. (This paper refers to version 1 of the rig, which can be found on my webpage still if you need it, and doesn't reflect any new changes.)

Rigged wing with rough temp geometry- Feel free to play with it. Download at my webpage. (NOTE: This uses version 1, I'll update it with version 2 soon)

下载地址 Wing generation script Rough modeled feathers to use a base or to play with the program

Anatomy of a birds wing, showing different feather groups. 

How to use

1) Place in the ../maya VERSION/scripts directory (VERSION= maya version you have. ex: mine is /maya2010-x64/)

2) To run the program type:

import WingCreator as Wing



You can save this to a shelf button to make life easier.

3) Make sure you have what the program needs: Locators for the wing joints at the shoulder(Wing_1), elbow (Wing_2), wrist (Wing_3) and "fingertips" (Wing_4), and feathers for each feather group, see example maya file for help if needed and also a wing diagram is provided as well.  See next section for naming scheme. In the GUI input how many feathers for each feather group you want (must be 3 or more) and chose a side (right or left). Choose which direction your character is facing, positive Z or Negative Z. Click the Wing Types tab to change the wingtype (hawk or Falcon currently.  Hawk is the default if none is chosen.)

4) Click Generate Feathers to generate the feathers. 

5) Adjust or remove feathers if needed. Scaling and deleting feathers won't break the rig.          

6) Click Generate Motion System to generate the motion system. Motion system cannot be generated before feathers.     

7) Repeat steps 2-6 for the opposite side.

Script Requirments

Feather geometry: L_PrimaryBase, L_SecondaryBase, L_PrimaryCovertsBase, L_SecondaryCovertsBase, L_MedianCovertsBase, L_AlulaBase, R_PrimaryBase, R_SecondaryBase, R_PrimaryCovertsBase, R_SecondaryCovertsBase, R_MedianCovertsBase, R_AlulaBase.

- These are a right and left of all feathers for each group, centered with the tip of the quill at the origin and pointing down the positive Z axis.

Locators: L_Wing_1, L_Wing_2, L_Wing_3, L_Wing_4, R_Wing_1, R_Wing_2, R_Wing_3, R_Wing_4.

-These correspond to the shoulder joint, elbow joint, wrist joint, and the tip of the hand (not tip of the feathers) respectively. 

Blendshapes (OPTIONAL): L_Primary_BLND, L_Secondary_BLND, R_Primary_BLND, R_Secondary_BLND. - Blendshapes must be derived from the feather geometry (for example L_Primary_BLND must be derived from L_PrimaryBase) and must NOT have transforms frozen. Freezing transforms breaks the blendshape, causing it to shift position origin when the blendshape is keyed in.


- If the program has a problem, check the script editor for errors; if any of the needed parts are missing (locators or geometry) or already created, the program should give feedback in the script editor stating what is wrong.

- If you use your own geometry for the feathers, please note that they should be proportional to each other and the wing.  Giving the program a primary that is much smaller than a secondary will result in primaries that are small in the wing. However, feathers can be adjusted at any time without breaking the rig.

- Names are specific, typos or mus-capitalizations will cause problems.

- Blendshapes are optional. If no blendshapes are given, then the program will simply not add flexing to the feathers.

- For binding skin: The SIDE_Wing_#_JNT_IK and SIDE_Wing_#_FK are the IK and FK control skeletons, with the _JNT skeleton acting as a transitional skeleton. Bind to the SIDE_Wing_#_JNT skeleton, not the IK or FK. (SIDE is either L or R)

Screenshot of the program 

Screenshot of the resulting rig 

More controls over feather groups and feather flexing 

Rig Controls Notes

-Feathers in the rig can be scaled or deleted as needed without damaging the rig.

-Has two layers that can be toggled on and off, one for the stand-in Poly shapes, another for the feathers.

-Sub controls are hidden under main controls: Middle, Tip and End Feathers controls have variables called Group Controls and Flex Controls. Turn these on to show the sub controls for that group. Group controls control individual feather groups, Flex controls control flex of the Remiges (flight feathers).

-Shoulder control has a control for IK/FK blending. 

-Wingfold control will ONLY work in FK mode. If the wingfold looks funny, check and make sure the IK/FK switch is ALL the way to FK (10). Being in the middle (7.5 for example) will cause funny looking wingfolds since it's blending with IK.

- Please see my website for any other bugs and program progress: Progress page

If you like my work and would like to support it or just send a thank you, please feel free to send a tip! Thank you!