Constraint
约束
Basic 基础PSR 脉冲响应时间Aim 瞄准Up-Vector 向上矢量Parent 父母Clamp 夹钳Spring 春天Mirror 镜子Constraint
约束
Constraints enable you to limit how far an object can move during the animation relative to another object or objects. There are many different types of constraint available that allow you to limit an object's movement, all of which you'll find in this tag.
约束使您能够限制在动画期间对象相对于另一个或多个对象的移动距离。可以使用许多不同类型的约束来限制对象的移动,所有这些都可以在这个标记中找到。
Much of what the tag can do is also possible using XPresso. The advantage of the tag is that its constraints execute faster than their XPresso equivalents. The tag is also faster to set up and easier to use in many cases compared with using XPresso. Last but not least, a few of the tag's constraints are simply not possible to achieve using XPresso.
使用 XPresso,标记所能做的大部分事情也是可能的。标记的优点是它的约束执行速度快于它们的 XPresso 等价物。与使用 XPresso 相比,标签的设置速度更快,在许多情况下也更容易使用。最后但并非最不重要的一点是,使用 XPresso 根本不可能实现标记的一些约束。
You can activate multiple constraints in the tag and define several targets for each constraint. This means that usually one tag is all you need to constrain the object; unless, that is, you want to set the constraints to different priorities. The tag's constraints are evaluated in the following order:
您可以激活标记中的多个约束,并为每个约束定义几个目标。这意味着通常只需要一个标记来约束对象; 除非您希望将约束设置为不同的优先级。标记的约束按以下顺序进行计算:
If the constraint has more than one target, the targets are evaluated from top to bottom.
如果约束具有多个目标,则从上到下评估目标。
Not only is the tag useful for character animation, it is also generally useful for anything that moves in the scene. Even still scenes can benefit from the use of constraints. For example, you can use constraints to arrange objects on top of an uneven surface.
标签不仅对角色动画有用,而且通常对场景中的任何移动都有用。即使是静态场景也可以从约束的使用中获益。例如,可以使用约束在不平整的表面上排列对象。
例子
A flywheel attached to a pistons: Normally you would animate the flywheel to rotate and the pistons and cylinder would have to move accordingly. In doing so, the following is important: The pistons and cylinder should each have the correct rotational axis (Axis tool). Pistons and cylinder will each be given a Constraint with the following settings.
固定在活塞上的飞轮: 通常你会使飞轮转动起来,活塞和气缸就必须相应地移动。在这样做的时候,以下几点很重要: 活塞和气缸都应该有正确的旋转轴(轴工具)。活塞和气缸将分别按以下设置给予约束。
The piston is assigned a Constraint tag with two constraints:
活塞被分配一个约束标签,有两个约束:
The cylinder now requires only one additional Constraint tag with a Target Constraint at the piston’s (or crankpin’s) point of rotation. Don’t forget that the Constraint will be applied in the order in which they are in the Object Manager. If, for example, the cylinder in the example above were to be moved above the piston in the Object Manager, the result would not be correct (unless you want to modify the priority of the Expressions directly.
气缸现在只需要一个附加的约束标签与目标约束在活塞的(或曲柄销的)旋转点。不要忘记约束将按照它们在对象管理器中的顺序应用。例如,如果上面例子中的气缸在对象管理器中移动到活塞上方,结果将是不正确的(除非您想直接修改表达式的优先级。
The limitation’s offset values can be of great help if you have parametric objects whose origin cannot easily be moved!
如果有原点不容易移动的参数对象,那么限制的偏移量值可以提供很大的帮助!
约束命令
To make working with the Constraint tag easier we have added number of commands that you can use to easily set up the desired tag in connection with the selected object. The order in which elements are selected (not the hierarchy of the selected objects) is important:
为了使使用 Constraint 标记更容易,我们添加了许多命令,您可以使用这些命令轻松地设置与所选对象连接的所需标记。元素的选择顺序(而不是所选对象的层次结构)很重要:
It’s a good idea to first deselect everything, select the object to be "constrained", then select target (Ctrl+click) before executing any commands.
首先取消对所有内容的选择,选择要“约束”的对象,然后在执行任何命令之前选择 target (Ctrl + click) ,这是一个好主意。
As soon as a Constraint tag has been assigned - and is selected - other individual objects can be selected and added to the tag by Shift+(re)selecting the Constraint command (instead of creating a new tag).
一旦一个 Constraint 标签被分配-并被选中-其他单独的对象可以被选中并通过 Shift + (re)选择 Constraint 命令(而不是创建一个新的标签)添加到标签中。
添加目标约束
The object will orient itself towards the target object.
物体将自己定向到目标物体。
添加轴约束
The object can only be moved along the corresponding axis of the target object.
对象只能沿着目标对象的对应轴移动。
添加钳位约束
The object will be confined to its current distance from the target object’s origin.
该物体将被限制在其目前距离目标物体的原点。
添加镜像约束
The object’s movement will mirror that of the target object.
物体的运动将反映目标物体的运动。
添加原点约束
The object maintains a constant distance from the target object.
该对象与目标对象保持固定的距离。
添加父约束
The object behaves as if it were a Child object of the target object and will move in accordance with the target object’s movement.
该对象的行为就好像它是目标对象的子对象,并将根据目标对象的移动而移动。
添加平面约束
The object will only move within the target object’s XY plane.
物体将只在目标物体的 XY 平面内移动。
添加点约束
The object will be confined to the nearest geometry object point of the target object.
该对象将被限制在目标对象的最近的几何对象点。
添加位置约束
The object will be confined at the target object’s origin.
物体将被限制在目标物体的原点。
添加 PSR 约束
The object will be confined to the target object’s origin and will be scaled and rotated along with the target object.
该对象将被限制在目标对象的原点,并将与目标对象一起缩放和旋转。
添加旋转约束
The object will exclusively assume the target object’s rotation.
该对象将专门假定目标对象的旋转。
添加缩放约束
The object will exclusively assume the target object’s size ("Coord." tab in the Attribute Manager: S.X, S.Y, S.Z).
该对象将只承担目标对象的大小(属性管理器中的“ Coord. ”选项卡: S.X,S.Y,S.Z)。
添加样条约束
The object will be confined to the Spline target object.
该对象将局限于 Spline 目标对象。
添加 Spring Constraint
The object will follow the target object’s spring movement.
物体将跟随目标物体的弹簧运动。
添加表面约束
The object will be confined to the target object’s surface geometry.
物体将被限制在目标物体的表面几何形状。
加法矢量约束
The target object will be used an up vector.
目标对象将作为向上矢量使用。
添加边界约束
The object movement will be restricted to the volume of a polygonal Target object or the inner area of a flat Target Spline.
物体的运动将被限制在多边形目标物体的体积或平面目标样条的内部区域。