modo bubbble logo

Using Constraints


Home >> Rigging & Animation >> recoil Dynamics >> Constraints >> Using Constraints

back next
comment balloon Comments (0) RSS Icon
0/5 (0 votes)

Constraints in recoil are simply joints that connect two dynamic bodies together. Each constraint provides a different type of joint, limiting the motions of the dynamic objects in very specific ways. Typically constraints are used to relate the dynamic motion of an 'Active Rigid Body' item to that of a static or animated 'Passive Rigid Body' item. For instance, if a user wanted to animate a pair of dice swaying from the rear view mirror of a car, the car itself (including the mirror) would be defined as a 'Passive Rigid Body', and the pair of dice within would be defined as a 'Active Rigid Body'. Next the user would assign a 'Point' constraint to the mirror and the pair of dice and position it near the mirror. If the car were animated to move as if it was travelling over rough terrain, running a subsequent recoil simulation would then produce an incredibly realistic secondary swinging motion to the pair of dice without the need to add a single keyframe.

Constraints are also a powerful way to provide control of Active Dynamic objects, relating the motion of one to that of another. This is handled in the same way as the above example, but both items would be designated as 'Active Rigid Bodies'. Both objects would then move relative to the motions of the other, controlled by the constraint joint. Furthermore, series' of constraints can be added to consecutive objects, providing linked motions for the entire length of items. This is applied by selecting the chain of items in order and then applying the constraint.

Applying Constraints

Constraints can be added to scenes like any other item using the Items lists 'Add Item' function. However, by selecting the target items the user wishes to join together and utilizing the recoil toolboxes many Constraint buttons, the constraint item will automatically link to the selected items. To link two items together, first select the master or parent item, this is typically the keyframed or static Passive Dynamic object, next select the child or auxiliary item, this will always be an Active Dynamic object. Next choose from one of the many Constraint options available, LMB+clicking on the button to add the item to the scene. When a Constraint is added this way, the Constraint item automatically populates the 'Body A' and 'Body B' options within the constraint, eliminating the need for the users to add them manually. It is also positioned at exactly the middle point between the centers of the two items. Depending on your intentions, this will likely not be the optimal position for the Constraint. The motion of the child item (Body B) will originate from the position of the Constraint item itself, so it will need to be positioned appropriately.

Resting Frame

It's important to understand that the positioning of Constraints is set at what is called the resting frame this is the initial position of the object, when it is fully at rest. The rest frame is the frame directly before the simulation 'Start Time' in the recoil solver, this is typically frame 0, but can be a different frame for delayed simulations. Setting this position prior to when the simulation starts is necessary to ensure that the proper results are produced.

Removing Constraints

Constraints are just items like any other in a scene and can be removed in the same way by simply selecting the target Constraint and invoking the menu bar command "Edit > Delete" or by pressing the Delete key on the keyboard.

Breaking Joints

Users can break a constraint once a certain force threshold is achieved, this essentially disables the constraint allowing connected objects to fall away from each. This is useful if, say for instance, two objects were tethered together by a chain, when the chain is stressed to a specific point, the links would fall apart, each link then acting as an individual dynamic bodies, and the tethered item would no longer be under the influence of the constraint. Clever rigging types could also link a morph of the chain to the 'isBroken' channel of the Constraint, so that once it breaks, the link itself would appear broken. To activate this function, toggle the 'Breakable' option of the Constraint, and set a lower threshold. Once that value or greater is achieved through a combination of the forces applied to the item, including gravity, Forces and any force imparted by the items own movements the link will break apart.

 

Top

back next