个人工具

Blender2.5x-2.6完全教程 2.4.1

来自Ubuntu中文

跳转至: 导航, 搜索

第 2.4.1 节 父子链接创建清除 (parent)

创建父子链接——

  在物体之间Parenting建立父子链接的关系之后,可以让Child子物体随着Parent父物体一起move/rotate/scale移动或旋转或缩放。创建父子链接的方法是,选取多个物体,然后使用Object物体菜单中的Parent父子链接中的Set设置命令来Set the object's parent创建物体的父子链接(快捷键 Ctrl P),这时会弹出一个Set parent to设置父子链接到的确认对话框,选择Object物体即可。注意:创建父子链接时,最后被选中的Active Object活动物体将会成为一个Parent父物体。其他的物体将会成为同一级别的Siblings兄弟姐妹。

  • 3D View视图编辑器下方菜单栏 ⇒ Object 物体 ⇒ Parent 父子链接 ⇒ Set 设置(快捷键 Ctrl P)

  父子链接可以在物体间逐级转递下去,让子物体也有它的子物体,即孙物体、曾孙物体、曾曾孙物体……注意:一个Parent父物体可以拥有多个Children子物体,但每个子物体只能跟随一个父物体。就像一个人可以生下许多个孩子,但每个孩子只有一个亲生父亲。如果一个物体A已经有了一个父物体B,现在又为物体A设定另一个父物体C,那么前一个父体B将自动被取消“作为A的父物体”的链接。

Blender-tutorial 2-4-1 01-1.png

  • View视图里默认已有Cube立方体 ⇒ 鼠标左键在视图空白处任意点击一下,确立新的3D Cursor游标 ⇒ Shift A 添加 ⇒ Mesh 网格物体 ⇒ Cylinder 圆柱体 ⇒ 同样的方法,添加Cone圆锥体和Monkey猴脸 ⇒ 注意看右上角的Outliner大纲列表编辑器,现在Cube立方体、Cylinder圆柱体、Cone圆锥体都处在同一个级别上
  • 继续上例 ⇒ 鼠标右键点击选择圆柱体 ⇒ 按着Shift键不放, 鼠标右键点击加选圆锥体,最后鼠标右键点击加选立方体 ⇒ Ctrl P 创建父子链接 ⇒ 视图中的圆柱体和圆锥体上都有一条虚线连接到了立方体上 ⇒ 注意看右上角的Outliner大纲列表编辑器,Cube立方体右边出现了两个淡黄色的倒三角符号,表示立方体有两个子物体 ⇒ 点击Cube立方体左边的“+”号,可以看到现在Cylinder圆柱体、Cone圆锥体都处在Cube立方体的列表下
  • 继续上例 ⇒ 鼠标右键点击选择Monkey猴脸 ⇒ 按着Shift键不放, 鼠标右键点击加选圆锥体 ⇒ Ctrl P 创建父子链接 ⇒ 猴脸有一条虚线连接到了圆锥体上 ⇒ 注意看右上角的Outliner大纲列表编辑器,Cone圆锥体右边出现了一个淡黄色的倒三角符号 ⇒ 点击Cone圆锥体左边的“+”号,可以看到Monkey猴脸处在Cone圆锥体的列表下 ⇒ 点击Cube立方体左边的“-”号把列表收起来,可以看到Cube立方体右边现在一共有三个淡黄色的倒三角符号,因为孙物体猴脸也在立方体的列表下
  • 继续上例 ⇒ 鼠标右键点击选择Cube立方体 ⇒ G 移动 ⇒ 移动鼠标可以看到,立方体的子物体圆柱体和圆锥体以及孙物体猴面都一齐随着立方体移动,点击鼠标左键确定 ⇒ 同样地,对立方体进行 R 旋转或 S 缩放也会带动圆柱体、圆锥体和猴面一起旋转或缩放 ⇒ 鼠标右键点击选择Cone圆锥体 ⇒ G 移动 ⇒ 移动鼠标可以看到,圆锥体的子物体Monkey猴脸在随着圆锥体一起移动,而圆锥体的父物体立方体没有移动,与圆锥体同一级别的圆柱体也没有移动

Blender-tutorial 2-4-1 02.png

清除父子链接——

  清除父子链接的方法是,选取一个或多个子物体,然后使用Object物体菜单中的Parent父子链接中的Clear清除命令来Clear the object's parent清除物体的父子链接(快捷键 Alt P)。注意:快捷键Alt P 只能清除选中物体唯一的父物体,不能反过来清除选中物体的多个子物体。

  • 3D View视图编辑器下方菜单栏 ⇒ Object 物体 ⇒ Parent 父子链接 ⇒ Clear 清除(快捷键 Alt P)

  这时会弹出一个Clear parent清除父链接的确认对话框,里面有三项选择:

Clear Parent 清除父子链接
Clear Parent 清除父子链接(子物体回到原位) Clear the object's parenting
Clear and Keep Transformation 清除父子链接保留变换结果(子物体保持现状) Clear the object's parenting
Clear Parent Inverse 清除父物体反向坐标(子物体全局坐标不计算父物体反向坐标) Clear the object's parenting
  • View视图里默认已有Cube立方体 ⇒ N 展开右侧Properties特性栏 ⇒ Transform变换栏目 ⇒ Location位置项目 ⇒ X参数改为3,Y参数改为3 ⇒ 鼠标放回视图中,现在3D Cursor游标的位置仍在场景原点(0,0,0) ⇒ Shift A 添加 ⇒ Mesh 网格物体 ⇒ Cone 圆锥体添加在了场景原点 ⇒ 按着Shift键不放,鼠标右键点击加选Cube立方体 ⇒ Ctrl P 创建父子链接 ⇒ 在弹出的Set parent to设置父子链接到的确认对话框,点击Object物体确定 ⇒ 现在父物体Cube立方体坐标是(3,3,0),子物体Cone圆锥体坐标是(0,0,0)
  • 继续上例 ⇒ 鼠标右键点击选中Cube立方体 ⇒ G 移动 ⇒ X 限定X轴 ⇒ 3 移动3个单位,回车确定 ⇒ 可以看到圆锥体也随着立方体一起移动了3个单位 ⇒ Alt P 清除父子链接 ⇒ 在弹出的Clear parent清除父链接的对话框里选择Clear Parent清除父子链接 ⇒ 可以看到,圆锥体和立方体之间没有了虚线连接,圆锥体跳回了场景原点,右上角大纲列表中圆锥体和立方体处于平等的级别
  • 继续上例 ⇒ Ctrl Z 取消刚才的操作,恢复到立方体和圆锥体仍有虚线连接的父子链接状态 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear and Keep Transformation清除父子链接保留变换结果 ⇒ 可以看到,圆锥体和立方体之间没有了虚线连接,圆锥体也仍停留在原地没有动

Blender-tutorial 2-4-1 03.png

父物体反向坐标——

  Parent Inverse 父物体反向坐标在父子链接中是一个很重要的参数,用于精确计算子物体在全局坐标中的相对位置。可以通过下面的实验来理解Parent Inverse父物体反向坐标:

  • 继续上例 ⇒ Ctrl Alt Z 撤销历史操作 ⇒ 在弹出的Undo History撤销历史菜单中选择Make Parent创建父子链接 ⇒ 现在回到了刚刚建立父子链接时的状态,父物体Cube立方体坐标是(3,3,0),子物体Cone圆锥体坐标是(0,0,0)

  最初新建Cube立方体的全局坐标是(0,0,0),后来Cube立方体移动到了(3,3,0),那么在执行快捷键Ctrl P 创建父子链接的命令时,这个Parent Inverse父物体反向坐标就是(-3,-3,0)。可以用一个公式来理解:父物体反向坐标 = 新建该物体时的所在坐标 - 该物体目前所在的坐标

  • 继续上例 ⇒ 现在鼠标右键点击选中立方体 ⇒ G 移动 ⇒ X 限定X轴 ⇒ 3 移动3个单位,可以看到圆锥体也随着立方体一起移动了 ⇒ 鼠标右键点击选中圆锥体 ⇒ 现在仔细看右侧Properties特性栏,圆锥体的坐标仍是(0,0,0)

  由此可见,在创建父子链接之后,子物体虽然在跟随父物体一起移动,但子物体的坐标仍保留着自己独立位移的全局坐标,不过旋转和缩放的坐标参数不保留。此时,子物体的Global全局坐标计算公式是:

  • 子物体目前的全局坐标 = 父物体目前的全局坐标 + 父物体反向坐标 + 子物体自己独立移动的坐标
  • (3,0,0) = (6,3,0) + (-3,-3,0) + (0,0,0)
  • 继续上例 ⇒ 现在圆锥体是被选中状态 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear and Keep Transformation清除父子链接保留变换结果 ⇒ 右侧Properties特性栏里圆锥体的坐标是(3,0,0),与计算结果一致
  • 继续上例 ⇒ Ctrl Z 撤销清除父子链接的操作 ⇒ 现在圆锥体是被选中状态 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent Inverse清除父物体反向坐标 ⇒ 可以看到,圆锥体移动了(3,3,0)个单位,与立方体重合在了一起

  因为清除父物体反向坐标之后,子物体的Global全局坐标计算公式就不再把父物体反向坐标计算在内,公式变成了:子物体目前的全局坐标(6,3,0) = 父物体目前的全局坐标(6,3,0) + 子物体自己独立移动的坐标(0,0,0),所以圆锥体与立方体就重合在一起了。注意:对于选中的子物体,清除父物体反向坐标只能有效执行一次,且子物体仍保持着父子链接关系。

  • 继续上例 ⇒ Ctrl Z 撤销刚才的操作 ⇒ G 移动 ⇒ 移动鼠标把圆锥体拖动到任意位置,点击左键确定 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent Inverse清除父物体反向坐标 ⇒ 可以看到,圆锥体依然是移动了(3,3,0)个单位,但没有和立方体重合,因为子物体曾经自己独立移动了一段距离

Blender-tutorial 2-4-1 04.png

  • 继续上例 ⇒ Ctrl Alt Z 撤销历史操作 ⇒ 在弹出的Undo History撤销历史菜单中选择Add Cone添加圆锥体 ⇒ 现在回到了Cube立方体坐标是(3,3,0),Cone圆锥体坐标是(0,0,0)但还没创建父子链接的状态 ⇒ G 移动 ⇒ Z 限定Z轴 ⇒ 1 圆锥体向上移动1个单位,回车确定 ⇒ Shift鼠标右键加选Cube立方体 ⇒ Ctrl P 创建父子链接 ⇒ 在弹出对话框中点击Object物体确定 ⇒ 现在Cube立方体是父物体,Cone圆锥体是子物体 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent Inverse清除父物体反向坐标 ⇒ 可以看到,圆锥体与立方体重合在了一起,但圆锥体比立方体高出了一个单位
  • 清除父物体反向坐标之后,子物体的Global全局坐标的计算公式:子物体目前的全局坐标(3,3,1) = 父物体目前的全局坐标(3,3,0) + 子物体自己独立移动的坐标(0,0,1)

  如果想把子物体移动到父物体相同位置上,也就是让子物体的原点完全与父物体的原点重合,可以使用快捷键Alt O,或执行Object物体菜单中的Clear清除命令里的Origin原点清零命令项(请参考第 2.1.7 节)。

  • 继续上例 ⇒ 现在圆锥体是被选中状态 ⇒ Alt O 原点清零 ⇒ 原本比立方体高出一头的圆锥体完全缩到了立方体内部 ⇒ 看右侧Properties特性栏,圆锥体的坐标仍是(0,0,1) ⇒ G 移动 ⇒ Y 限定Y轴 ⇒ -3 圆锥体向左移动3个单位,回车确定 ⇒ 现在圆锥体出现在立方体的左边
  • 继续上例 ⇒ 现在圆锥体是被选中状态 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent Inverse清除父物体反向坐标 ⇒ 可以看到,圆锥体稍稍向上移动了一个单位,公式:子物体目前的全局坐标(3,0,1) = 父物体目前的全局坐标(3,3,0) + 子物体自己独立移动的坐标(0,-3,1) ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent清除父子链接 ⇒ 可以看到,圆锥体与立方体之间的虚线不见了,圆锥体移动到了(0,-3,1)坐标上

  Blender还可以在一开始建立父子链接时,就预先指定Set the object's parenting without setting the inverse parent correction为物体创建没有设置父物体反向坐标校正的父子链接。方法是按下快捷键Shift Ctrl P,这时会弹出一个Make Parent without Inverse创建无反向坐标父子链接对话框,点击确认即可。这个功能常被用在CAD设计中。

Blender-tutorial 2-4-1 05.png

  • 继续上例 ⇒ 现在圆锥体是被选中状态 ⇒ 右侧Properties特性栏Location位置项目里把圆锥体的坐标全部改为0 ⇒ 现在回到了父物体Cube立方体坐标是(3,3,0),子物体Cone圆锥体坐标是(0,0,0)的状态但还没创建父子链接的状态 ⇒ 鼠标右键点击加选立方体 ⇒ Shift Ctrl P 创建无反向坐标父子链接 ⇒ 在弹出的对话框中点击Make Parent without Inverse确认 ⇒ 可以看到圆锥体与立方体重合在一起
  • 继续上例 ⇒ 按着Alt键不放,鼠标右键点击立方体中央 ⇒ 在弹出的菜单中选择Cone圆锥体 ⇒ G 移动 ⇒ Y 限定Y轴 ⇒ -3 把圆锥体向左移动3个单位 ⇒ 鼠标右键点击选中立方体 ⇒ G 移动 ⇒ X 限定X轴 ⇒ 3 移动立方体3个单位,回车键确定 ⇒ 此时圆锥体也跟随着立方体一起移动,子物体的Global全局坐标的计算公式:子物体目前的全局坐标(6,0,0) = 父物体目前的全局坐标(6,3,0) + 子物体自己独立移动的坐标(0,-3,0)
  • 继续上例 ⇒ 鼠标右键点击选中圆锥体 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent Inverse清除父物体反向坐标 ⇒ 圆锥体一动不动 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear and Keep Transformation清除父子链接保留变换结果 ⇒ 可以看到,圆锥体与立方体之间的虚线不见了,圆锥体保持在原地不动 ⇒ 右侧Properties特性栏里圆锥体的坐标是(6,0,0),与计算结果一致
  • 继续上例 ⇒ Ctrl Z 撤销清除父子链接的操作 ⇒ 现在圆锥体是被选中状态 ⇒ Alt P 清除父子链接 ⇒ 在弹出的对话框里选择Clear Parent清除父子链接 ⇒ 可以看到,圆锥体与立方体之间的虚线不见了,圆锥体移动到了(0,-3,0)坐标上


— 返回目录 —