1. 遮罩为什么能变成子物体:先把数据关系捋清楚
在 ZBrush 里做模型拆分,“通过遮罩得到子物体”大概是被问得最多的一类操作。说白了就是:你在大模型上刷出一块区域,让软件把这块区域单独拆出来成为 SubTool 列表里一个新的、可以独立编辑、独立雕刻、独立隐藏的物体。听起来只是一个菜单项的事,可真正操作起来,很多人第一次都会遇到三种情况:遮罩画得很好,点下去物体没分开;分开了但边界像被狗啃过;或者拆完了发现原来的细节、UV、顶点色全乱了。这三种问题,根源都在“遮罩”和“子物体”这两样东西的数据本质不同。
我先把结论摆在前面:遮罩本身不是几何体,它只是贴在顶点的一组权重值;子物体是一个独立的模型容器。所以“通过遮罩得到子物体”这个动作,本质上是一次“把连续权重翻译成离散归属”的转换,中间必然会涉及阈值的取舍和边界面的重新计算。理解了这一点,后面所有操作取舍和参数设置都会变得顺理成章。这套流程适合三类人:做硬表面拆分零件的、做角色道具分离的、以及从扫描或合并模型里抠局部细节的。
1.1 遮罩是顶点权重,子物体是模型容器
遮罩在 ZBrush 里的存储方式是逐顶点的浮点值,范围在 0 到 1 之间,0 是完全不遮罩,1 是完全遮罩。你按住 Ctrl 在模型上拖动笔刷时,软件做的事其实是往经过的顶点上写权重值,并且根据笔刷的 Softness 做平滑衰减。这就解释了为什么你画的遮罩边缘是渐变的:靠近笔刷中心权重接近 1,越靠外越接近 0,中间有一段过渡带。
而子物体(SubTool)是另一套东西,它是一个完整的工具容器,里面装着这套网格的所有信息:点线面结构、UV、多边形组、顶点色、细分历史、图层、DynaMesh 状态。当你在 SubTool 面板里执行拆分时,软件做的事情是:遍历每一个顶点(或每一个面),根据遮罩权重判断它归左边还是归右边,然后把归属相同的部分重新组装成一个独立的网格,边界处重新生成共享顶点。这个过程一定会“切断”原有的边,所以边界是不可能凭空产生新拓扑的,它只能在现有边上走。
由此可以推出一条很硬的规律:分割线只能沿已有的边跑。你遮罩画得再圆润,只要模型的网格不够密,切出来的边界就是一条由直边拼成的折线,放大看就是台阶。很多人抱怨“分出来的边是锯齿”,其实不是软件不行,是网格密度托不住你想要的曲线。
再往下还有一层区别值得注意:遮罩是连续值,多边形组是离散值。遮罩能表达“一半遮一半不遮”的灰度,组只有“属于哪个组”的编号。这个差异直接决定了后面两条拆分路线的行为不同:走遮罩直接拆,边界判定看的是权重阈值;走组再拆,边界判定看的是面所属的组号,中间不经过浮点比较,所以结果更稳定、更可复现。
1.2 三条拆分路径的取舍对照
ZBrush 里能实现“遮罩变成子物体”的路子不止一条,我按从快到稳的顺序列出来,并标注各自适用的场景。这张表建议先看一遍再动手,因为选错路线的返工成本比想象中高得多。
| 路径 | 核心菜单 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| Split Masked Points | Tool > SubTool > Split > Split Masked Points | 一步完成,操作最少 | 边界完全依赖网格密度,边缘容易出现孤点和锯齿 | 快速试拆、网格密度高的模型 |
| Group Masked + Split Groups | Tool > Polygroups > Group Masked,再 Split > Split Groups | 边界稳定可复现,能事后微调组边 | 多一步操作,需要在分组后检查 | 正式作业、需要精细控制边界 |
| 手动加拓扑边后按组拆 | ZModeler 的加边工具 + 分组 + Split Groups | 边界完全可控,干净利落 | 需要手工操作,耗时 | 硬表面、需要精确直边的情况 |
第一条最快,但正因为快,它把边界质量完全交给了网格;第二条最稳,因为它先把连续权重“降维”成离散组,后面所有操作都在离散域里进行,不会因为一两个顶点的权重偏差导致归属漂移;第三条最费事,产出也最干净,做机械硬表面零件拆分基本都走这条。
提示:如果你是第一次在某个模型上做拆分,先用 Duplicate 复制一份母体再折腾,ZBrush 的撤销历史对拆分这类结构级操作并不总是友好。
2. 拆分前的准备:密度、层级、备份三件事
我在实际操作中越来越确信一件事:拆分的好坏,七成在动手前就决定了。准备工作只有三件,但每一件都不能省,省了后面必然要在收尾阶段加倍还回来。
2.1 网格密度决定了分割线的干净程度
前面说过分割线只能沿已有边跑,所以你需要先判断当前网格能不能支撑你要的分割曲线。判断方法很直接:切完看一眼边界,如果放大后边界是由明显的短直线段拼出来的、转折处有明显棱角,说明密度不够;如果边界看起来接近你画的那条曲线,只有轻微台阶,那就是可接受的范围。
我的经验参考值是:如果你要拆出来的子物体最终希望有 1 万面左右的量级,那么它在大模型上对应的区域,母体局部面数最好在 5 万到 10 万面的水平,这样边界上的边距足够小,曲线才像曲线。低于这个量级,边界就会明显“多边形化”。当然这只是量级参考,真正决定观感的还是你的镜头距离——如果这个零件在最终画面里只占屏幕一角,那点锯齿根本看不见,没必要为了它把面数堆到几十万。
补密度有两条路。一条是 Subdivide,在细分之前先确认模型是否已经 Freeze Subdivision,否则细分会连带影响后面的操作。另一条是 DynaMesh 重算,好处是拓扑均匀、密度可调,坏处是会丢掉原有的边流和多边形组。硬表面零件拆分我更倾向于先用 DynaMesh 把密度拉到够用,再去做拓扑分组,因为 DynaMesh 出来的四边形分布比较均匀,分割边界不会出现局部特别粗糙的情况。
还有一点容易忽略:非均匀密度会造成“同一刀切出两种质量”。有些模型是靠 ZRemesher 自动重拓扑出来的,边缘区域密度高、平面区域密度低,你在这上面分割,弧面上的边界很顺、平面上的边界就会拉出长条三角形。遇到这种情况,别急着拆,先在低密度区域做一次局部细分,把密度差抹平再动刀。
2.2 细分级别与 DynaMesh 状态的处理
架构级的操作一定要在最低细分级别上做,这条几乎是铁律。原因很实际:如果你在第 4 级细分上分割,软件要处理的是几十万甚至上百万个顶点,每一次判定都要跑一遍,速度慢、内存占用高,而且拆出来的每个子物体都会继承完整的细分历史,文件体积直接翻几倍。更糟的是,如果在高级别上分割,低级别的网格信息可能出现不一致,后面退回低级别编辑时会出现边界与高级别不对应的问题。
正确顺序是:回到 SDiv 1(细分级别最低那一档),确认 Geometrey 面板里的当前级别确实是最低,然后执行拆分。拆完之后每个子物体都会带着完整的细分历史,你在任何一个子物体上切换细分级别,边界依然保持一致。如果母体本身就没细分过,那就更简单,直接拆。
DynaMesh 物体要单独说一句。DynaMesh 状态的模型在编辑时会被重新计算拓扑,一旦你去拖拽它,之前分好的边界可能就被重新融合了。所以如果你要拆的是一个 DynaMesh 物体,先把它固化成普通多边形网格(用 Make PolyMesh3D 之类的固化操作),或者在拆完之后立刻做一次固化,避免后续编辑把拆分结果吃掉。这一点在实操里坑过不少人:拆是拆开了,接着手一滑动了根笔刷,两个子物体又贴回一起了。
2.3 备份与历史记录
ZBrush 的撤销栈对结构级操作的支持不算宽裕,拆分、合并、布尔这类改动一旦跨过了若干步,想靠 Ctrl+Z 退回去经常退不干净。所以拆分前必须做一次完整备份,两个办法:一是 SubTool 面板里 Duplicate 一份母体放在列表底部,改个名字叫“_backup”;二是用 Layers 把当前状态记录一层。
注意:备份物体不要和待拆物体放在同一个文件夹里还保持可见,容易误选。建议把它移到 SubTool 列表最底部,或者干脆隐藏掉。
另外建议在拆分前把当前工程另存一版,命名带上“_split”之类的后缀。这不是强迫症,是因为遮罩拆分经常会连着做三四轮(拆完一个零件接着拆下一个),中间某一步做坏了,回退到上一个存盘节点比在历史里翻找快得多。
3. 动手实测:三种拆分方式的完整操作流
准备工作做完就可以上手动刀了。下面三条路线我都按“从打开菜单到看到子物体”的完整顺序写,你可以照着复现。
3.1 最快路径:Split Masked Points 一步到位
这是最省心的做法,适合快速试拆或者网格本身足够密的情况。操作顺序是这样的:
- 选中要拆的模型,确认处于最低细分级别。
- 按住Ctrl在模型上拖动,用 MaskPen 笔刷把要拆出去的区域涂满。注意涂的时候笔刷别太软,Softness 调低一点,过渡带越窄,边界判定越干脆。
- 检查遮罩覆盖是否完整:可以按遮罩反相(Masking 菜单里的 Inverse)看看另一侧是不是你想要的形状,两侧都合理再往下走。
- 打开Tool > SubTool > Split,选择Split Masked Points。
- 点完之后看 SubTool 列表,会多出一个子物体,它就是刚才被遮罩的那部分;原来的物体保留的是未遮罩部分。
这个操作的判定逻辑是按顶点的遮罩权重来归属,权重高的顶点归新物体、低的留在原物体,中间那个过渡带里的顶点归属取决于它们的权重值是否越过了判定线,大致在 0.5 上下浮动。这就是为什么笔刷太软会出问题:过渡带里权重在 0.4 到 0.6 之间晃的顶点一多,判定出来的边界就会呈现犬牙交错的形态,出现孤立的单点或单面碎片。
实测下来,这条路最容易出现的两个毛病:一是边界上偶尔冒出几个与主体不相连的小碎块(几个面组成的小岛),二是边界边缘有明显的一排尖刺。前者清理方式是选中碎块所在的子物体直接删掉,或者用 SubTool 里的 Merge 合并回去;后者说明网格密度不够,得回头补密度重来。
提示:Split 菜单里的 Split Masked Points 在较新的版本里提供,如果你的版本里没有这一项,别硬找,直接用下一条路线,效果只会更好。
3.2 最稳路径:Group Masked 再 Split Groups
这条路径多一步,但把“浮点权重判定”换成了“组编号判定”,稳定性高一个档次,是我日常的主力做法。
第一步还是画遮罩,画法一样,但这里有个关键差别:走组路线时,遮罩边缘的锐化更重要。因为 Group Masked 是把遮罩值超过某个门槛的面归到新组里,边缘如果糊成一片,分组边界就会跟着糊。
第二步打开Tool > Polygroups,点Group Masked。这一步做完你会看到被遮罩的区域被染上了另一种颜色,说明它们已经成为一个独立的多边形组。
第三步回到Tool > SubTool > Split,选Split Groups。所有多边形组会被一次性拆成独立子物体——注意是“所有组”,如果模型上本来就有别的组,那些组也会一起被拆开。所以执行前务必确认模型上的组情况,Polygroups 面板里点一下显示组颜色看一眼,避免拆出一堆不想要的东西。
这条路线相比第一条的优势在哪?组是离散的整数编号,一个面要么属于组 3 要么属于组 5,不存在“介于两者之间”的模糊状态。所以哪怕遮罩边缘有一点毛刺,只要组的边界定下来了,后续无论你怎么重算、怎么切分,边界都是确定的那条线。而且你可以在分组之后、拆分之前,用 Polygroups 面板里的组编辑工具去修边界——比如把某个凸出来的面手动改成相邻组,或者用组循环工具清理孤岛,这在走遮罩直接拆的路线里是做不到的(因为遮罩没法“按面编辑”)。
这里踩过一个坑值得说:如果你在分组之前模型上已经有很多组(比如从别的软件导入时自带的材质组),Split Groups 会把它们全拆开,子物体数量瞬间爆炸。解决方法是分组前先执行一次Groups By Mesh或者用 Polygroups 里的合并工具把所有组并成一个,然后再用遮罩分组。这个顺序别搞反,反了就得重来。
3.3 最干净路径:先补拓扑边再按组拆分
硬表面零件、需要笔直分割线的情况,前两条路都不够。这时候要动用拓扑加边的思路:先在模型上用 ZModeler 或者拓扑笔刷沿着你想要的分割位置画一圈边,让这一圈边成为一个封闭的环,然后用这圈边去形成组边界,最后按组拆。
具体做法我通常这样组织:用 ZModeler 笔刷的加边功能(悬停在边上按对应快捷键拉出新边),沿着目标分割线一圈一圈地把边补齐,让它形成一个闭合回路。补完之后这个回路天然就把模型分成了两部分,再执行 Polygroups 里的按边分组(把封闭回路转成组边界),最后 Split Groups。这样切出来的边界完全由你手画的边决定,想要直线就是直线,想要圆角就跟着圆角走,一点多余锯齿都没有。
代价是时间。补一圈边可能就要几分钟到十几分钟,取决于是直线还是曲面。所以我的取舍原则是:只对最终画面里看得见、且是硬边的地方用手动加边。比如机械件的分模线、护甲的板缝,这些在特写里会被看得很清楚,值得花时间。至于藏在里面的、或者只有远景的,直接走第二条路线省事。
补边过程中有个细节:加边之后模型的边流会变,如果这个物体后面还要做细分,最好在加边之后检查一下新边附近有没有产生 N-gon 或者细长三角形。细分会把这些问题放大成明显的折痕,到时候再修就麻烦了。检查方式很简单,把模型切到高一级细分看一眼曲面对不对,有问题退回低级别调整边的走向。
4. 遮罩画不准怎么办:边界控制的具体手法
很多人卡住的不是“不知道点哪个菜单”,而是“遮罩根本画不到我想要的形状”。ZBrush 的遮罩笔刷在曲面上操作,受视图角度、背面穿透、笔刷衰减三重影响,加上模型起伏,画出来的东西经常和脑子里想的不一样。下面几招是我用得最多的调整手法。
4.1 锐化、模糊与扩边
遮罩画完之后,最重要的两个后处理是锐化和扩边,都在 Masking 菜单里。
锐化(Sharpen)的作用是提高遮罩的对比度,让过渡带收窄,边缘变硬。我一般点 2 到 3 次,看边缘反应——次数太少边界还是糊的,次数太多边缘会出现噪点,因为锐化是把权重往两端推,推过量就会在原本平滑的过渡带上产生锯齿状的值跳变。判断标准是:放大到能看清边缘,如果边缘是一条干净的软边就停手,如果边缘出现一排明暗交替的小点,说明过头了,可以撤销重来或者用模糊找回一点。
模糊(Blur)反过来用,适合遮罩画得偏小、需要往外扩一圈的场景。但要注意模糊是对整个遮罩生效的,如果你只想扩大某个方向,模糊帮不上忙,得用扩边(Grow)配合。
扩边(Grow)是按顶点邻接关系往外长一圈,执行一次扩一圈顶点。这个操作在“我想让新物体稍微大一点,好方便后面缝合”时特别有用。反过来还有缩边(Shrink),用在你遮罩画大了、想收一收的情况。这两个操作的粒度就是一圈顶点,所以网格越密,单次扩边的绝对距离越小,控制精度越高。
注意:扩边和缩边都是按拓扑邻接走的,遇到模型上不连续的部分(比如两个分开的壳体)有可能产生意外的连接,操作前确认模型是单壳还是多壳。
4.2 用组、选择与 ZModeler 辅助定位
遮罩画不准的另一个解法是:别硬画,换工具定位。
按组遮罩是一个思路。如果模型上已经有合理的多边形组划分(比如导入时就分好了材质组),可以用 Polygroups 里的“按组遮罩”功能,直接把某个组整体变成遮罩,一步到位,边界天然精确。然后再走拆分流程。这在处理从其他软件导入的、自带分组信息的模型时非常好用。
用 ZModeler 的选择功能是另一个思路。ZModeler 支持按面的类型、角度、平面性做批量选择,比如选中所有法线朝上的面,或者所有共面的面,选中之后再转成遮罩。这在硬表面上特别高效——你想想一个机械件的顶面,用笔刷涂要多费劲,用平面选择一框就完了。
还有一个笨但有效的办法:先在低密度上分组、再细分。因为组的边界会随着细分一起被传递下去,所以在低模上用很少的操作就能把大的分区定好,细分之后边界的精细度自然跟着提升。这比在高模上一点点涂遮罩高效得多,而且边界更规整。这是我个人最推荐的组合:低模定分区,高模只做微调。
4.3 边框锯齿的补救
如果拆分已经完成,才发现边界有锯齿或者缺口,别急着推倒重来,有几招可以补救。
第一招是DynaMesh 重建边界。对拆出来的子物体做一次小尺寸的 DynaMesh,让边缘的碎面重新融合,边界会变得平滑。缺点是会改变整个物体的拓扑,UV 和组都会丢,所以只适合那些不需要 UV、不需要保留原始拓扑的中间件。
第二招是抛光。用 Deformation 里的抛光(Polish)功能,对边界做轻微的平滑处理,可以把尖刺磨掉。但抛光是把双刃剑,它会把体积往外或者往里收,边界附近的细节可能一并被抹掉。做法是把抛光强度调得很低,多跑几次,比一次跑很重安全。
第三招是手动补。边界缺口如果只有几处,用 Draw 笔刷配合低强度、打开 Backface Mask,直接糊上去补一块,或者用 ZModeler 的桥接功能把两侧的边连起来。这个方法最笨但最可控,适合只差一两处的情况。
第四招是回到拆分前重新做组。如果锯齿是成片的、系统性的,那就别修了,回退到拆分之前,把组的边界重新整理一遍再拆。修一个坏边界的成本,往往比重新分一次组高。
5. 拆完之后:命名、缝合与属性善后
拆分完成不等于结束。SubTool 列表里多出来的东西如果不整理,做上两三个小时你就会迷失在一堆名字叫“SubTool”的物体里。
5.1 子物体管理与文件夹
第一件事是改名。双击子物体名字直接改,我习惯用“部位_状态”的格式,比如“护甲板_L”“护甲板_R”,这样后面批量操作时一眼能认出来。ZBrush 的搜索过滤功能在子物体数量多时很好用,但它只认名字,名字起得乱等于没有。
第二件事是折叠文件夹。SubTool 面板支持建文件夹,把同一类部件收进去(比如所有螺丝、所有板件分开),折叠之后列表长度立刻下降一个量级。同时把暂时不编辑的子物体设置为隐藏,减少视图里的干扰,也避免误选。
第三件事是处理遗留的空物体。拆分有时候会留下一个几乎没面的空壳(尤其是原物体被完整遮罩的情况下),这种空物体留着只会增加负担,直接删。检查方法很直观:看每个子物体的面数,个位数面数的基本就是残留。
5.2 边界填补与合并
拆开之后两个物体的边界之间会出现一条细缝,这是正常现象,因为原本共享的顶点被复制成了两份。如果这两个物体后面还要合回去,直接用 Merge 里的合并功能(按组或按特征合并)把接缝焊接上即可。
如果拆开后你发现边界处缺了一块,原因通常是遮罩边缘的顶点归属判定导致的“面丢失”——某个三角面的三个顶点分别归了两边,这个面就没法完整归入任何一侧。补救方式是先把两个物体合并成一体,用闭合孔洞的功能补上缺口,再重新拆;或者干脆用 DynaMesh 把两者融合后重新布线。
我个人的习惯是:拆开就是为了单独编辑,编辑完不一定要合回去。所以在设计阶段就把“哪些是真的需要合并、哪些只是暂时分开处理”想清楚,能省掉很多无谓的缝合工作。真正需要合并的那些,我会在拆分之前先记录一下边界位置,方便拆完之后对齐。
5.3 UV、Polypaint、细分历史的检查
拆分后的属性状态,有几个必须逐项确认:
- 细分历史:每个子物体应该都继承完整的细分层级,切到最高级确认没有变形。
- UV:切割线经过的地方,UV 接缝会被“撕开”,如果这个模型后面要上贴图,接缝处可能会有一条拉伸痕。要么在拆分前把 UV 布好,要么拆完之后用自动展 UV 重新处理一次。
- Polypaint:顶点色会跟着走,但切割线上新增的顶点可能默认是黑或白,会在边缘形成一圈脏边。处理方式是选中边界区域重新填充颜色或者做一次颜色平滑。
- 图层:如果母体上有 Layer,拆分之后每个子物体都会继承一份,注意别在两处重复编辑同一个图层,会产生叠加变形。
提示:做完上述检查再开始雕刻。顺序反了容易在发现属性问题时已经把细节做了一半,这时候回退的代价非常大。
6. 高频问题排查速查表
实际操作中遇到的坑远比菜单本身复杂,下面这几类是我被问得最多、也最容易复现的。
6.1 遮罩画不上或者位置不对
最典型的表现是按住 Ctrl 拖动没反应,或者遮罩出现在模型背面。前者一般是当前笔刷不是遮罩类笔刷,或者按 Ctrl 的时候不小心同时按了别的修饰键,导致切换到了别的功能;解决方式是先按一下 B 键调出笔刷列表,选中遮罩笔刷(快捷键是 M 开头那个),再按住 Ctrl 操作。
遮罩出现在背面的情况,是笔刷的背面遮罩没开。在笔刷参数里的自动遮罩选项中把背面遮罩打开,这样刷到模型反面时会被自动忽略。这个开关在处理薄壁件的时候尤其重要,不然一刷就是前后两面一起上遮罩。
还有一种情况是遮罩刷上了但看不见。这通常是显示设置的问题,检查一下是否打开了遮罩的显示模式,某些视图模式下遮罩会以很淡的灰度呈现,在深色材质上几乎看不到。
6.2 拆分失败或结果异常
“点了没反应”的原因一般是当前物体不是多边形网格(比如还处于某种编辑状态),先固化一下网格再试。“分出来一堆碎块”是遮罩过渡带太宽加上网格密度不足共同导致的,处理方式是回到拆分前,锐化遮罩、提高密度,重新来一遍。“分出来的物体是空的”多半是误把未遮罩部分当成了目标,检查一下菜单选的是不是你想的那一项。
还有一个隐蔽的问题:拆分后子物体数量暴增。原因前面提过,模型上还有别的多边形组一起被拆了。这种情况不需要重做,把多出来的物体用合并功能并回去即可,但要注意合并的顺序会影响组的排列,最好先记录一下原来的组结构。
6.3 速查表
| 现象 | 最可能的原因 | 处理方式 |
|---|---|---|
| 遮罩画不上 | 笔刷不是遮罩类 / 修饰键冲突 | 换遮罩笔刷,按住 Ctrl 单独操作 |
| 遮罩跑穿到背面 | 背面遮罩未开 | 笔刷自动遮罩里打开背面遮罩 |
| 拆分点下去没变化 | 物体非多边形网格 / 未选中正确物体 | 先固化网格,确认选中状态 |
| 分出来边缘锯齿明显 | 网格密度不足 / 遮罩过渡带太宽 | 提高密度,锐化遮罩后重做 |
| 分出来带一堆小碎块 | 过渡带内顶点归属漂移 | 清理碎块,或用组路线重做 |
| 子物体数量远超预期 | 模型上原有多个多边形组 | 拆分前先合并所有组 |
| 拆完两个物体之间有缝 | 共享顶点被复制分离 | 用合并功能焊接接缝 |
| 拆完颜色边缘发黑 | 边界新增顶点顶点色为默认值 | 边界区域重新上色或做颜色平滑 |
| 拆完贴图错位 | 切割线撕裂了 UV 接缝 | 拆前布好 UV,或拆后重新展 UV |
7. 把遮罩拆物体用出更多花样
这套流程掌握之后,它的价值远不止“把一个零件拆出来”这么单一,下面两种用法是我觉得性价比最高的延展。
7.1 局部置换与细节分区
做细节的时候经常遇到一个问题:整个模型用同一套笔刷和同一套分辨率,导致某个局部细节不够、别的地方又太糊。这时候可以用遮罩+分组把需要高精度的局部单独成组,然后在细分时只对那部分做额外细分,或者在做置换贴图时给那部分单独提高强度。
具体做法是:先遮罩出细节密集区,分组,但不拆,直接在这个组的基础上做局部细分和雕琢。组的价值在这里体现得很明显——它给了你一个可以随时“选中某一片区域”的抓手,比每次重新涂遮罩高效得多。等到这个局部的细节定稿了,再决定要不要真的拆出来成为独立物体。
这个思路在做皮肤纹理、布料褶皱这类“局部需要高密度”的工作时特别省资源:整体保持中等密度,只在需要的区域加密度,最后渲染出来的效果和大密度整体细分几乎没有差别,但内存和操作流畅度完全是两个档次。
7.2 重复件与硬表面零件提取
硬表面模型上经常有一堆重复的零件:螺丝、铆钉、卡扣。手动一个一个摆太慢了,借助遮罩拆分可以做成半自动流程:先做好一个标准件,用遮罩把它从主体上分出来,然后把它作为独立子物体,用复制+变换的方式批量布置到其他位置。
更进一步,如果你有一个已经做好细节的整体件,想复用其中某一部分到别处,流程就是:遮罩圈定目标区域 → 分组 → 拆分 → 把拆出来的子物体复制出来另存为独立的工具 → 再放回主场景里当素材用。这套动作做熟之后,建一个零件素材库的速度会快很多,尤其是做系列化的机械设计,很多零件是可以互相借用的。
需要注意的是,这种复用方式带出来的是完整的网格数据,包括当时的细分级别和组的划分。如果目标模型的比例差很多,直接拉伸会导致细节变形,这时候更合适的做法是把零件拆出来之后做一次重拓扑或者 DynaMesh 重算,把细节重新投影上去,而不是直接缩放。
最后分享一个我自己的习惯:每次做拆分之前,先在心里过一遍“这一步是为了什么”。如果只是为了看一眼某个局部的形状,那用遮罩选中之后直接隐藏其他部分看就行,根本不需要真的拆;如果真的需要独立编辑、独立雕刻、独立导出,那才走拆分流程。搞清楚目的再动刀,能省掉大量“拆了又合、合了又拆”的无用功。