Metlivi 博客

如何在局部形状调整中选择 Bézier 曲线还是 B 样条曲线

如果你想直接控制虚拟角色轮廓上的关键点及切线方向,请选择分段 Bézier 路径。如果你想通过影响范围有限的控制点来重塑连续轮廓,请选择 B 样条。关键在于编辑会影响多大范围,以及这个范围是否符合你想要修改的特征。

本指南聚焦于在外部曲线编辑器中细化虚拟角色的剪影:调整耳朵、脸颊或尾巴,同时保留周围轮廓。以下建议会将曲线特性转化为编辑选择,而不是假定某一种曲线总是更适合局部调整。

2026年10月29日阅读约需 7 分钟作者:Metlivi Editorial Team
第 1 节

对于角色轮廓,“局部调整”是什么意思?

选择曲线之前,先明确想要的改动,以及必须保持不变的边界。“让脸颊更圆,同时固定耳根和下巴”就是一个有用的说明。“改善轮廓”则留下了太多未确定之处。

局部性有两个层面。数学上的局部性描述曲线的哪一部分会响应控制点。实际上的局部性则关注受影响区域是否符合角色特征的范围。即使数学上属于局部调整,影响范围仍可能超出小小的脸颊,波及相邻特征。

单个 Bézier 曲线段在该段内部具有全局控制:移动一个控制点会改变曲线段内部的形状。B 样条则支持局部修改,一个控制点只会影响有界的参数区间。密歇根理工大学的原始教学资料在修改控制点中展示了这一区别。

对于你的绘图,可以把这一区别转化为一个简单要求:确定允许移动的轮廓区段,然后检查所选控制点的影响是否局限在其中。

第 2 节

为什么分段 Bézier 路径仍然适合局部编辑?

“Bézier 曲线缺乏局部控制”这句话需要加以限定:它描述的是单个 Bézier 曲线段。角色轮廓可以由多个曲线段组成。只要共享锚点和编辑器约束保持不变,编辑属于某个曲线段的控制点就不必改变远处的曲线段。

如果一个较长的曲线段覆盖了脸颊和大半个头部,其影响范围可能过大。细分可以用较短的 Bézier 曲线段替换它,同时重现原有形状。之后,你就可以编辑相关部分。细分 Bézier 曲线介绍了细分过程,以及如何用它隔离不理想的区域。

对于角色绘制,如果你能在特征周围设置合适的边界,Bézier 曲线就是很好的起点。把一个锚点放在耳根,另一个放在脸颊过渡处附近,然后调整中间的曲线段。把这些位置视为设计决策;到处添加锚点会让轮廓更难理解。

共享锚点需要特别小心。移动它会改变相邻曲线段的衔接点。即使固定锚点,调整所选一侧时,彼此关联的控制柄也可能改变相邻曲线段。

第 3 节

什么时候 B 样条能更好地控制流畅的轮廓?

B 样条将次数与控制点数量分开。因此,你可以用许多控制点描述较长的轮廓,同时保持较低的多项式次数。它的节点向量会将参数域划分为多个区间,并帮助确定每个控制点的影响范围。这些特性记录在B 样条曲线:重要性质中。

对于索引为 i、次数为 p 的曲线,其控制点影响范围由节点 uᵢ 和 uᵢ₊ₚ₊₁ 界定。对于三次 B 样条,影响范围最多涵盖四个非零节点区间。这些区间是参数区间,因此不一定对应可见轮廓上等长的距离。其支撑区间规则推导见B 样条曲线:移动控制点。

来看一个示意例子:一条三次曲线的节点向量为 0, 0, 0, 0, 1, 2, 3, 4, 5, 5, 5, 5。移动控制点 P₃(采用从零开始的索引)可能会影响参数值 0 到 4 之间的曲线。这种影响范围有界,但覆盖了五个非零区间中的四个。因此,即使是短曲线,编辑的影响也可能比预期更广。

如果 B 样条控制点的影响范围正好符合你想重塑的流畅区段,例如较长的尾部轮廓,就可以选择它们。如果每次调整都会扰动你想保留的邻近特征,请先细化曲线表示,再继续编辑。

第 4 节

平滑衔接和刻意设置的尖角应如何影响选择?

对于分段 Bézier 轮廓,请检查每个编辑过的衔接点两侧的控制柄。Bézier 曲线端点的切线方向由控制多边形的首条边和末条边决定。在规则的衔接点上,共线且从共享锚点向两侧延伸的控制柄可以形成一致的切线方向,这称为 G1 连续性。若要使一阶导数匹配,即达到 C1 连续性,则还需在控制柄长度和曲线段次数之间建立额外关系。参见Bézier 曲线的导数。

对于静态角色剪影,先检查可见的过渡:脸颊与头部的衔接是否流畅,还是出现了折角?切线对齐很有用,但它本身并不能保证曲率在衔接处均匀变化。

编辑器设置也很重要。Inkscape 指南区分了控制柄独立的尖角节点、控制柄对齐的平滑节点、控制柄对齐且长度相等的对称节点,以及控制柄自动调整的自动平滑节点。这些行为解释了为什么看似局限于一侧的编辑可能影响节点另一侧。参见关于节点类型。

B 样条的平滑度取决于次数和节点重数。具有简单内节点的三次样条曲线具有 C2 连续性;重复节点会降低该位置所需的连续性。因此,仅说“B 样条”并不能说明每个衔接处有多平滑。相关关系见B 样条曲线:重要性质。

如果要刻意设计一个尖锐的耳朵,可以使用两侧控制柄独立的 Bézier 尖角。如果要绘制连贯的圆滑轮廓,且其节点和控制点结构便于塑造整个过渡,则可以考虑 B 样条。

第 5 节

如何在不改变起始形状的前提下增加更精细的控制?

先细化,再重塑。将这两个操作分开,你就能看出意外变化是由增加控制点还是移动控制点造成的。

对于 Bézier 曲线,请在适当位置进行保形细分。细分后得到的曲线段保留原次数,并共同重现起始曲线段。细分 Bézier 曲线介绍了这种构造。细分后,如果周围剪影必须保持固定,请保留边界锚点和切线关系。

对于 B 样条,如果编辑器支持,请使用正规的节点插入。节点插入会添加一个节点,并重新计算相关控制点,同时保持曲线几何形状不变。直接在控制多边形中随意添加一个点则是另一种操作。这一区别及其构造见B 样条曲线:节点插入。

完成任一操作后,先将细化后的轮廓与保存的副本对比,再调整形状。之后一次只移动一个控制点。只有当当前曲线表示无法在你设定的边界内实现预期特征时,才添加更多细节。

第 6 节

下一次编辑角色时应选择哪种曲线?

确定允许移动的区域后,请使用这份决策指南。以下是根据上述特性得出的实用建议,并非应用程序之间的实测比较。

编辑需求 起始选择 需要确认的事项
调整固定关键点之间的单个特征 分段 Bézier 曲线段边界符合特征范围;共享控制柄的行为符合预期
反复重塑较长且流畅的轮廓 B 样条 控制点的影响范围符合预期区域
创建刻意设计的尖点或尖角 控制柄独立的 Bézier 两侧都保持预期方向
细化已经满意的 Bézier 轮廓 保留 Bézier,并在需要处细分 细分能保留起始剪影
让 B 样条调整的目标范围更窄 保留 B 样条,并在支持的情况下插入节点 控制点移动前,插入节点能保持曲线几何形状

做决定时,应优先考虑现有轮廓。如果它当前的曲线类型已经支持所需编辑,就在原曲线上细化。切换曲线表示会增加一个需要评估的操作,而对于单次脸颊或耳朵调整,可能没什么好处。

第 7 节

如何检验选择是否合适?

在角色轮廓的副本上进行编辑边界测试。这样你就能具体比较不同曲线表示,而不必依赖它们的名称。

  1. 说明改动。例如,加宽脸颊,同时保留耳根和下巴。
  2. 标出允许编辑的区域。在特征周围确定两个可见的边界位置。
  3. 检查曲线表示。找出会影响这一区域的 Bézier 曲线段或 B 样条控制点。
  4. 进行一次小幅编辑。观察目标特征和相邻轮廓。
  5. 检查边界。如果改动越过边界,请检查控制柄是否联动,或先细化曲线,再重试。
  6. 以工作尺寸和显示尺寸检查结果。查看特征形状及其过渡,并确认调整后的特征在预期尺寸下仍清晰可见。

如果脸颊位于合适的 Bézier 锚点之间,只需调整控制柄就可能完成任务,无需大幅修改曲线结构。对于需要多次调整相邻部分的流畅轮廓,B 样条控制点可能更便于编辑。让允许的编辑区域来指导选择:保留能让你充分塑造特征,同时维持现有满意轮廓的曲线表示。

第 8 节

来源

相关阅读

继续探索这个主题