Transformation Constraint 自设变换约束#

This constraint is more complex and versatile than the other "transform" constraints. It allows you to map one type of transform properties (i.e. location, rotation or scale) of the target, to the same or another type of transform properties of the owner, within a given range of values (which might be different for each target and owner property). You can also switch between axes, and use the range values not as limits, but rather as "markers" to define a mapping between input (target) and output (owner) values.

So, e.g. you can use the position of the target along the X axis to control the rotation of the owner around the Z axis, stating that 1 unit along the target X axis corresponds to 10 units around the owner Z axis. Typical uses for this include gears (see note below), and rotation based on location setups.

选项#

../../../_images/animation_constraints_transform_transformation_panel.png

自设变换面板。#

目标

数据 ID 用于选择约束目标,当它没有时,就没有功能(红色状态)。参见 常见的约束属性 以获得更多信息。

延伸

By default, the Min and Max values bound the input and output values; all values outside these ranges are clipped to them. When you enable this button, the Min and Max values are no longer strict limits, but rather "markers" defining a proportional (linear) mapping between input and corresponding output values. Let us illustrate that with two graphs Fig. The Extrapolate principles.. In these pictures, the input range (in abscissa) is set to (1.0 to 4.0), and its corresponding output range (in ordinate), to (1.0 to 2.0). The yellow curve represents the mapping between input and output.

The Extrapolate principles.#
../../../_images/animation_constraints_transform_transformation_extrapolate-1.png

Extrapolate disabled: the output values are bounded inside the (1.0 to 2.0) range.#

../../../_images/animation_constraints_transform_transformation_extrapolate-2.png

Extrapolate enabled: the output values are "free" to proportionally follow the input ones.#

目标/所有者

空间之间的标准转换。更多信息请参见 常见的约束属性

影响

控制约束对对象的影响百分比。有关详细信息,请参阅 通用约束属性

源至目标的映射模式#

It contains the input (from target) settings.

位置、旋转、比例

The radio buttons allow you to select which type of property to use.

模式(旋转)

Allows specifying the type of rotation input to use, including different Euler orders, Quaternion, and other Rotation Channel Modes. Defaults to using the Euler order of the constraint owner.

In the Quaternion mode the channels are converted to weighted angles in the same way as the swing angles of the Swing and X/Y/Z Twist modes.

X/Y/Z 最小、最大

Independently for each axis (X, Y, and Z) the min and max number fields control the lower and upper bounds of the input value range. Note that if a min value is higher than its corresponding max value, the constraint behaves as if it had the same value as the max one.

映射到#

It contains the output (to owner) settings.

位置、旋转、比例

The three radio buttons allow you to select which type of property to control.

Order (Rotation)

For rotation, allows specifying which Euler order to use during evaluation of the constraint. Defaults to using the order of the constraint owner.

X/Y/Z源轴

The three axis selectors allow you to select which input axis to map to, respectively (from top to bottom), the X, Y and Z output (owner) axes.

最小值,最大值

The Min and Max number fields control the lower and upper bounds of the output value range, independently for each mapped axis. Note that if a min value is higher than its corresponding max value, the constraint behaves as if it had the same value as the max one.

混合

指定如何混合约束结果和现有值。可用选项的菜单因转换类型而异。

替换

约束的结果替换现有的值。

Multiply (Scale)

约束的结果将与现有值相乘。

Add (Location, Rotation)

约束的值与现有的值相加。

Before Original (Rotation)

新的旋转被添加到现有的旋转之前,就像它被应用于约束所有者的一个父级。

After Original (Rotation)

新的旋转被添加到现有的旋转之后,就像它被应用于约束所有者的一个孩子一样。

Note

  • 由于历史原因,混合 模式在位置和旋转中默认为 添加,缩放中默认为 替换

  • When using the rotation transform properties of the target as input, whatever the real values are, the constraint will always "take them back" into the (-180 to 180) range. E.g. if the target has a rotation of 420 degrees around its X axis, the values used as X input by the constraint will be:

    \(((420 + 180) modulo 360) - 180 = 60 - ...\)

    This is why this constraint is not really suited for gears!

  • 类似地,当使用目标缩放变换属性作为输入,无论真正的值是什么,约束将始终使用其绝对值(即对负值取负)。

  • When a min value is higher than its corresponding max one, both are considered equal to the max one. This implies you cannot create "reversed" mappings...

例子#