布尔对象通过对两个或多个其他对象执行布尔运算将它们组合起来。ProBoolean 提供了一系列功能,例如一次合并多个对象的能力,每个使用不同的布尔操作。
ProBoolean 还可以自动将布尔结果细分为四边形面,这有助于将网格平滑和涡轮平滑。
ProBoolean 和 ProCutter 将纹理坐标、顶点颜色、可选材质和贴图从运算对象传输到最终结果。可以选择将运算对象材质应用于所得到的面,也可以保留原始材质。如果其中一个原始运算对象具有材质贴图或顶点颜色,则所得到的面是由于运算对象保持这些图形属性获得的。但是,当纹理坐标或顶点颜色存在时,不能移除共面的面,因此所得到的网格质量会降低。我们建议在 ProBoolean 运算之后应用纹理。
ProBoolean 提供了 2 个用于应用材质的选项,这两个选项在“参数”卷展栏的“应用材质”组中提供(请参见上图)。默认方法是“应用运算对象材质”,该方法可将操作对象材质应用于所得到的面。另一种方法“保留原始材质”会使所得到的面使用在布尔运算中第一个选定对象的材质。
下图显示了两种方法的区别。布尔运算从左侧图的一个红色的长方体和一个蓝色的球体开始。该长方体用作基本对象,球体是减去的运算对象。使用默认的“应用运算对象材质”选项给出在图中心显示的结果。选择“保留原始材质”会产生在图右侧显示的结果。
左:原始运算对象
中:“应用运算对象材质”处于激活状态
右:“保留原始材质”处于激活状态
ProBoolean 支持并集、交集、差集、合并、附加和插入。前三个运算与标准布尔复合对象中执行的运算很相似。“合集”运算相交并组合两个网格,不用移除任何原始多边形。对于需要有选择地移除网格的某些部分的情况,这可能很有用。
附加操作可将多个对象合并成一个对象,而不影响各对象的拓扑;各对象实质上是复合对象中的独立元素。而插入操作会从操作对象 B 减去操作对象 A 的边界图形,然后用操作对象 A 替换切掉的部分。
还支持的是布尔运算的两个变体:盖印和切面切割器。“盖印”选项在运算对象和原始网格中插入(盖印)相交边,而不用移除或添加面。“盖印”只分割面,并将新边添加到基本对象(原始选定对象)的网格中。切面切割器执行指定的布尔运算,但不会将运算对象的面添加到原始网格中。可以使用它在网格中剪切一个洞,或获取网格在其他对象内部的部分。
当从“修改”面板中访问 ProBoolean 或 ProCutter 对象时,可以将运算对象添加到现有的集合中。您还可以移除和变换(移动、旋转或缩放)操作对象。
ProBoolean 和 ProCutter 具有内置的百分数功能。通常情况下,如果将百分数与布尔运算结合在一起,则效果会很更好。原因是布尔对象包含有关哪些边是相交边的元信息。百分数功能将考虑该信息,并使用它正确保持相交边。
当对文本对象执行布尔操作时,应确保字符彼此不相交,并且每个字母都是闭合的。此外,用这种方法很容易不小心创建放样对象和 NURBS 对象,以致产生自相交。借助放样对象,检查端点以及放样曲线弯曲处的点。
要创建 ProBoolean 复合对象,请执行以下操作:
当“修改”面板处于活动状态时,可以通过单击“开始拾取”按钮,然后拾取要添加的对象将这些对象添加到选定的 ProBoolean 对象中。
示例:要对子对象运算更改现有的布尔,请执行以下操作:
ProBoolean 提供了组合各种布尔运算的诸多灵活性,并提供了在构建布尔对象时以及构建了布尔对象后,更改运算对象组合方式的能力。
顶部:“前”视口
底部:“透视”视口
结果是球体和长方体相交,即代表两个对象都拥有的共同 体积的一个对象。在这种情况下,这个对象就是是球体和长方体的重叠部分。尽管球体和长方体在此处都没有材质,但是所得到的结果使用创建长方体时,最初由 3ds Max 随机指定给它的默认颜色。
注意,“开始拾取”保持活动状态(蓝色、黄色,具体取决于颜色方案)。这意味着可以继续拾取对象以合并到布尔对象中,执行操作时也可以更改运算。
所得到的结果是小的长方体和球体与较大长方体交集的并集(增加)。再次将原始对象的颜色指定给结果。
圆柱体的相交体积是从以前的布尔结果中减去得到的。
注意,在“参数”卷展栏底部的层次视图列表中,列出了用于构建布尔对象的运算对象和运算的整个历史。用“并集”合并 Box01 开始布尔运算,然后用“交集”合并 Sphere01,用“并集”合并 Box02,最后,用“差集”合并 Cylinder01。
可以使用“子对象运算”组中的列表和其他控件来更改结果。
更改元素的结果是,圆柱体会作为增加的体积而非减少的体积出现在布尔对象中。另外,它在列表中的项更改为“并集 - Cylinder01”,显示现在对圆柱体进行的布尔运算是“并集”。
还可以更改运算的顺序,这可能会影响结果。
注意,其在列表中的位置 1 出现在“重排运算对象”按钮旁边的可编辑字段中。
“交集 - Sphere01”项跳到列表结尾。
此时,布尔对象会发生很大变化。您可以通过列表中的新顺序获知如何得到此形状:利用“并集”组合两个长方体和圆柱体,将它们的体积增加到一起,然后利用“交集”将球体合并到得到的结果中,只留下所有四个对象共有的体积。
选择未修改的 ProBoolean 对象之后,修改器堆栈会显示单个的可扩展条目:ProBoolean。
开此条目(通过单击 + 图标)会出现一个子分支:运算对象。
要独立于整个对象转换 ProBoolean 对象中的运算对象,请单击“运算对象”分支以将其高亮显示。
然后,在视口中使用标准选择方法,或在“参数”卷展栏底部的层次视图列表中高亮显示它们的名称来选择一个或多个运算对象。
当仅选择一个运算对象时,在 ProBoolean 条目下面,对象类型(而不是其名称)会作为单独的堆栈条目出现。单击此条目可直接访问“修改”面板上的运算对象的参数。
如果“参数”卷展栏 “显示”设置为“结果”,尽管默认情况下操作对象本身不可见,但是选择操作对象可在视口中显示操作对象的三轴架或变换 Gizmo。
要查看操作对象,请将“参数”卷展栏 “显示”设置为“操作对象”。
不管运算对象是否可见,您都可以在“运算对象”子对象层级下变换并设置它们的动画,就像在 3ds Max 中处理其他任何对象一样。
通过设置所减去操作对象的位置的动画来更改 ProBoolean 对象
还可以变换和设置基础对象(即层次视图列表中的第一个对象)的动画。
选择一个单选按钮以指定如何将您拾取的下一个运算对象传输到布尔对象:
这些设置确定布尔运算对象实际如何交互。
左图:原始对象(长方体)和操作对象(小的长方体)
中图:并集运算;移除小长方体的部分。
右图:合集运算,在相交处显示新边
长方体和球体基本体可通过附加(左)和并集(右)进行合并
实际上,插入操作会将第一个操作对象视为液体体积,因此,如果插入的操作对象存在孔洞或存在使“液体”进入其体积的某些其他特征,则的确会将其视为液体体积。下图显示了此效果的示例,其中明暗处理的几何体在左侧而线框对应物在右侧。
一个已放入液体中的碗;如果碗上有洞或发生了倾斜,则液体会进入相应的空处。
左:原始对象(长方体)和运算对象(文本)
中:标准差集运算
右:带有盖印的差集
1. 原始对象(长方体)和运算对象(球体)
2. 标准差集运算
3. 启用切面时的差集
4. 标准交集运算
5. 启用切面时的交集
选择下面一个显示模式。
选择下面一个材质应用模式:
这些函数对在层次视图列表中高亮显示的运算对象进行运算(参见下面)。
在“参数”卷展栏底部的层次视图显示定义选定网格的所有布尔运算的列表。每次执行新的布尔运算时,3ds Max 都会向该列表中添加一个条目。
通过单击层次视图列表中要修改的运算对象将其高亮显示。要高亮显示列表中的多个连续项,请单击第一项,然后按住 Shift 键并单击最后一项。要高亮显示多个非连续条目,请按住 Ctrl 键并单击。要从列表条目中删除高亮显示的项,请按住 Alt 键并单击高亮显示的项。
在修改器堆栈的 ProBoolean 层级,可以只对高亮显示的项上执行子对象运。在“操作对象”子对象层级上,可以转换高亮显示的操作对象,并执行子对象操作;有关详细信息,请参见修改器堆栈。
这些选项确定在进行更改后,何时在布尔对象上执行更新。选择下列选项之一:
1. 消减 %=0.0
2. 消减 %=30.0
3. 消减 %=60.0
4. 消减 %=80.0
这些选项启用布尔对象的四边形镶嵌。这会使该对象适合于编辑细分曲面和平滑网格。它还会使该对象适合于转换为“可编辑多边形”格式。
有关此选项的进一步讨论,请参见主题四边形网格和平滑。
此选项确定如何处理平面上的多边形。选择下列选项之一: