Enrico Gullotti
earnest wonderer
earnest wonderer
IC.Face
Terminology IC.Face is based on a small amount of fundamental elements. The following scheme establish the terminology used in this document.
Sample view of IC.Face elements.
Illustrated How To ... To set up the control system, some operations must be performed in a quite straightforward series of steps. These quick guides help to speed up the learning process and can be used as a first reference.
Setup the first Root - Knot - Control System
Connect more Knots to one Control
Modify the orientation of a wired Knot Local Coordinate System
Stretchy Bones
Elements
Freeze Transform
Wire Parameters
Mirror Elements
Hide
Troubleshooting
|
Terminology IC.Face is based on a small amount of fundamental elements. The following scheme establish the terminology used in this document.
Root | Ancestor of the whole rig structure. Active Root is an object activated as Root through IC.Face Elements pick buttons. |
(Bone) Driver | Box shaped Point Helper associated to each bone of a chain than makes it stretchy through position and LookAt constrainst. Overlapping Drivers are two or more Driver Point Helpers of different bone chains sharing the same position in the 3D space. In the rigging process they become children of the same Knot. Active Drivers are one or more overlapping Drivers activated through IC.Face Elements pick buttons. |
(Driven) Bone | Bones made stretchy by Drivers. They're driven by position and LookAt constraint with Drivers as targets. |
Knot | Box shaped Point Helper. In the rigging process, it becomes the parent of one or more overlapping Drivers and is child of its Knot_LCS. Active Drivers Knot is the Knot of an active Drivers Knot System. |
Knot_LCS | Knot Local Coordinate System is a tripod shaped Point Helper. It is the parent of Knot and sets its transforms orientation in 3D space. |
Knot System | The sum of Knot_LCS and Knot linked in parent-child hierarchy. Active Drivers Knot System is the Knot System generated from a Driver or a set of overlapping Drivers which are activated through IC.Face Elements pick buttons. |
Control | Star shaped Editable Spline. It is the handle to drive Knots transforms. It is child of its Control_LCS. Active Control is the Control of the active Control System. |
Control_LCS | Control Local Coordinate System is a tripod shaped Point Helper. It is the parent of Control and sets its transforms orientation in 3D space. Active Control_LCS is the Control_LCS of the active Control System. |
Control System | The sum of Control_LCS and Control linked in parent-child hierarchy. Active Control System is a Control System activated through IC.Face Elements pick buttons. |
Sample view of IC.Face elements.
Illustrated How To ... To set up the control system, some operations must be performed in a quite straightforward series of steps. These quick guides help to speed up the learning process and can be used as a first reference.
Setup the first Root - Knot - Control System
1. | Create an object to work as Root | |
2. | Create a bone chain | |
3. | Select the full bone chain and create Drivers | |
4. | Pick the Root object | |
5. | Pick one Driver (or more overlapping Drivers) | |
6. | Set Knot dimension, color and create it | |
7. | Orient the Knot_LCS with Z-Axis pointing away from surface, ad Y-Axis roughly up | |
8. | Link Drivers to Knot | |
9. | Freeze Knot Transform | |
10. | Set Control dimension, color, if it has to be automatically offset in Z-Axis direction and how much, and Create it | |
11. | Link Control to Knot | |
12. | Freeze Control Transform | |
13. | To position connect Knot to Control, press Position for influence 1.0 | |
14. | To rotation connect Knot to Control, press Rotation for influence 1.0 | |
15. | Connect Control to self Negative Position | |
16. | Connect Control to self Negative Rotation |
Connect more Knots to one Control
1. | Repeat points from 5 to 9 from Setting up first system for each Driver or group of overlapping Drivers to connect | |
2. | Pick the Control to connect the active Drivers Knot System to | |
3. | To position connect Knot to Control, press Position for influence 1.0, or spin the spinner to set a different value | |
4. | To rotation connect Knot to Control, press Rotation for influence 1.0, or spin the spinner to set a different value |
Modify the orientation of a wired Knot Local Coordinate System
1. | Transform to Zero every Control connected to the Knot to modify | |
2. | Unlink Drivers from Knot, if linked | |
3. | Modify Knot_LCS orientation | |
4. | Link again Drivers to Knot |
Stretchy Bones
Stretchy Bones section allows to create stretchy bone chains with a single click. Just select the full chain, with the end bone, and Create Drivers of desired dimension and color. Stretch Test assigns a scripted standard material to provide a visual feedback, by changing its color dynamically, about the Bones Stretch Factor in relation to the original length and limits set. |
Create Bone Drivers Bone Drivers make bones stretchy. They are Point Helpers placed at every bone pivot and are targets of Position and LookAt constraints applied to bones. By transforming them in the 3D space, the bones become stretched or compressed. For each bone is still possible to set in the standard Bone Tools rollout floater the quality of stretch: None, Scale or Squash, according to the specific task. By creating drivers, each bone in the chain has its Stretch Factor automatically reset to 1.0, is realigned to its child, and the end bone is fixed: added if missing, or realigned to its parent. If the end bone exists, it must be selected with the whole bone chain before creating Drivers. Creating drivers on a bone chain that already have them, doesn't add more Helpers, but replaces old ones and fix bones properties. View of a three bones chain with Drivers created on them. Schematic view of a three bones chain with Drivers. Position and LookAt Constraints are established to drive bones position and rotation.
|
Stretch Test Stretch Test is a visual feedback tool about bones Stretch Factor. It works by assigning a scripted material to selected bones that changes its Diffuse color dynamically depending on the actual Stretch Factor and Minimum and Maximum stretch percentage limits. If compression is under the minimum limit, shows a constant black color, else if elongation is over the maximum limit, shows a constant white color. Representation of colors shown by scripted material within the specified stretch range.
|
Elements
Elements section manages selection and creation of shapes and helpers to set up the structure for animation. |
Active Elements Color Dynamically changes the color of active elements: Root, Drivers and Control, through a color picker. |
Pick Elements The three system core elements are the Root, Drivers and Controls. The corresponding main pick buttons activate picked elements and let the script display their status and the user operate on them. The indicator above each pick button shows whether an item of that kind is active (green status) or not (grey status). To be active doesn't mean to be selected in standard 3ds Max mode. An active element could be selected too or not, and vice versa. "Active element" is referred to items activated through IC.Face Elements pick buttons only. View of the three system core elements: Root, Drivers and Controls. Schematic view of the three system core elements and their relationships after creation of Drivers, Knots and Controls.
|
Create Knot System A Knot System is made of two Point Helpers, the first is represented by an axis tripod (Knot Local Coordinate System) working as coordinate system for the second, a box (Knot). The Knot System can be defined as the driver of Drivers, one or more overlapping bone Drivers are parented to it, while it is driven by one or more Controls. View of a three bones chain with Drivers, an active Root and a Knot System created on the second Driver. Schematic view of a three bones chain with Drivers and a Knot System just after creation.
|
Create Control System A Control System is made of one Point Helper and an Editable Spline, the first is represented by an axis tripod (Control Local Coordinate System) working as coordinate system for the second, the Editable Spline handle (Control). The Control System can be defined as the driver of Knots, one or more Knots are connected by parameter wiring with different influence factors to it. It's the highest control level. View of a three bones chain with Drivers, an active Root, a Knot System and an active Control System created on it. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, just after creation.
|
Link | |||||||||||||||||||
Link Elements System Elements must me linked and wired to control the stretchy bones net. Bone Drivers must be linked to Knots, while Knots must be driven by Controls through parameter wiring. Every Knot System is automatically parented to the active root as is created. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, representing the hierarchical link from the Knot to one Driver. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, representing the hierarchical link from the Knot to the Control Local Coordinate System.
|
Freeze Transform
Freeze Elements Transform Freeze Transform, as in standard 3ds Max, sets a new layer of position and rotation controllers to make the actual transforms start from Zero values. The script copies the same standard 3ds Max scheme for naming controllers. Freezing a Knot or a Control, cuts any wiring to that element and erase its animation.
|
Wire Parameters
Wire Parameters section provide an easy interface to manage connections between Controls and Knots, to set up handles for final animation. Additional tools like active and selected Control wiring display, help the rigging process as well as the reproduction of connections from one side to the other after mirroring Knot and Control Systems. The CleanUp Wiring tool clear every dangling connection and fix their names if needed. |
Wire Control to Knot Parameter Wiring from Control to Knot is the last ring of the control chain that goes from Controls to Bones. Knot transforms are driven by Control through wiring, Drivers inherit Knot transforms through hierarchical linking, Bones are position and rotation constrained to Drivers. Schematic view of a complete system showing (in yellow) the control chain from Control to Bones Parameter Wiring from Control to Knot can be performed from each Control to one or more Knots, affecting position and/or rotation. For each connection can be set an influence multiplier. For clearer results, the wiring between the Control System and the Knot System it is linked to, should be equal to 1.0. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, representing the position wiring between the Control and the Knot. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, representing the rotation wiring between the Control and the Knot.
|
Wire Control to Control Parameter Wiring from Control to Control is required to neutralize effects of the loop created between Knot an Control to establish the control chain. Knot transforms are driven by Control through wiring, and Control inherits Knot transforms through hierarchical linking. This leads to double the effect of every Control transform on itself. To avoid it, a Control self negative wiring is set up, for position and rotation as required. Schematic view of a complete system showing (in yellow) the control loop between Control and Knot, and (in magenta) the Control self negative wiring to neutralize it. Parameter Wiring from Control to Control can be performed on position and/or rotation. The wiring between the Control and the Knot it is linked to should be equal to 1.0, so the negative wiring has the same 1.0 effect. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, representing the Control self negative position wiring. Schematic view of a three bones chain with Drivers, a Knot System and a Control System, representing the Control self negative rotation wiring.
|
Mirror Elements
Mirror Elements section provides tools to reproduce symmetrical rigs by recreating Knot Systems and Controls linked to them. It works for structures whose symmetry plane pass through the world origin. |
Mirror Plane Mirror Plane is the reference for the mirror system engine. It is a plane passing through the worldspace origin, aligned to two main axis and perpendicular to the third. The mirror system engine looks for a Driver or a group of overlapping Drivers at symmetrical coordinate of the active Drivers position depending on the active Mirror Plane.
|
Mirror Drivers Drivers section manages the parameters and feedback about Drivers in a symmetrical position to mirror Knot and Control Systems linked to them.
|
Mirror Knot / Controls Mirror Knot and Controls section provide the interface to recreate symmetrical elements with a single click. Once symmetrical of the active Drivers has been found, Knot System and Control Systems linked to it can be mirrored.
|
Hide
Hide Elements Hide elements section allows to manage the visibility of system elements by category. Each button hides and unhides all the elements of the specified type by selecting them and creating a temporary standard Named Selection. View of a three bones chain with six element types whose visibility can be independently managed.
|
Troubleshooting
- There are not currently known issues.