约束是通过使用数值 (如 限制位置约束), 或者目标对象(如 复制位置约束)来控制物体属性(例如其位置、旋转、缩放)的方法。 它的主要用途在动画项目中,当然,在静态项目中也有用。
- 通过其约束引用的目标可以间接控制物体的动画(这是间接动画的一种形式)。实际上,目标对象可以控制约束的物体属性,因此,目标对象将间接地带动物体的动作。
- 可以调整约束里的数值,如滑动 Influence影响 ,或者在使用骨架的骨骼作为目标时,滑动沿着该骨骼(根部和尖端之间)分布的位置。
约束可以使网球运动员眼睛跟踪网球弹跳地穿过球场、可以让一辆巴士所有车轮一起旋转,也可以帮助一只恐龙的腿抬高时膝盖处自动弯曲,或者轻松地让手握住剑柄并挥动剑。 在Blender里,约束作用于 对象 和 骨骼 。在 骨架章节 阅读约束在绑定中的使用。
约束可以相互组合,形成一个约束堆栈。
关系约束
- Action Constraint 动作关系约束
- 这是做动画非常有用的工具,如果,我们可以创建一个机器人招手的动画,,将动作数据保存,然后使用物体变换,在不同的地垫分别用物体约束动作的执行。
- 这 动作关系 是很强大的的约束。它允许你通过另一个物体的变换控制约束对象的 动作 (通俗点就是一个物体的动画)。
- 动作关系 约束的基本作用非常类似于 驱动 ,只是前者使用于整个动作(即一堆相同类型的 F 曲线),而后者则控制“自身”的单一F曲线…
- 请注意,即使该约束接受 网格 操作类型,但只有 物体 , 姿势 和 约束 类型才会真正的工作(起作用),因为约束只能影响物体或骨骼的变换属性,而不能影响网格的形状。还要注意,只有物体变换(位置、旋转、缩放)受动作影响,如果动作包含其他关键帧属性它们将会被忽略的,作为约束不会影响那些属性。
- 作为一个例子,让我们假设你已经定义了一个 物体 动作(它可以被指定给任何物体,甚至不指定物体),并通过 动作关系 约束已映射到你的自身,使目标在(0.0到2.0)范围内沿着它的X轴映射动作内容在其自身(0到100)帧范围内移动。这将意味着当目标的 X 属性为0.0时,自身将如同在链接动作的第0帧中一样;目标的 X 属性为1.0,自身将如同在链接动作的第50帧中一样。
- 骨架约束
- Child Of Constraint 子级约束
- Child Of is the constraint version of the standard parent/children relationship between objects (the one established through the Ctrl-P shortcut, in the 3D Viewport).
- 与传统方法相比,父子约束具有几个优点和增强功能:
- 同一物体你可以有几个不同的父级(用 Influence影响 滑块加权各自的影响)。
- 与任何约束一样,你可以为其影响( Influence)设置设置关键帧(即动画)。这允许子级约束的物体随着父级目标物体的时间变化而变化,因此影响子级约束的物体。
- Floor Constraint 基面约束
- Floor(基面) 约束允许你使用它的目标位置(和可选的旋转)指定一个平面作为自身不能够去的“禁区”。这个平面可以拥有任何你喜欢的方向。换句话说,它可以创建一个地板 (或天花板或墙上) !请注意,它只能够模拟完全平面,即使您使用 Vertex Group顶点组 选项。它也不能用于不均匀的地板或墙壁。
- Follow Path Constraint 跟随路径约束
- Follow Path Constraint 跟随路径约束 的作用是把约束对象放在约束目标 曲线 上,并使它能沿着这个曲线 (或路径)移动。当勾选 跟随曲线(Follow Curve) 选项时,约束对象会顺得约束目标曲线路径来旋转自己。
- 可以用于复杂的相机漫游,火车在轨道上和大多数其他车辆也可以作为“隐形”的轨道,还能做自行车车链条等。
- Pivot Constraint 轴心约束
- 轴心 约束允许约束对象围绕目标对象旋转。它最初是用在人体的旋转关节,例如手指,脚,肘部等。
- Shrinkwrap Constraint 缩裹约束
- 缩裹 约束对应的是 缩裹修改器 。它移动约束对象的原点并使其移到其目标对象的表面。
- 这意味着目标 必须 有表面。 事实上,约束更具选择性,因为它只能使用网格作为目标。 因此,当所选的非活动对象是网格时,缩裹 选项仅显示在 添加物体约束 菜单中 Ctrl-Alt-C,(或其骨骼等效物)。