Skip to content

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.


symmetryType 0 Choose the mirror type for right side controls


Attribute NameDefaultDescription
controlShape circle Control shape
X v v v
Y v v v
Z v v v
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.


Attribute NameDefaultDescription
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 Comment wasn't inserted
springY True Comment wasn't inserted
springZ True Comment wasn't inserted
defaultStiffness 0.5 Comment wasn't inserted
defaultDamping 0.5 Comment wasn't inserted
springSlaveControlShape lightSphere Spring slave control shape


Attribute NameDefaultDescription
doInterpOrient False Comment wasn't inserted
spaceA Comment wasn't inserted
spaceB Comment wasn't inserted
spaceAWeight 0.5 Comment wasn't inserted
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 Comment wasn't inserted
maxScale 2.0 Comment wasn't inserted
angleMaxRange 180.0 Comment wasn't inserted
connectToTargetAxis 1 Comment wasn't inserted