使用布尔修改器

本主题提供了使用布尔修改器的疑难解答提示和最佳实践。

疑难解答提示

下表列出了常见的布尔修改器问题和可能的解决方案。

问题

可能的解决方案

基础对象是自相交和/或开放网格,并且不生成布尔结果。

在执行布尔运算之前,对任何自相交和/或开放网格对象(如茶壶基本体)使用补洞修改器

反转的运算对象生成不可预测的布尔结果

不应反转网格,而是应生成一个非常大的长方体或其他以网格为中心(但不接触)的基本体,并使用布尔运算添加运算对象从该几何体中减去网格。将结果转化为可编辑网格,然后删除长方体的面。这将生成与布尔运算兼容的正确反转网格。

最佳实践

以下最佳实践可帮助您使用布尔修改器获得精确结果:

最佳实践

其他信息(如果适用)

运算对象的曲面拓扑必须完整

运算对象曲面必须连续且闭合。其中不得包含:
  • 缺失面或重叠面
  • 未焊接的顶点
布尔算法会尝试更正不完整的运算对象;但是,结果可能并不理想。要手动检查几何体中的洞,请使用 STL 检查修改器或测量工具。要填充洞,请使用补洞修改器
注: 如果运算对象不是无间隙的,则在“运算对象”列表中运算对象的旁边会显示一个点三角形指示符:

请参见布尔修改器“运算对象”卷展栏

运算对象的面法线在所有曲面上必须保持一致

翻转的法线可能会产生意外的结果。
要手动更正法线问题,请执行下列操作之一:
  • 在视口中启用明暗处理,并查找看起来内部外翻或不正确的对象
  • 在“可编辑网格”>“面”子对象层级 >“曲面属性”卷展栏中,使用“法线”参数来修复法线。

运算对象的面必须是平面

非平面形状中的面可能会导致布尔错误。

在运算对象之间保持相似的复杂性

当运算对象具有相似的复杂性时,布尔修改器的工作效果最佳。

例如,如果在没有任何分段的长方体中减去一个由许多面和顶点构成的复杂对象,则会获得许多很容易产生渲染错误的细长的面。在此情况下,增加长方体分段的数量可改善结果。

避免缩放“运算对象”列表中的第一个运算对象

如果缩放“运算对象”列表中的第一个运算对象,可能会导致后续添加的运算对象出现不可预测的缩放行为。