wing
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.
Defenitions
attempFeatherParamAdjustRemap
Constructor: | attempFeatherParamAdjustRemap(mansur, rootGuide = None, previousValues = {}) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
collectFeathParamAdjustValues
Constructor: | collectFeathParamAdjustValues(rootGuide) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
construct
Constructor: | construct(mansur, MnsBuildModule, **kwargs) |
Return: | list (controls), dict (internalSpaces), MnsNameStd (moduleSpaceAttrHost) |
Arguments: |
|
Keyword Arguments: |
customGuides
Constructor: | customGuides(mansur, builtGuides) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
deconstruct
deconstruct method implementation.
Transfer interJoints control back to the main joints.
Constructor: | deconstruct(mansur, MnsBuildModule, **kwargs) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
deleteUnusedMnsNodesFromRootGuide
Constructor: | deleteUnusedMnsNodesFromRootGuide(rootNode = None) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
getNumSections
Constructor: | getNumSections(tweakersPerSection, doTweakers = False) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
jointStructure
Constructor: | jointStructure(mansur, guides, mnsBuildModule = None, **kwargs) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
jointStructureSoftMod
Constructor: | jointStructureSoftMod(mansur, guides, mnsBuildModule = None, **kwargs) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
moduleCompound
Constructor: | moduleCompound(mansur, bmButtonList, guides, mnsBuildModule = None, **kwargs) |
Return: | None |
Arguments: |
|
Keyword Arguments: |
postConstruct
Constructor: | postConstruct(mansur, MnsBuildModule, **kwargs) |
Return: | None |
Arguments: |
|
Keyword Arguments: |