本页目录
教程网/Blender 5.1/修改器
Blender 5.1 · 27/51

5.5 布尔 Boolean

给定物体 A 和物体 B:

布尔运算让两个物体做"加/减/交"——打孔、镂空、合并,一键完成。但布尔是双刃剑,用得好省事,用不好拓扑灾难。


一、布尔的三种运算

给定物体 A 和物体 B:

运算符号结果
并集(Union)A ∪ BA 和 B 合并成一个
差集(Difference)A − BA 中减去 B 的部分(打孔)
交集(Intersect)A ∩ B只保留 A 和 B 重叠的部分

二、基本使用

  1. 建一个主物体 A(比如立方体)
  2. 建一个辅助物体 B(比如球)
  3. 把 B 挪到和 A 重叠的位置
  4. 选中 A
  5. 扳手 → 添加修改器 → 生成 → 布尔
  6. 选择运算类型(差集最常用)
  7. 在"对象"槽里指定 B
  8. 应用后得到结果

三、参数详解

解算器(Solver)

Blender 提供两种解算器:

  • 精准(Exact):新手默认用这个。结果准确,但慢。
  • 快速(Fast):速度快,但要求输入是流形(无开口)。

自相交(Self Intersect)

勾选可以处理有自交几何的情况。代价是更慢。

孔洞断口(Hole Tolerant)

对于有洞的非流形网格能更可靠地运算。


四、布尔的陷阱

陷阱 1:拓扑灾难

布尔会留下三角面和 N-gon,经常不是漂亮的四边面。如果之后还要细分或变形,这会成为灾难。

解决:

  • 运算后手动清理拓扑(Alt + J 三转四,手动重连)
  • 或者避免在需要精细拓扑的地方用布尔

陷阱 2:重叠几何导致错误

两个完全重合的面会让布尔失败或出错。确保 B 物体的边界穿透 A,不要卡在面上。

陷阱 3:未应用缩放

布尔对缩放敏感。先 Ctrl + A → 缩放。

陷阱 4:法线错误

A 或 B 有反向法线会让布尔结果不对。先 Shift + N 重算。


五、实战:在墙上开窗

  1. 建一个立方体作为墙(S X 3, S Z 2)
  2. 建一个立方体作为窗口(S X 0.8, S Z 0.8)
  3. 把窗户物体挪到墙上
  4. 选墙,加布尔修改器
  5. 差集,对象选窗户
  6. 应用后,墙上有一个方形洞
  7. 可以把窗户物体隐藏或删除

六、实战:金属板打孔

  1. 平面 S 5 拉大
  2. 实体化修改器加厚度 0.1
  3. 加一个小圆柱作为打孔工具
  4. 用阵列修改器把圆柱变成 10×10 的阵列
  5. 选平面,加布尔 → 差集 → 对象 = 圆柱阵列
  6. 应用所有修改器
  7. 得到一块带孔的金属板

七、实战:机械镂空

  1. 立方体 A,用各种小物体做差集
  2. 每次差集后应用,再做下一个
  3. 逐步雕刻出复杂的镂空结构

八、布尔的隐藏魔法:线框 Overlay

让辅助物体 B 隐藏但参与布尔:

  1. 加布尔修改器后,在大纲视图里把 B 的眼睛图标关闭
  2. B 不显示了,但布尔仍然生效
  3. 需要调整时再打开

这样既保持了非破坏性,又有干净的视图。

线框显示

也可以把 B 物体的显示设为"线框"(物体属性 → 视口显示 → 显示为 → 线框)。这样 B 以半透明线框显示,方便调整,但不影响视觉效果。


九、快速布尔的插件

Blender 自带了一个叫 Bool Tool 的插件(偏好设置 → 插件 → 搜索 bool tool):

启用后,选两个物体按快捷键:

  • Ctrl + -:差集
  • Ctrl + +:合集
  • Ctrl + *:交集

省去了手动配置修改器的步骤。


十、布尔 vs 编辑模式雕刻

对于简单的形状改变(打孔、切角),编辑模式手动操作其实更好:

  • 拓扑干净
  • 可控性强

布尔适合:

  • 形状复杂难以手工
  • 不追求拓扑完美
  • 快速迭代

十一、不应用的布尔

有时候保持布尔修改器不应用更好:

  • 调整 B 的位置 → A 的孔也跟着动
  • 随时可以取消
  • 适合场景构图和草图阶段

但是要注意:多个非破坏性布尔会严重拖慢视口。


动手练习 5.5

练习 A:立方体挖球洞

  1. 默认立方体
  2. Shift + A 加球,S 0.8 缩小,拖到立方体一侧
  3. 选立方体,加布尔 → 差集 → 对象 = 球
  4. 看立方体被挖了一个球形洞
  5. 点应用 → 进编辑模式观察拓扑

练习 B:窗户

  1. 立方体拉成墙
  2. 加一个小立方体作为窗口
  3. 差集 → 应用
  4. 再加一个更小的立方体作为窗棂
  5. 差集 → 应用
  6. 得到带十字窗的墙

练习 C:打孔板

  1. 平面,加实体化修改器(0.1 厚)
  2. 加圆柱,小
  3. 圆柱加两个阵列(X 和 Y 方向)形成网格
  4. 选平面,布尔差集对象=圆柱
  5. 应用所有
  6. 得到网格孔板

练习 D:线框显示

  1. 两个立方体重叠
  2. 给其中一个加布尔(另一个为对象)
  3. 把"另一个"设为线框显示
  4. 看看效果如何——场景干净但布尔仍然工作

上一节 ← 5.4 阵列 Array | 下一节 → 5.6 其他常用修改器

5.5 布尔 Boolean | DogeOW 教程网