Author: Asaf Ben-Zur
Best used for: Lips
This module was designed around lips behaviour.
This module has a few layers that will allow general as well as extremely fiddle control (based on parameters) over the lips deformation.
Some of the main features in this module include: Macro corner controls, Along Surface feature, Around Center Feature, Jaw connections, Global "Full-Lips" control, Zip Controls, Curve meet controls, Tweak controls, Cheek Raise connection, and much more.
The joint structure of this module will be dictated by input vertices on a given mesh.
|upperEdgeVerts||[' ']||These verticies will be used to build the joint structure for the upper section. Please select a sequence of vertices along the same loop, starting from the inner corner. First and last vertices should match between the upper and lower section, representing a single closed loop. Corner vertices will be present twice- once on the upper section, once on the lower section|
|lowerEdgeVerts||[' ']||These verticies will be used to build the joint structure for the lower section. Please select a sequence of vertices along the same loop, starting from the inner corner. First and last vertices should match between the upper and lower section, representing a single closed loop. Corner vertices will be present twice- once on the lower section, once on the lower section|
|upCurveOffset||1.0||Comment wasn't inserted|
|reverseCorners||False||Offset value for the up curve generation|
|aroundCenter||False||Around center will normalize the result vectors around a given center matrix (module root in this case). This will provide a better range of motion, tranlating the joints around a sphere (assumed from the center matrix). This can be changed and animated post-construction|
|curveResolution||24||Resample curve amount|
|midCurveHeight||0.5||This dictates the height of the Mid-Meet point between the upper and lower sections|
|jawRootGuide||In case this module is used for lips (main use), input the Jaw control root guide. This will implement the Jaw control within the setup and will result in a better behaving setup|
|doAlongSurface||False||In case it is desired, an internal surface(Nurbs)-follow mechanism is built in this module. In some cases, it is desired to model a pre-existing NurbsSurface that describes the range or limits of the joints related to this module. If a valid input is insrted, the setup will be created automatically. Remember that the follow controls will be pinned to the given surface, so remember to skin the surface to parent module which will follow the world position of the guide surface. Freezing transformation on the given setup is essential for this feature to behave as expected|
|inputSurface||Input surface (Nurbs) to follow|
|baseSurfaceJointFollow||It is recommended to use this attribute in conjunction with the alongSurface module. The alongSurface feature is stabler when a baseSurface is present. In order to create that base surface automatically, Block needs a joint to flood a skin to, in order to follow the world space position of the character. For example, if your input surface is skinned to the head joint and the jaw joint, the recommended input in this attribute will be the head joint. When this attribute is empty or invalid a base surface will not be created.|
|doCheekRaise||False||when dealing with joint based facial deformation, and using this module as a lips setup, it is sometimes desired to incorporate another control that represents the cheek to achive a more lively deformation. Use this feature to do just that. Plug in the rootGuide of the cheeck control you wish to drive, then control the raise and push values based on your preferences or requirements|
|l_CheekRaiseRoot||Left side cheeck Root Guide|
|r_CheekRaiseRoot||Right side cheeck Root Guide|
|raiseValue||0.5||Raise default value|
|connectRaiseToAxis||y||Raise channel connection axis|
|pushValue||0.5||Push-Out default value|
|connectPushToAxis||z||Raise channel connection axis|
|doTweakControls||True||First layer tweakers|
|numTweakControlsPerSection||5||Number of tweak controls per section|
|cornersControlShape||diamond||Tweak coreners control shape|
|tweakersControlShape||lightSphere||Tweak controls shape|
|tweakCurvesInterpolation||4||First layer tweaks curve interpolation type|
|doLayerBCtrls||False||Second layer tweakers|
|numLayerBCtrlsPerSection||9||Number of tweak controls per section|
|layerBControlShape||cube||Second layer tweak controls shape|