freeControl Settings
Author: Asaf Ben-Zur
Best used for: Free objects, General Control, Mesh Tweaker, Mesh Local Tweaker
This Module is a general single control at it's base state.
It also contains a Mesh-Tweaker feature that will allow you to create a "Double Directional" tweaker- meaning that the control will follow the input Mesh's position (Rivet) and will also be able to affect it.
This effect is also commonly knowen as the "Dorito-Effect".
This feature also includes a "local" mode, to tunnel deformations from the control to a local skinCluster, then a blend-shape to the main Mesh, creating multi-layered skinned mesh.
All of these features will use the main joint as the effector.
Note: When using the "Mesh-Tweaker" feture, when needing to affect a mesh that will also be used as the rivet input- make sure "sameMeshAffector" is set to ON.
Attributes
GlobalSettings
Attribute Name | Default | Description | ||||||||||||||||
controlShape | circle | Control shape | ||||||||||||||||
channelControl |
|
Control channel-box settings | ||||||||||||||||
createJoint | True | Choose whether to create and attach a joint to this control | ||||||||||||||||
asTweakerDivider | MeshTweaker | Comment wasn't inserted | ||||||||||||||||
asMeshTweaker | False | This control can aslo act as a live mesh tweaker. This means that you can attach this control to a mesh, having it follow the deformed mesh. In case you want this control to be affected by the mesh (position of the control) and also affect the mesh (using a skinCluster for example), please make sure that you leave sameMeshEffector attribute ON. You do not need to use any other meshes or joints to implement this behaviour | ||||||||||||||||
rivetToMesh | The mesh you want to attach the control to | |||||||||||||||||
positionMode | 0 | this will determine the output rivet position mode. | ||||||||||||||||
doRotation | False | when off, the rivet will not inherit rotations from the mesh | ||||||||||||||||
sameMeshAffector | True | If this is set to False, you will NOT be able to use this control's related joint within the deformation of the above mesh (this will result as a cycle). In case you want the control to follow the mesh as well as have it's related joint within the deformation of the mesh- please leave this ON. In case you want to attach this control to a mesh that will not be affected by the control's related joint, you can safely turn this attribute OFF. | ||||||||||||||||
isLocal | False | In some cases, you may wish to use this control's related joint in a different skinCluster layer, channeled into the main mesh as a blendShape. If that is the case, you will need to set this attribute to ON. When set to ON, the related joint will be a part of the joint hierarchy, but will keep it's position at origin so you can you it in a local setup. In case the riveted mesh's deformation is affected by this module's related joint in any way, remember to keep sameMeshEffector ON, even if its not a part of the main skinCluster. This means that even if the joint is controlling a localized skin-cluter, and then channeled as a blend shape into the riveted mesh, sameMeshAffector should be left ON. |
spring
Attribute Name | Default | Description |
doSpring | False | This feature will create a spring node below the control master. This will result in a procedural simple spring action. In case meshTweaker feature was selected, the slave control will not be visible. This feature will NOT be created in case isLocal is set to ON. |
springX | True | Select whether the X axis should be affected by the spring or not |
springY | True | Select whether the Y axis should be affected by the spring or not |
springZ | True | Select whether the Z axis should be affected by the spring or not |
flipRightX | False | This will Flip all connections for the local X channel. |
flipRightY | False | This will Flip all connections for the local Y channel. |
flipRightZ | False | This will Flip all connections for the local Z channel. |
defaultStiffness | 0.5 | Spring stiffness default value |
defaultDamping | 0.5 | Spring damping default value |
springSlaveControlShape | lightSphere | Spring slave control shape |
InterpolatedOrientation
Attribute Name | Default | Description |
doInterpOrient | False | This feature is used to create a weighten split orientation. When you need to create a weighted orientation for a control between two spaces, use this feature. |
spaceA | The first space to be interpolated. This can be a guide, joint, or control. | |
spaceB | The second space to be interpolated. This can be a guide, joint, or control. | |
spaceAWeight | 0.5 | The deafult weight for the first space. The second space weight will be the complimentary weight adding to 1 |
doAngleBasedScale | False | create an angle based scale driver, to scale the target slave joint when the angle changes between the two sources. Originally designed for double-chin setup |
scaleWhenAngle | 0 | This setting controls the trigger mode for action. Icreases- means that the trigger for action will occur when the intorpolated angle increases, and do nothing when it decreases. decreases- means that the trigger for action will occur when the intorpolated angle decreases, and do nothing when it increases |
maxScale | 2.0 | The actions maximum value clamp value |
angleMaxRange | 180.0 | The maximum angle clamp that the action should be targeted to |
connectToTargetAxis | 1 | This setting will set the target axis to act on. Please map the axis needed to be scaled based on the orientation of your guide |