Quickstretch

 
 
 

Quickstretch is an animated deformation that changes an object's shape automatically, based on its motion. Quickstretch calculates deformations on the fly, according to the object's speed and acceleration. You can make objects flex, stretch, and yield, based on their linear and rotational motion.

There are four components of motion used to calculate quickstretch deformation: linear velocity, linear acceleration, rotational velocity, and rotational acceleration. These motion components are described in more detail on Motion Components.

For each motion component, you can apply up to three quickstretch deformations: flexing, stretching, and yielding. The different effects of these deformation types is described on Quickstretch Deformation Types.

Once you have applied quickstretch, you can see the effect by playing back the animation or by moving the object around in a geometry view.

Before You Apply Quickstretch

Before you apply quickstretch, there are a couple of things you should check: object centers and subdivisions.

Object Centers

Quickstretch uses the object center as the center of the deformation. For hierarchies selected in branch mode, it uses the parent's center.

Objects with quickstretch appear to be deformed by some force — whether active or inertial — and the location where this force seems to be applied is the center of the deformation.

     

Quickstretch uses the object center for deforming.

Before you apply quickstretch, make sure that the object's center is located where you want the deformation to emanate from. For example, if a building faces such a strong wind that it bends a little, the deformation should originate from the ground up because you would expect the building to be attached to the ground.

If you move the center after you apply quickstretch, there is no change in the quickstretch deformation. This is because the Center operator comes after the quickstretch operator in the operator stack. You can reorder the operators in the stack (as described in Changing the Order of Operators) or disable the Quickstretch operator before moving the center (as described in Disabling the Top of the Stack).

Object Subdivisions

Quickstretch looks best with many subdivisions in the deforming object, but that can result in a great deal of computation and a heavy scene.

You can use the operator stack to change an object's subdivisions at any time, using fewer subdivisions to help you work quickly and then adding more subdivisions for the final result.

Applying Quickstretch

To create a quickstretch deformation

  1. Select an object, cluster, or weight map.

  2. Choose Deform QStretch. This command is available under Modify on the Model and Simulate toolbars, as well as under Deform on the Animate toolbar. The QStretch Op property editor appears.

  3. Set the parameters as desired. On the Overview property page, you can toggle the three deformation types (Flex, Stretch, and Yield) for each motion component (Linear Velocity/Acceleration and Rotational Velocity/Acceleration).

    These toggles are also available on the other property pages, which also provide finer control over the deformations associated with each motion component.

Viewing a Quickstretch Deformation

Once you have created a quickstretch deformation, you can view the effect in either of the following ways:

  • By playing back the animation.

  • By using the Translate tool to move the object around in a geometry view.

Since motion vectors are computed on the fly during playback of an animated sequence, the deformation that occurs is different if you play the animation backward!

Similarly, if you jump from one frame to another, a huge deformation may occur if the difference in position implies a very large velocity or acceleration. In this case, the geometry returns to normal at the next refresh.

Motion Components

Quickstretch uses the following aspects of an object's motion to deform the object.

  • Linear velocity

  • Linear acceleration

  • Rotational velocity

  • Rotational acceleration

A moving object has speed or velocity. If it is changing speed, then it also has acceleration or deceleration. For example, a car moving at a steady 100 km/h has a velocity of 100 but an acceleration (and deceleration) of 0.

Velocity and acceleration can each be further divided into two types: linear and rotational. For example, a car that moves along a straight line has only a linear motion, whereas a ball that spins on the spot has only rotational motion. Regardless of the type of motion, the faster the object is moving, the more it is deformed.

Quickstretch Deformation Types

Whichever type of motion you give to an object, it can be deformed in one or more ways: it can flex, stretch, yield, or do any combination of the three.

Each of these deformation types can be weighted independently of the others, but their effects are additive. Each effect is designed to be tweaked separately as much as possible, so that when you use them all together the resulting deformation is more predictable.

Flexing

A flexible object when moving rapidly in one direction appears to bend or flex in the direction of the motion, due to the resistance of the air (or water).

Stretching

In the case of a cartoon "squash and stretch" effect, the object usually elongates in the direction of the motion and becomes thinner in the other directions.

Yielding

Depending on the mass assigned, a moving object might appear to bulge due to the internal displacement of its mass.

Notes on Using Quickstretch

Here is some information that may be useful when using quickstretch.

Quickstretch and Envelopes

If you want to combine quickstretch and envelope deformations on the same object, make sure that the object is a child of the envelope deformers. For example, make the chain root the parent of the enveloped geometry. This way, when the root is translated, the envelope's center moves with it.

Otherwise if the envelope is not a child of the root, then when the root moves the geometry follows because it is enveloped to the bones, but the center does not move so no quickstretch effect occurs.

Quickstretch and Rigid Bodies

Quickstretch is not supported with rigid body dynamics.

Creative Commons License Except where otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License