第二章 动态布尔系统

1.前言
ZBrush除了其他布尔功能外如DynaMesh和Remesh All,还包括一个完整的布尔系统。这些功能都使用SubTool操作定义SubTool是否将被用作加法,减法或求交进行布尔。此布尔工具由两个主要元素组成:
•"渲染>>渲染布尔"子选项板中的实时布尔模式,让您可以实时预览SubTools上的布尔运算结果。 您可以移动,缩放,旋转,复制,改变操作模式,甚至雕刻模式。 在默认的ZBrush UI中,实时布尔开关很容易被访问到,它在左边的编辑模式按钮旁边。
•"生成布尔模型"功能,可在"工具">>"子工具">>"布尔"子对话框中找到将所有布尔运算转换为新Tool。 这些结果可以重复使用进一步用于ZBrush内部的布尔运算或导出到其他3D应用程序。这个布尔工具已被优化为超快。 即使一个最终模型由几个数百万的多边形布尔形成,从预览转换为模型仅需几秒,但是高度复杂的型号可能需要几分钟。
布尔功能几乎可以使用所有的ZBrush功能,只要这些模型是PolyMesh 3D的某种形式。 DynaMesh模型和具有多个细分的模型水平将完美运行,使用ZModeler创建的低多边形模型也可以使用。 同样支持高级功能,如ArrayMesh和NanoMesh最终得到的模型是PolyMeshes。3DPrimitives,ZSpheres ZSketches或其他渲染时效果(如MicroMesh)在布尔系统转换为PolyMeshes之前,它们不被支持。
2.关于布尔运算的重要注意事项
ZBrush以其在视觉上工作的能力而闻名,而不考虑底层3D模型拓扑。 DynaMesh等核心功能尤其如此。 这些操作与使用布尔运算的方法稍有不同,您需要尊守某些操作简单的规则来确保成功的结果。 而布尔实时预览引擎不是
受这些约束的影响。
避免共面
当您构建模型时,请避免模型一个直接放在另一个上面(会存在重叠面)。一个简单的例子是两个堆叠的立方体,其中多边形接触,两个面之间在同一平面上,会产生共面。 要修复共面,移动其中一个立方体稍微偏移另一个多边形表面,使得它们不再重叠。

使用面多的模型
与DynaMesh一样,布尔工具被设计为使用面数多的模型而不是面数少量的表面。 执行布尔运算时,强烈建议
使用高密度模型来产生您期待的结果。
模型密度一致性
在布尔计算进行中,布尔系统只会修改模型的拓扑。 尽量避免将真正密集的模型与那些低多边形相结合。这两种模型的结果可以产生长而薄的三角形面,如果您尝试执行另一个布尔运算,在这个模型上,这些面可能会有问题。

减少动态细分级别
当使用ZModeler画笔和/或低多边形模型时,您可能会用于使用动态细分。 选择动态细分与高平滑值是非常常见的,因为它不会减慢ZBrush,它可以增加视觉效果。然而,布尔进程将转换这些动态细分到真实的模型。 这可以产生细长的多边形,处理后作为原始拓扑的边界。 这些三角形也可以生成拓扑。如果您尝试使用生成的网格执行另一个布尔运算,则会出现问题。强烈建议尽量使用较低的动态细分级别。

多面边必须被去除
这个名称背后是一个常见的3D拓扑问题,会导致由一个边缘组成共享两个以上的多边形面(破面)。 从其他软件导入模型时可能会发生此问题。而布尔引擎包括一个清理过程,它将尝试修复这些破面,但在某些情况下,这是无法运行的。 为了获得最佳效果,当使用布尔系统时,使用没有破面的模型。
3.布尔过程
使用布尔运算创建模型的过程很简单,与DynaMesh Boolean和Remesh All功能相似。
确定你是否想要使用加法,减法或取交来计算对象。SubTool上有相应操作符。在上面可以找到的小圆圈图标。
SubTool列表中的每个对象(在眼睛图标的左侧)分别是:Add,Subtract and Intersection,还有一个"START"标志。

准备您的模型和每个SubTool,设置操作方式。 然后启用布尔值
预览,准备好后,生成所得到的网格。

(待续)