在本教程中,我们将学习如何使用 Blender 的 Copy Rotation Constraint,一次性旋转多个对象,并且让每个对象都围绕各自的 Origin 进行旋转,具体做法是复制一个参考对象的旋转。
本教程的视频版本目前尚未提供该语言版本。
视频文字稿
大家好!
在本教程中,我们将学习如何使用 Blender 的 Copy Rotation Constraint,一次性旋转多个对象,并且让每个对象都围绕各自的 Origin 进行旋转,具体做法是复制一个参考对象的旋转。
本教程使用的是 Blender 3.3 版本制作的,不过 Copy Rotation Constraint 已经在多个版本中存在,并且在未来的版本中也很可能继续提供。
这是一个基础教程,面向刚开始接触 Blender 的用户。我们将涉及一些内容,例如将一个对象拆分为多个对象、几何体的 Origin,以及当然还有 Copy Rotation Constraint。
为了展示一个实际示例,我会使用一个我自己创建的 3D 模型,用来表示百叶窗。由于学习新东西的最好方式之一就是亲自动手尝试,你可以通过视频描述中的链接免费下载这个 3D 模型。
好了,让我们开始吧!首先,打开 window-blind.blend 文件,来看一下它的内容:其中包含一个单一对象,这个对象同时包括窗帘的结构和单独的叶片。

我们要做的是将每一片叶片分离出来,这样就可以分别旋转它们,并且每一片都围绕自己的水平轴旋转,在这个例子中,这个轴与全局 X 轴重合。
因此,我们不仅要把叶片从其余结构中分离出来,还需要把每一片叶片彼此分离,得到多个独立的对象,并且每个对象都要有正确设置的 Origin。
随后,我们将研究如何把每一片叶片的旋转关联到其中一片叶片的旋转上,这一片将作为其他所有叶片的参考对象。
首先,我们把所有叶片从其余结构中分离出来。为此,我们需要切换到 Edit Mode,只选择叶片,按下 P 键,然后在屏幕上出现的 Separate 菜单中选择 Selection。

只选择叶片的方法有好几种,我会在这里给你展示几种,这样你可以选择自己更喜欢的一种。如果你之前不熟悉这些方法,也可以顺便学会它们,在其他情况下同样会很有用。
第一种方法是快速选中所有叶片上的少量顶点,例如使用 Box Select 工具,它的快捷键是 B 键,然后使用 Select More 工具来扩展选区,它的快捷键是 CTRL 加 Numpad Plus,直到所有叶片都被选中。

第二种方法是切换到 Vertices 选择模式,然后将鼠标放在每一片叶片的某个顶点上,按下 L 键。L 键正是 Linked 操作的快捷键,当按下这个键时,会选中与鼠标指针下方顶点相连接的所有顶点。

由于在这个对象中叶片很多,而其他结构元素相对较少,你也可以使用反向选择的方法,这就是第三种方式:我们先用 L 键选中结构中的其他元素,然后使用 CTRL I 来反转选择。

无论使用哪一种方法,只要叶片被选中,我们就按下 P 键,并在 Separate 菜单中选择 Selection。

现在,叶片已经构成了一个新的独立对象,它的 Origin 位于与其来源对象相同的位置。
不过,在重新设置 Origin 之前,我们还需要让每一片叶片都成为一个单独的对象。
在这种情况下,我们同样会使用 Separate 操作,不过这一次选择会很简单:只需要切换到 Edit Mode,按 A 键选中所有几何体,按下 P 键,然后这一次选择 By Loose Parts。

现在,每一片叶片都是一个独立的对象了,但所有叶片的 Origin 仍然位于它们所来源的那个对象的 Origin 位置,因此现在我们需要为每一片叶片正确设置 Origin。
对于这种类型的对象来说,我们比较幸运,因为可以直接将 Origin 设置为每一片叶片几何体的中心。
要选中所有叶片,最快的方法可能是先选中原始的结构对象,然后使用组合键 CTRL I 反转选择。

此时,我们可以在选中的对象上点击右键,选择 Set Origin to Geometry 这个选项。

现在尝试让每一片叶片围绕全局 X 轴旋转,可以看到叶片都会正确地旋转。
接下来,我们选择其中一片叶片作为其他所有叶片的参考对象,例如最上面的那一片,并将它重命名为 TARGET。

然后,选择最靠近 TARGET 的那一片叶片,打开 Properties 窗口中的 Constraints 选项卡,为这个对象添加一个 Copy Rotation 类型的 Constraint。

在该 Constraint 的 Target 字段中,选择我们刚刚重命名为 TARGET 的那一片叶片。
这个 Constraint 还提供了其他选项,但对于我们的目的来说,没有必要去深入研究它们。

为了快速将这样设置好的 Constraint 应用到所有其他叶片上,我们需要先选中所有其他叶片,最后再选中带有 Constraint 的那一片叶片,然后打开 Blender 的 Search Box,输入 Copy Constraints。
在 Search Box 中会出现 Copy Constraints to Selected Objects 这个操作符,我们选择它,并确认现在所有叶片都已经正确设置了 Copy Rotation Constraint。

不过,最有意思的测试是选中 TARGET 这片叶片,并让它绕 X 轴旋转,这样你就会看到所有其他叶片也会自动跟着一起旋转!

注意:在我的情况下,我是通过按下空格键来打开 Blender 的 Search Box。这个快捷键可以在 Preferences 窗口中的 Keymap 部分进行设置。

那么,总结一下:在这个简短的教程中,我们学习了如何将多个对象从一个单一对象中分离出来,如何设置它们的 Origin,以及如何使用 Copy Rotation Constraint 让它们复制一个参考对象的旋转。别忘了下载这个 3D 模型,这样你就可以亲自尝试刚刚学到的内容了!
希望这个教程对你有所帮助!我们下次再见!