物体父子关系
为复杂的物体(例如手表)建模时,可以选择将不同的零件建模为单独的物体。要使所有零件像一个整体(手表)移动,可以指定一个物体为其他零件的 父级。其他零件则为该物体的 子级,父级的任何平移、旋转、缩放,都将影响其子级。
与大多数生物生命形式相反,在Blender中的每个物体或骨骼,最多只能有一个父级。如果一个物体已经有一个父级物体,给它另外一个父级,则Blender将移除之前的父级关系。在本章中使用 父级层级 时,它指父级的层次结构,即物体的父级、祖父级、曾祖父级等等。
创建父级
参考
模式
物体模式
菜单
物体(Object) ‣ 父级(Parent)
快捷键
Ctrl-P
要为物体设置父级,请至少选择两个物体(先选择子物体,最后选择父物体),然后按 Ctrl-P 。将弹出 设置父级目标 菜单,允许从几种可选的不同的父子类型中选择一种。选择 设置父级目标 中的一个条目进行确认,将创建父/子关系。所选物体将它们的父级设置为 活动物体,其他物体将互为兄弟。
弹出的 设定父级目标 菜单是上下文相关的菜单,这意味着它显示的条目的数量,将根据使用 Ctrl-P 快捷方式时,选择的物体不同而不同。
移动、旋转或缩放父级,通常也将变换子级。而变换子级却不影响父级。换言之,影响的方向是从父级到子级,而非子级到父级。
Tip
可以使用 原点清除,将一子级物体移到父级处。
类型
Blender支持多种不同类型的父子关系。除了给所选物体设置父子关系之外,某些类型还为子级物体添加了一个修改器或约束,并将父级作为目标物体或激活父级属性,例如 跟随路径。
保持变换
该物体的当前世界变换(即其在世界中的绝对位置、旋转和缩放)将被计算。新的父级设置时,父级反校正 矩阵将被计算,因此在设置完新父级后,该物体仍保持其之前的世界变换。
Hint
使用大纲视图
另一种查看组内父子关系的方式是,使用 大纲编辑器 的 大纲 视图。
父级反校正
Blender可以在不移动子级物体的情况下,指定一个父级。这通过一个隐藏的称为 父级反校正 矩阵的矩阵实现,该矩阵存在于父级和和子级的 变换 之间。
当使用 Ctrl-P 设置物体父子级关系时,父级反校正矩阵将被更新。取决于设置父级关系菜单的选择,物体的局部位置、旋转、和缩放也将更新。有关更多,见 物体父级。
也可以用 清除父级反校正 来清除父级反校正矩阵。
Note
当通过物体属性编辑器面板设置父级关系时,父级反校正矩阵总被重置。这将导致物体的位置会有意料之外的跳动。为避免这样,请使用 Ctrl-P 来设置新的父级关系。
物体父级
物体父级 是Blender支持的最一般的父级关系形式。得到选中物体,会将 活动物体 设置为所有所选物体的父级物体。每个子级物体将继承自父级物体的变换。父级物体可以是任何类型。
如果物体有一个已存在的父级,则先被清除。将移动物体到其位置、旋转和缩放,而不受其父级影响。
有3种操作可以设置一个物体父子关系。因计算 父级反校正矩阵 和物体的局部 Transform 的方式不同而不同。
示例:物体(保持变换)父级
保持变换\的*物体父级*,将保持任何之前的父级物体应用给物体的变换。
假设有一个由三个物体组成的场景,它们是名为“EmptyA”和“EmptyB”的两个空物体,以及一个猴头物体。图 没有父子关系的场景。 显示了三个没有父子关系的物体。
没有父子关系的场景。
如果 LMB 点击选择猴头物体,然后 Shift-LMB 点击“EmptyA”物体,接着按 Ctrl-P,最后从 设置父级目标 弹出菜单中选择 物体。这将导致“EmptyA”物体将成为猴头物体的父级物体。仅选择“EmptyA”时,旋转/缩放/移动,将导致猴头物体将相应变动。
缩放“EmptyA”物体,使猴头变小并向左移动一点。
猴头是“EmptyA”的子级物体。
如果通过 LMB 点击仅选择猴头物体,然后 Shift-LMB 点击“EmptyB”物体并按下 Ctrl-P,从弹出的 设定父级目标 菜单选择 物体。这将导致“EmptyB”物体成为猴头物体的父级物体。请注意,当你改变猴头的父级时,猴头的比例发生了变化(变回原来大小)。
猴头是“EmptyB”的子级物体。
发生这种情况是因为猴头物体从来没有直接改变其缩放,之所以变化是因为它是“EmptyA”的子级物体,跟随其缩放发生了变化。由于“EmptyB”没有改变其缩放,因此将猴头的父级更改为“EmptyB”导致这些间接的缩放变化被移除。
这通常是必需的行为,但是如果更改父级物体,而 子级物体 会保留从原父级物体获得的任何先前变换也很有用。相反,如果将猴头的父级物体从“EmptyA”更改为“EmptyB”,若选择了父子类型 物体 并启用的 保持变换,那么当猴头被分配给新的父级“EmptyB”时,猴头将保留其从原父级“EmptyA”获取的缩放信息。
物体父级使用 保持变换。
如果想继续了解上面的描述,这是相关blend文件:
文件:设置物体(保持变换)父级(演示).blend_(Demo_File).blend) 。
骨骼父级
骨骼父子关系允许将骨架上的某些骨骼设为另一个物体的父级物体。这意味着,当变换一个骨架时,子物体只会跟随着特定的骨骼移动。
有四个骨骼的骨架的三个图片。
在图 有四个骨骼的骨架的三个图片。 中,第二个骨骼是立方体物体的父级。立方体只有在第一或第二块骨骼的情况下才会变形。注意改变第三和第四根骨头对立方体没有影响。
要使用骨骼父子关系,必须先选择希望指向特定父级骨骼的所有子物体,然后 Shift-LMB 选择骨架物体,并将其切换到姿势模式,然后 LMB 选择希望成为父级骨骼的特定骨骼。完成后按 Ctrl-P ,并在 设定父级目标 弹出菜单中选择骨骼。
现在在姿态模式下变换骨骼会导致子物体也会发生变换。
相对父子关系
骨骼相对父子关系是你可以为每个骨骼切换的选项。这和骨骼父子一样,但有一点不同。
使用骨骼父级时,如果将骨骼作为某些子物体的父级并选择该骨骼,然后将其切换为编辑模式并移动该骨骼,当在该骨骼上切换回姿态模式时,作为该骨骼的子物体将在姿态模式中吸附回骨骼的位置。
具有子级立方体物体的单个骨架骨骼,立方体使用骨骼父级设置父级为该骨骼。
在图 具有子级立方体物体的单个骨架骨骼,立方体使用骨骼父级设置父级为该骨骼。 中,第一张图片显示骨骼在编辑模式下移动之前立方体和骨架的位置。第二张照片显示了在编辑模式中选择骨骼,移动并切换回姿势模式后立方体和骨架的位置。注意,子级物体移动到姿态骨骼的新位置。
骨骼相对父子关系的工作方式则不同:如果在编辑模式下移动父级骨骼,当切换回姿势模式时,子物体将不会移动到姿势骨骼的新位置。
立方体使用相对父子链接到单一骨骼。
在图 立方体使用相对父子链接到单一骨骼。 中,第一张图片显示骨骼在编辑模式下移动之前立方体和骨架的位置。第二张照片显示了在编辑模式中选择骨骼后,移动并切换回姿势模式后立方体和骨架的位置。请注意,子物体不会移动到姿势骨骼的新位置。
Note
当使用 Ctrl-P 来设置父级时,选择”骨骼”或”相对骨骼”将分别清除和设置骨骼的”相对父子关系”选项。由于”相对父子关系”是每个骨骼设置的选项,这会同时影响该骨骼的所有子物体。
顶点父级
对于曲线、曲面、网格和晶格类型的物体,可以将其顶点或点用作其他物体的父级。你可以将一个物体设置父级到一个顶点或一组的三个顶点,这样,当父网格变形时,子级将会随之移动。
来自编辑模式的顶点父级
在 物体模式 中,选择子级,然后选择父级物体。 Tab 切换到 编辑模式 并在父物体上选择一个定义单个点的顶点,或者选择三个顶点定义一个区域(三个顶点不必形成一个完整的面;它们可以是父物体的任意三个顶点),然后按下 Ctrl-P 并确认。
此时,如果选择了单个顶点,则将从顶点向子级绘制关系/父子线。如果选择了三个顶点,则从(父级物体的)三个点的平均中心向子级绘制关系/父子线。现在,当父级网格形变并且所选父顶点移动时,子级也将移动。
来自物体模式的顶点父级
可以在物体模式下执行顶点父级,方法类似普通物体父级。在物体模式中按 Ctrl-P 并选择 顶点 或 顶点(基于三点)。
将从每个物体使用最近的顶点,这通常也是您想要的。
设定父级上下文菜单项意味着用户可以快速设置大量顶点父级关系,并避免单独建立每个父——子顶点关系的繁琐工作。
Note
它实际上是一种“反转”的 钩挂 。
不使用反转方式建立父子关系
参考
模式
物体模式
菜单
物体(Object) ‣ 父级(Parent) ‣ 无反校正建立父级关系(Make Parent without Inverse)
这将设置父子关系,然后重置 父级反校正 矩阵和物体的局部位置。结果,该物体将移到父级的位置,但保持其旋转和缩放。
保持变换
该物体的当前世界变换(即其在世界中的绝对位置、旋转和缩放)将被计算。新的父级设置时,父级反校正 矩阵将被计算,因此在设置完新父级后,该物体仍保持其之前的世界变换。
清空父级
参考
模式
物体模式
菜单
物体(Object) ‣ 父级(Parent)
快捷键
Alt-P
你可以通过 Alt-P 方式 删除 父级 - 子级关系。
清空父级
如果只选择组中的父级,则不做任何事情。如果选择了一个子级或多个子级,他们就会与父级分离,或者被释放,并且他们会返回他们原来的位置,旋转和大小。
清除并保持变换结果
从父级那里解散子级,但 保留 父级给他们的位置、旋转和大小。
参见 非均匀缩放 可能适用于这里。
清除父级反校正
与剔除父子层级关系不同,此选项是从选择的物体中清理掉 父级反校正 矩阵。有了这个清空的矩阵,子物体的位置、旋转、缩放属性可以在父物体的世界坐标里表现。
已知局限
非均匀缩放
与其子级相比,父级的缩放和旋转不均匀可能会导致 剪切 效应。
虽然父子关系支持这种做法,但是当父级被清除后,剪切将会丢失,因为它不能用位置,缩放和旋转。
如果 清除并保持变换结果 移动了物体,则非均匀缩放是最可能的原因。