Transformation Constraint 自设变换约束

此约束比其他"变换"约束更加复杂、强大。它允许在给定取值范围内(视目标和约束对象属性类型有所不同),将目标的某个变换属性(即位置、旋转或缩放),映射到约束对象同一或其他类型的变换属性。你也可以切换轴向,并使用没有限制的范围值,而是作为"标记"来定义输入(目标)和输出(约束对象)值之间的映射。

所以,例如你可以使用目标在X 轴的位置来控制绕约束目标的Z轴旋转,规定目标X 轴的一个单位对应于约束对象Z 轴旋转10个单位。这通常用在齿轮(见下面的说明),和基于位置的旋转。

选项

  • Target 目标
  • 数据ID 用于选择约束目标,当它为空时表示不起作用(标题栏名称背景为红色状态)。
  • 延伸
  • 默认情况下, 最小值最大值 定义输入和输出值的边界;范围之外的所有值都被剪掉。启用该选项后, 最小值最大值 不再受严格限制,而是通过"标记值"定义输入和相应的输出值之间的比例(线性)映射。以下面两张图片来距离说明 延伸原理。 图片中,输入的范围(横坐标)设置为 [1.0,4.0],对应的输出范围(纵坐标)为[1.0、 2.0]。黄色曲线表示输入和输出之间的映射。

延伸原理。../../../_images/animation_constraints_transform_transformation_extrapolate-1.png禁用延伸: 输出值都被限制在 (1.0 至 2.0) 范围内。

../../../_images/animation_constraints_transform_transformation_extrapolate-2.png启用延伸:输出值是按输入值等比例得出的 “自由”值。

包含输入(目标)设置。

  • 源至目标的映射模式
  • 单选按钮,用于选择要使用的属性类型。

位置,旋转和缩放

  • 每个轴(X,Y和Z)独立地控制输入值范围的下限和上限。 请注意,如果最小值高于其对应的最大值,则约束的行为就像它具有与最大值相同的值。
  • 源到目的的映射
  • 三个 轴向映射 选择器用于分别选择映射到X,Y和Z输出(约束对象)轴的轴向(从上到下)。

目的

包含输出(至约束对象)的设置。

  • 映射到
  • 三个单选按钮用于选择要控制的属性类型。

位置,旋转和缩放

  • 最小值最大值 的值分别控制每个映射轴的输出值范围的下限和上限。 请注意,如果最小值高于其对应的最大值,则约束的行为就像它具有与最大值相同的值。
  • Space 空间
  • 空间之间的标准转换。

Note

  • 当映射变换属性到位置(即 目的, 位置 按钮处于启用状态),计算结果会加上约束现有位置(如同启用 复制位置约束 中的 Offset(偏移) 选项一样…..)。

  • 相反,映射变换属性到旋转或缩放,约束计算的结果会覆盖约束对象现有旋转或缩放。

  • 当使用目标的旋转变换属性作为输入,无论真正的值是什么,约束将始终"重置回" (-180, 180)范围。例如,如果目标绕 X 轴旋转420°,约束实际使用的 "X" 输入值将是:

(((420 + 180) modulo 360) - 180 = 60 - …)

这就是为什么此约束不是真的适合齿轮 !

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

  • 最小值 高于其相应的 最大值 时,两个值都会取为 最大值 。这意味着不能创建"反向"映射…