跳转到内容

Blender 3D:从新手到专业/贝塞尔曲线入门

来自维基教科书,开放世界中的开放书籍


注意:有些图片已经过时。

贝塞尔曲线

[编辑 | 编辑源代码]
它应该看起来像这样。
  • 首先启动一个新的Blender项目,并删除默认的立方体。
  • 按下: SHIFT + A  → 曲线 → 贝塞尔曲线来创建一个新的曲线。切换到顶视图  NUM7  以获得更清晰的视图。你可能还想稍微放大一点。  TAB  进入编辑模式。

带有像马陆腿一样额外倾斜线条的黑色线就是贝塞尔曲线。白色或橙色的点是控制点,其中粉色控制柄线中间的点定义了曲线段的端点。

按下  A  取消选择,使所有控制点变黑,连接它们的线变红。你可以  RMB  点击任何点来选择它;但是,选择曲线端点会选择通过它的整个控制柄线。

你可以用通常的方式移动选定的点,使用  G :注意移动端点会导致曲线弯曲,使其始终连接到端点。仅移动控制柄末端的点会影响曲线的内部,使其弯曲得更多或更少地远离端点:尝试移动其中一个点,注意控制柄如何变长或变短,以及如何自动旋转以保持一条直线。

或者,你可以选择端点(这会选择整个控制柄,记住)并使用  R  旋转控制柄,使用  S  使其变长或变短。

分辨率

[编辑 | 编辑源代码]

在曲线上下文 在“属性”窗口中,更往下你会看到“活动样条线”面板。(这仅在编辑模式下可见。)注意“分辨率:”标签旁边的可编辑字段,可能显示“U:12”。该数字控制曲线在渲染时转换为的直线段数量;这些段越多,结果越平滑,但会增加渲染时间。

Note:

没错。尽管听起来很尴尬,但Blender实际上无法渲染曲线。它必须在渲染之前通过一系列直线段来逼近每条曲线。

此分辨率设置也用于将曲线转换为网格( ALT + C )。

扩展曲线

[编辑 | 编辑源代码]

到目前为止,你的贝塞尔曲线只有一段。你可以通过几种不同的方式添加线段。

  • 回到编辑模式, RMB  点击整个曲线的任一端的端点,并使用  E  扩展连接到同一端点的新曲线段。(我们不会说“挤出”,以免与后面讨论的不同挤出函数混淆。)
  •  RMB  点击整个曲线的任一端的端点,并  CTRL + LMB  点击新线段端点将要到达的位置;新线段将立即添加到前一个端点和新端点之间。
  • 选择单个曲线段的端点,按下  W  并从菜单中选择“细分”。这会将曲线段分成两个新的连接线段。

注意,如果在选择不是整个曲线的精确端点时  CTRL + LMB ,它会添加一个不连接到现有曲线任何部分的新控制柄。你可以从此控制柄扩展以创建一整套新的曲线段,这些曲线段仍然是同一曲线对象的一部分,即使没有线条连接此曲线段和前一段。你可以通过选择每个端点并按下  F ,用新线段连接两段独立的曲线。

你也可以在编辑模式下使用  SHIFT + A  添加新片段。

Note:

曲线不能有分支。然而,取决于你的目的,你可以通过将一段的末端重叠在另一段的顶部来模拟分支的外观。

删除点和线段

[编辑 | 编辑源代码]

你可以通过选择控制点并使用熟悉的  DEL  X  来删除它们。弹出的菜单会询问你是否要删除“已选择”的点、“线段”或“全部”。

  • “已选择”会删除所有与所选点位于同一控制柄上的点。删除曲线段的端点会删除连接的线段。删除内部端点会导致用一条从它们剩余端点之间直接穿过的新线段替换它两侧的曲线段。因此,该段所属的曲线段之后仍然是一个单独的曲线段。
  • “线段”会删除两个连接的端点之间的线段。如果两个端点都不是曲线段的端点,那么该曲线段的其余部分将变成两个不连接的段。
  • “全部”会删除所有控制点,留下一个空曲线对象!

控制柄类型

[编辑 | 编辑源代码]

到目前为止,曲线上的所有控制柄都是对齐的。这意味着相邻的曲线段保证平滑连接。如果你选择一个控制点并按下  V ,你会得到一个菜单,允许你为控制柄设置其他类型。

  • 自由意味着控制柄两侧的两个部分可以自由独立旋转,因此两个曲线段现在可以在一个角点处相遇。
  • 矢量 表示选定的手柄部分指向同一曲线段的另一端点,并且即使移动任一端点,它也会一直指向该方向。如果将另一端点指向回该方向的手柄部分也设置为“矢量”,则曲线段将变成直线。但是,只要显式移动手柄本身,它就会恢复为“自由”状态。
  • 自动 与“对齐”类似,不同之处在于 Blender 会在您移动端点时自动调整手柄的方向,以尝试保持曲线平滑。移动手柄的任一端都会将其更改回“对齐”类型。

二维与三维

[edit | edit source]

在“属性”窗口中曲线上下文的“形状”面板顶部,您会看到标有“2D”和“3D”的按钮。“2D”表示曲线的点被限制在一个平面内,而“3D”表示它们可以相对于彼此在 3D 空间中的任何位置自由定位。最初应该选择“3D”。

尝试沿 Z 轴移动一个点。现在单击“2D”按钮,您应该会看到您移动的所有点都回到与其他点相同的平面。此外,曲线上的“蜈蚣腿”应该消失了(它们的存在表明这是一个 3D 曲线)。您可以通过 TAB 进入对象模式,然后旋转 R 整个曲线绕任何所需的轴来改变此平面的方向。

闭合、填充和挤出

[edit | edit source]

每个曲线片段可以单独闭合,这意味着在片段的两个端点之间会自动添加一个额外的曲线段。这由曲线上下文的“活动样条线”面板中的“循环:U”复选框控制。每个闭合的 2D 曲线片段都会自动填充以形成一个平面。

Note:

如果两个填充的 2D 曲线片段交叉会发生什么? 如果您尝试这样做,您会看到重叠的部分将从填充区域减去,留下孔洞。那些熟悉 2D 绘图程序中填充贝塞尔曲线的各种选项的人会将其识别为奇偶填充规则

曲线也可以挤出到第三维,有效地将其变成类似于丝带的形状。在“几何”面板中查找“挤出:”可编辑字段,并在其中输入非零值以指定挤出宽度。

如果挤出一个 2D 闭合曲线,则平面将变成一个实体对象,结果将是一个棱柱——一个具有均匀但任意复杂横截面的实体形状。

缩放和倾斜

[edit | edit source]

通过指定非零挤出值将您的曲线变成丝带。更改您的视图,使其不完全从顶部或底部观看,而是以某个角度观看。请注意,丝带的宽度恒定,并且始终垂直于您的曲线平面。

选择一个端点,然后按 ALT + S 。当您移动鼠标时,您正在更改端点从其默认值 1.0 的半径,这会导致在该点对丝带宽度应用相应的比例因子。您可以在“属性”货架 N 中顶部的“变换”面板中看到(并编辑)此半径值。

选中一个端点后,现在尝试 CTRL + T 注意: 这仅对 3D 曲线有效,对 2D 曲线无效)。现在,当您移动鼠标时,您正在应用一个倾斜角,这相应地改变了丝带在该点的角度。此值也可以在“属性”货架中的“变换”面板中访问。

当您将斜角形状应用于曲线时,缩放半径和倾斜将变得特别有用——然后您将开始获得比简单丝带更复杂的形状。

NURBS 曲线

[edit | edit source]

启动一个新的 Blender 文档,并删除默认的立方体。

这一次,执行 SHIFT + A  → 曲线 → NURBS 曲线,然后 TAB 进入编辑模式。结果看起来与贝塞尔曲线有点相似,除了没有控制手柄,只有线段端点。您可以调整分配给每个控制点的权重,而不是拖动手柄。如果“属性”货架 N 不可见,请将其调出。如果您选中了一个点,则在顶部的“变换”面板中,您应该在“控制点:”标题下看到四个可编辑字段,分别标记为“X:”、“Y:”、“Z:”和“W:”。前三个当然是点的坐标;“W”值就像一个引力场强度,它吸引曲线靠近该点。尝试调整它,看看它如何影响该点附近曲线的形状。

Note:

忽略下面的“权重:”字段。 这是有不同目的的,我们不会在这里讨论。

您可以像往常一样移动端点,但没有手柄可以旋转。所有其他添加和删除端点的选项都适用于贝塞尔曲线: CTRL + LMB  E xtend, W →Subdivide, DEL eting Select/Segment/All。曲线可以是 2D/3D、挤出和循环的,每个端点都有一个 ALT + S cale 半径和一个 CTRL + T 倾斜角。在“对象属性”中的“活动样条线”面板中,还有一个“端点:U”复选框,它强制曲线通过端点(如果启用“循环”,则会忽略此选项)。

Note:

您可以在同一曲线对象中混合贝塞尔曲线和 NURBS 曲线片段。只需使用 SHIFT + A 在编辑模式下开始新的所需类型的片段即可。

 SHIFT + A →曲线→NURBS 圆插入一个 NURBS 曲线,该曲线具有八个按正方形排列的控制点,“循环:U”启用,并且角点的权重调整为使曲线成为一个精确的圆。

 SHIFT + A →曲线→路径插入一个 NURBS 曲线,该曲线具有五个在直线上排列的控制点,并且“端点:U”选项已选中。

使用哪种曲线?

[edit | edit source]

如前所述,NURBS 曲线在 CAD 应用程序中被大量使用,而贝塞尔曲线在 2D 绘图应用程序中很受欢迎。如果您要从这些应用程序导入数据,那么您将无法选择最终使用哪种曲线。

但是,如果您正在创建自己的曲线,那么您就有选择权。如果您经常使用贝塞尔曲线进行绘图,那么您应该会很熟悉它们。如果您只需要简单的曲线来变形形状或指导动画,那么 NURBS 曲线很可能就能完成任务——您甚至可以将 W 值保留为默认值,只需添加、删除和定位点以获得合适的曲线。

从二维挤出到三维

[edit | edit source]

您可能已经注意到您只能在二维中修改曲线,现在是时候探索第三维了!挤出是在您定义二维“轮廓”形状时,它会“扫描”空间以创建体积。


新手注意 贝塞尔曲线不是真正的圆,只是近似值。 对于艺术目的,这可能并不重要,但对于精确建模,应该只使用 NURBS 圆。 这是由于描述贝塞尔曲线和 NURBS 曲线的数学方法所致。


创建一个简单的贝塞尔曲线面

[编辑 | 编辑源代码]
  • 创建一个曲线并填充它:确保你处于 2D 模式,使用上面的步骤创建一个简单的形状,并使用以下方法填充它

 ALT + C .

新手注意: 你可能会发现使用贝塞尔圆比填充离散曲线更容易。



请注意,上面面部的眼睛和嘴巴是同一个曲线对象的组成部分。Blender 只能识别填充曲线中的孔洞,前提是这些孔洞与外部曲线属于同一个对象。 如果你创建了四个独立的曲线,那么填充外部曲线将覆盖眼睛和嘴巴。 要创建一个曲线的分离部分,请进入编辑模式并取消选择所有点( A )。 然后使用  CTRL + LMB  创建新的点(你需要两个或三个)。 或者,你可以在对象模式下将它们创建为独立的曲线对象,然后使用  CTRL + J  将它们合并。 如果你不想让很多控制柄和“蜈蚣腿”分散你的注意力,你可能会更喜欢这种替代方法。

挤出简单面

[编辑 | 编辑源代码]

设置挤出深度:点击对象数据按钮,找到几何体面板。(旧版本:在按钮窗口的编辑选项卡中找到“曲线和曲面”框。) 这里有一个名为挤出的滑块。 将挤出深度设置为除 0 之外的值,可能小于 1。


贝塞尔几何体

瞧,你的 2D 曲线已经变成了一个整洁的 3D 结构。 好消息是,你仍然可以像 2D 一样编辑曲线,并且更改将实时更新。

倒角简单面

[编辑 | 编辑源代码]

现在你已经有了一个挤出的形状,你应该开始玩一些其他可用的曲线设置,所以这里描述了倒角深度和倒角分辨率滑块的工作原理。

尝试将倒角深度设置为一个较小的值,例如 0.02。 这将切除所有尖锐的边缘,并在整个形状周围产生倒角效果。

如你所料,倒角分辨率决定了算法分割边的次数。 大于 0 的值会导致平滑的曲线而不是尖锐的边缘,但会显著增加形状中的顶点数。

尝试将分辨率设置为 3 或 4,你应该会看到类似这样的效果


华夏公益教科书