Blender 3D:菜鸟到专业/练习良好的父级关系
适用 Blender 版本:2.71。 |
在 2D 绘图程序中,您可能熟悉将对象分组在一起的概念,以便可以将它们作为不可分割的整体进行操作和转换。
Blender 可以通过其将一个对象父级到另一个对象的概念实现大致类似的效果。(Blender 还具有名为“分组”的概念,但它用于完全不同的目的,在此不做讨论,所以不要混淆。)
将一个对象父级到另一个对象很简单:在对象模式下,选择要作为子对象的对象,然后选择要作为父对象的,然后按 CTRL + P 调出“设置为父对象”菜单。菜单中的选项具有以下含义
- 对象:将其余选择的父对象设置为活动(最后选择的)对象,清除新子对象可能具有的任何现有父对象关系。任何以前是父对象的都将重置为其在先前父对象关系之前的原始转换。
- 对象(保留变换):类似于上述,但子对象保留来自任何先前父对象关系的转换。
- 顶点:这允许您将子对象父级到父对象(必须是网格)中的单个当前选定顶点。您可以在父对象网格上进入编辑模式以进行选择,然后再使用此选项。然后,子对象将跟踪该顶点的运动,而不是整个对象。
- 顶点(三角形):在此,父对象网格中选择了 3 个顶点。子对象跟踪的不仅是它们的平移,还有它们之间的相对旋转。
在对象模式下查看场景时,您会看到黑色虚线将子对象连接到其父对象。尝试仅移动、旋转或缩放父对象,您会看到如何将相同的转换自动应用于其子对象。
一次将多个子对象父级到一个公共父对象,依次选择所有子对象,然后最后选择父对象。现在,当您执行 CTRL + P 时,所有选定的对象(最后一个除外)都成为最后一个对象的子对象。
对象的父对象可能反过来又是另一个对象的子对象;其父对象的任何转换都会自动传递给它及其所有子对象,以及它们的子对象,等等。
要删除父对象关系:在对象模式下选择子对象,然后按 ALT + P 调出清除父对象菜单。此处的选项是
- 清除父对象:删除父对象/子对象关系,并将子对象重置为其在父对象关系之前的原始转换。
- 清除并保留转换:删除父对象/子对象关系,但子对象保留其作为父对象关系结果的当前转换。
- 清除父对象反转:这实际上并没有清除父对象/子对象关系,但它将子对象相对于父对象的转换设置为与子对象在成为父对象之前自身具有的转换相同。
通常,当设置父对象关系时,如果父对象已经应用了对象转换,则子对象不会立即继承它。相反,它只接收对父对象对象转换的后续更改。发生的事情是,在设置父对象关系时,计算出当前父对象转换的反转,然后在将父对象转换传递给子对象之前应用它。这抵消了初始转换,使子对象从一开始就位于其位置。当父对象随后移动或受到其他对象转换影响时,不会重新计算此反转,因此子对象此后会跟踪。
“清除父对象反转”功能将此反转转换设置为单位转换,因此子对象会接收完整的父对象转换。
快捷键 CTRL + SHIFT + P 等效于设置父对象关系,然后清除父对象反转。 |
在 3D 视图右侧的属性架上(您可以使用 N 切换其可见性),您将在顶部看到变换面板。这显示了整体对象转换(平移、旋转、缩放),但还要注意转换字段旁边的挂锁图标:单击每个图标都会关闭其挂锁,将相应的字段锁定以防止进一步更改,包括使用 3D 视图中的常用对象转换工具进行的更改。(如果您单击一个关闭的挂锁,它会再次打开并取消锁定。)
这对子对象很有用:如果其对象转换被锁定,它仍然会跟踪对父对象的转换更改,但无法直接更改其转换。这可以在操作实际上由多个 Blender 对象组成的“对象”时防止意外情况:将它们全部父级到一个公共根对象(例如空对象),然后锁定所有对象,除了根对象,这样它们就可以通过仅操作根对象来一起转换,并且不能(意外地)被分离。
例如,您可能使用单独的对象来构建一辆汽车,用于车门和车轮;这些可以自由旋转(分别绕着它们的铰链和车轴旋转),但否则相对于车身被锁定在位置。
假设您想制作一部电影,其中相机围绕某个物体进行 360° 平移。我们将把如何设置动画的细节留到后面,但现在让我们只考虑如何设置相机运动。
从一个新的默认 Blender 文档开始。使用 3D 光标在其默认位置(中心),添加一个新的空对象。它应该最终位于立方体内部,因此不可见;切换到 Z 线框视图,这样更容易看到。
选择 RMB 相机;然后选择 SHIFT + RMB 空对象;现在 CTRL + P 将相机父级到空对象。
现在选择 RMB 仅空对象,然后尝试 R otating 它:注意到相机是如何跟随的吗?为了增加乐趣,切换到相机视图 NUM0 (确保空对象仍然是唯一被选中的对象)。现在尝试旋转空对象:它看起来应该像立方体在相反的方向旋转,而实际上是相机围绕它移动。