mcpField
S
scenario-zbrush-pose-print

scenario-zbrush-pose-print

github.com/scenario-labs创意与媒体1.2k183 次安装1 天前更新
代码仓库

关于 scenario-zbrush-pose-print

面向 ZBrush 的技能,用于摆放多 SubTool 模型并准备经过测量的 3D 打印零件。它以数值检查、可逆姿势、打印几何验证和规范导出组织创作与技术流程。

主要功能

  1. 01比例与包络检查
  2. 02可逆的多 SubTool 姿势调整
  3. 03带点序保护的姿势传递
  4. 04测量空心结构、切件与配合
  5. 05网格精简与打印报告

适用场景

  1. 01在保留 SubTool 的同时摆放角色
  2. 02准备树脂打印的人偶套件
  3. 03检查壁厚、间隙和空腔
  4. 04导出并标明毫米单位的零件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/scenario-labs/skills --skill scenario-zbrush-pose-print

安装后在 Claude Code 中输入/scenario-zbrush-pose-print确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
critique.md
expert-notes.md
gui-paths.md
procedures.md
sources.md
scripts/
zb_pose.py
zb_print.py

详细介绍

ZBrush 姿势与 3D 打印

专家级流程意味着:姿势站得稳、读得清,并能转移到每个 SubTool 而不丢失任何级别;打印部件的尺寸、壁厚、配合间隙和空腔都已在导出的文件中按毫米测量。基本原则:把每项决策都变成 Agent 可核验的数值(缩放比例、点的顺序、关节角度、壁厚、间隙);保持姿势可逆,只用笔刷笔画进行清理。如果此处提到的某个同级技能不在你的可用技能中,请让用户安装它(npx skills add scenario-labs/skills --skill <name>);若无人值守,则根据工具架构继续操作,并标明这一缺口。

必备背景: scenario-zbrush-expert(桥接、笔刷引擎、审核循环、2026 年陷阱)。

基本原则(专家进阶要点)

  • Gaboury:缩放是首要决策。 第一个 SubTool 是一个与客户要求尺寸相同的盒子;任何内容都不能超出盒子。由于尺寸后期可能变更(原先带 15 个活动关节的 6 in 模型改为 4 in、带 8 个活动关节),必须能一步缩放整个工具。Agent 流程:brief_box、zb_print.envelope、set_export_scale(target_mm)。
  • Munoz Gomez:在最低级别摆姿势,通过 Transpose Master 处理多个 SubTool,并将姿势放在 3D Layer 上。 板件和手持道具(武器、盾牌、手杖)要作为刚性部件留在 TPose 网格中(使用 Auto Groups,每个独立部件设为一个组,并对整个部件进行遮罩)。使用 Move Topological 消除相交。Plouffe 禁止变形基本体,但不禁止刚性移动:不要把手持道具单独取出,再仅通过一次旋转重新放置。
  • Maxon 文档:有两种情况会破坏转移: SubTool 部分隐藏(Vertex Mismatch),以及 TPose 网格上的 Gizmo 3D 变形器(它们会重新排列点;执行 TPose>SubT 后,SubTool 将无法使用)。Pavlovich:“顶点的顺序非常重要。”从干净的项目开始;在 TPose 网格存在时保存 ZPR(Transpose Master 数据保存在其中)。
  • Plouffe:需要一起弯曲的部件在第 1 级必须具有相同的多边形尺寸(遮罩模糊会逐多边形扩散)。弯曲后重新放置螺栓和圆盘。只在最终尺寸和观看距离能展现细节的地方投入精力。
  • Pavlovich:没有级别的 DynaMesh 使用 Proxy Pose 加 ZSphere 骨架。 位置比尺寸重要;辅助部件用于保持体积,只旋转。
  • Gaboury:绝不要掏空 9M 雕刻模型。 对轻量 DynaMesh 副本进行壳体处理(128 的分辨率足以制作 9 in 的汽车模型),保留其内壁并进行 Polish,然后在 Live Boolean 中将其从未修改的精细部件中减去。Create Shell Thickness 的数值并非毫米;务必测量。
  • Bennett(Hasbro):最小壁厚为 1 mm(0.85 mm 曾被标记不合格),边缘为 0.5 mm,Formlabs 部件的配合偏移为 0.12 mm; 加厚薄壁时要从内侧加厚,以免改变外表面。
  • Gaboury:凭观察决定是否进行减面(每个网格约 1M 面已足够;10k 到 20k 个三角形仍可打印);对重要细节(面部、双手)施加遮罩,以引导 Decimation Master;任何编辑后都要重新预处理;SLA 打印的每个杯状部件都要设置排气孔。

先确定

输入为什么会影响计划需求未说明时的默认值
工艺:树脂(SLA、MSLA)、FDM、模具成型或铸造壁厚、间隙、中空处理、收缩(Hasbro 将 PVC 雕塑放大至 104 %);模具还需遵循 Hasbro 的规则:手指相触会锁住模具,Group Front 显示分型线,Draw Draft Analysis 显示拔模斜度树脂,直接打印
尺寸:比例和实际高度、包围盒 W x H x D、是否包含底座导出比例、需求框、特征最小尺寸1/6 = 站立高度 / 6(1,800 mm 对应 300 mm),以静止姿势测量
打印机成型体积、切片软件上限拆分(Gaboury 为 Form 2 的成型平台拆分了一辆汽车);多边形数量或文件大小上限(他的示例为:50 MB)询问;报告每个部件的尺寸
部件:一体式还是套件,胶粘还是插销连接切割位置和定位键(Carratala 在雕刻时规划切割)自然分界处(衣领、腰带、袖口、手持武器),每个胶粘接缝设置两个定位键 [已添加]
姿势来源;替代姿势路径和图层每个姿势使用一个图层
交付内容STL 不含单位;3MF 会声明单位每个部件提供以 mm 为单位的 STL 和 3MF,以及 JSON 报告

不使用鼠标进行姿势调整

艺术家默认的操作(Ctrl+单击一个多边形组,拖动 Gizmo 环)是一种画布手势。SDK 无法读取遮罩数据,而 press_key 虽有文档说明,但在已安装的 2026 存根中被标记为“Does not work, hidden for now”(不起作用,暂时隐藏);canvas_click 也被报告为不可靠(Maxon 论坛)。按确定性排列的方案:

方案适用场景方法状态
A. 数值外部绑定(Munoz Gomez 的 Blender 方案,精确化)人形模型、极端姿势或大量姿势TPoseMesh、export_tpose、将 loose_pieces 刚性绑定到各自的单根骨骼,scenario-blender-rigging 按角度调整姿势并按相同顺序返回,import_pose、TPose>SubT确定性;已离线测试防护措施
B. 通过代码创建 ZSphere 绑定在 ZBrush 中、有机模型,或通过 Proxy Pose 使用 DynaMesh根据多边形组边界创建关节,zs_build,通过正向运动学 zs_pose 调整姿势已测试 FK;绑定网格跟随 API 编辑 [verify live_p02]
C. 整个 SubTool 刚性移动姿势调整后添加的底座、支架或道具rotate_subtool_matrix(X、Y、Z)加上 translate_subtool,即载体的整体变换,并根据导出结果修正数学已测试;方向 [verify live_p03, p08]
D. 遮罩加 Gizmo 或动作线由计算机操作 Agent 或人工进行清理Ctrl+单击组,Alt 设置枢轴,拖动对此 Agent 而言较弱

缺少人工协助时较弱:手势设计、Plouffe 手绘渐变遮罩、大幅重新设计褶皱。procedures.md P6 中有针对 Agent 的接缝平滑和 Move Topological 操作方式,但仍需 [verify]。

工作流

zb_pose.call("name", ...) 在 ZBrush 中运行;zb_print 处理导出的 OBJ;完整代码见 references/procedures.md。

  1. 接收。 已版本化的 ZTL、inventory(),以及以 mm 为单位的目标和包络。关卡:每个 SubTool 均已命名、名称唯一,且包含点和级别。
  2. 缩放。 依次运行 set_export_scale、export_parts、check_scale,然后运行 brief_box(导出期间隐藏)。关卡:高度误差在 0.5 % 以内[新增];每个部件采用相同的导出比例(从另一个 ZTool 追加的部件会采用另一种比例);envelope 通过;用 caliper 检查指定尺寸。
  3. 姿势准备。 运行 clean_project(保存 ZTL、设为默认项目、Load Tool);为每个段设置多边形组,板件和道具保留为独立部件;运行 preflight_tpose。关卡:预检通过,密度差异小于 2 倍[新增]。没有级别:使用 scenario-zbrush-retopology-export 或 Proxy Pose。
  4. 摆姿势。 道具和板件设为可见后,运行 tpose_mesh(layer=True, groups=True),再运行 export_tpose(顺序参考),并保存项目;选择路线 A 或 B,先居中,先处理父级再处理子级,仅旋转;不使用 Gizmo 变形器。关卡:rigid_pieces 通过;follows 显示每个携带的道具都随其载体移动到位(0.5 mm[新增]);piece_interference 为空,或已为 P6 列出;tpose_to_subtools(expected, rest_obj) 通过顺序校验和点数校验;rigid_delta 与计划相差不超过 2 度[新增];balance 能站稳,或已计划好底座;审阅表:轮廓和重量感清晰(Plouffe:不稳定的姿势会“毁掉整个作品”)。
  5. 修复变形。 在顶层新建图层。先处理接缝,同时保护其余部分(Munoz Gomez 会先平滑并移动,再清除遮罩);然后针对新姿势重新雕刻体积和褶皱(拉伸关节处产生张力,内弯处产生压缩[新增]);重新摆放基本几何体;对部件使用 Move Topological;姿势专属细节放在仅用于该姿势的图层上,因为图层会线性混合。关卡:stretch_report 接近静止姿势;piece_interference 通过;检查 Polyframe 瓦片。
  6. 拆分。 在自然断点处分件;将打印时应为一个整体的部分合并(使用 Live Boolean 并集,或在轻量副本上使用 DynaMesh:Hasbro 工程师会在精简后的网格上操作)。模铸件:环线、分模线、拔模斜度。关卡:每个部件均封闭,且符合构建体积限制。
  7. 按需挖空。 运行 hollow_copy(插入内部模型、DynaMesh 约设为 128、Create Shell),使用 keep_inner_shell;Live Boolean:从精细部件开始,依次对内壳、排液孔和通气孔进行布尔减法;薄端保持实心。太薄:将切割体向内移动,绝不要移动外表面。关卡:thickness 的 p01 达到壁厚目标;树脂件没有封闭空腔;outer_drift 通过;杯状结构处设有通气孔。
  8. 切割并加定位键。 在 Live Boolean 中使用 QCube 切割体,或拆分多边形组后执行 Close Holes[新增];运行 plan_keys;插座 = 在插销基础上扩大 2 倍间隙。关卡:clearance 中位数达到目标,无干涉;套件制作前先试打印一对定位键(Gaboury)。
  9. 精简。 名称唯一;为每个 SubTool 设置面数预算,在 Pre-process 前应用遮罩(mask="cavity"[新增]);每次编辑后都重新预处理。关卡:面数在预算范围内;deviation 的 p99 低于打印机的 XY 分辨率[新增];提供前后特写。
  10. 交付。 每个部件均提供以 mm 为单位的 STL 和 3MF;运行 print_report(..., envelope_mm=...);提供实际尺寸的审阅图块(低于工艺下限的细节需补齐、融合或留待上色处理:Hasbro)。关卡:print_report["ok"] 为真;已检查每项“待查看”内容;已注明单位。

数值

项目数值来源
最小壁厚1 mm;0.85 标记为风险Hasbro、PVC 和 Formlabs 复制品
修剪后的边缘0.5 mm;约 0.2 mm 会浮起Hasbro
配合偏移0.12 mm(Formlabs);他在 ZTool 中用 Inflate 2 得到了这个值Hasbro,按 ZTool 校准
外壳复制DynaMesh 64 太低,128 足够(车里有 9 个);Thickness 先设为 4,再设为 6Gaboury
From Thickness缩放到 mm 后,最小值为 1,最大值为 5Maxon 文档
Decimation每个网格约 1M;20 % 时从 2.7M 降至 545k,外观不变;8k 时出现多面体感Gaboury
Decimation 质量40 到 100 % 时几乎相同,2 到 40 % 时差异明显Maxon 文档
收缩时的缩放对于 6 in 的 PVC 人偶,高度 / 12 + 4 %Hasbro
代理姿势蒙皮Adaptive Skin Density 1,DynaMesh Resolution 0Pavlovich

质量关卡

  • 测量(对单位为 mm 的 OBJ 使用 zb_print):水密性、体积、薄壁占比(样本的 0.2 % [已添加])、封闭空腔、浮动外壳、高度、包络、统一导出比例、构建体积、间隙、平衡、面数、外部偏移。姿势:点顺序、rigid_pieces、follows、 piece_interference、rigid_delta、stretch_report。
  • 视觉(scenario-zbrush-expert zb_review.review,MatCap Gray,五个视图):动态和 平衡;使用 Polyframe 检查关节;基本体是否圆润;握把是否紧握手柄;展示一次简述框; 在副本上使用 From Thickness;检查每个列出的位置;检查 Decimation 后的特写。根据 references/critique.md 进行评估。

常见错误

错误表现修正
使用顶层姿态、粗略蒙版,过早清除蒙版多边形拉伸、重叠使用最低级别和模糊蒙版;清除前先用 Smooth 和 Move 平滑并移动接缝(Munoz Gomez)
将携带的道具从 TPose 网格中拉出,之后再旋转一个角度一把剑位于抬起且弯曲的手旁;即使 interference 为 0 也会通过将其作为刚性部件保留在 TPose 网格中;否则,携带者的整体变换会限制 follows
TPoseMesh 中有部分隐藏的 SubToolVertex Mismatch使用 preflight_tpose(对全部对象启用 ShowPt)
在 TPose 网格上使用 Gizmo 变形器SubTool 被破坏;点数检查无法发现顺序变化使用旋转或骨架;顺序保护机制会拒绝传递
会话关闭时有 TPose 网格,但没有 ZPR无法恢复 SubToolTPoseMesh 后立即使用 save_project
在姿态上显示中性姿势的细节弯曲处的细节变得柔软、拉伸在仅用于姿态的图层上进行精修(线性混合)
将 Create Shell 的数值理解为 mm;插入件与表面接触壁厚错误;部件连成一体测量 thickness;将插入件放在内部,并用作切割器排出材料
从外侧加厚壁面雕刻形体发生偏移将切割器向内移动,并检查 outer_drift
预处理后再进行蒙版或编辑减面操作忽略这些修改重新预处理(封装器始终会这样做)
键位没有间隙“20 个圆盘得赶在中午前打磨完”(Hasbro)偏移 0.12 mm,测量并进行测试打印
STL 未指定单位150 mm 被打印成 150 英寸标明 mm,或提供 3MF

交接

  • 接收来自 scenario-zbrush-sculpting、scenario-zbrush-character-creature、 scenario-zbrush-stylized 或 scenario-zbrush-hard-surface 的内容:带有命名 SubTool、 各级细分(或用于 Proxy Pose 的 DynaMesh)和每个部件对应多边形组的版本化 ZTL,以及最新审核表;如果雕刻没有细分级别,则接收 来自 scenario-zbrush-retopology-export 的投影堆栈。
  • 发送给 scenario-blender-rigging 或 scenario-maya-expert:TPose OBJ 和一份计划(关节、 角度、每根骨骼对应的刚性部件),并要求返回时保持相同的顶点顺序。
  • 将摆姿雕刻(图层、ZTL、ZPR、表格)交付给 scenario-zbrush-paint-render;将打印 套件(单位为 mm 的 STL 和 3MF、报告、表格、部件和键位列表)交付给用户或打印方。

ZBrush 2026 说明

  • Proxy Pose(2023.1)位于 Tool > Geometry 中。Transpose Master 仍随附(“保存文件后处于非活动状态”的问题已在 2025.2 修复);其数据保存在 ZPR 中。文档中的干净项目 DefaultCube.ZPR 不在 2026.2.1 安装包中:使用 Lightbox/Projects/DefaultProject.ZPR [待验证]。
  • 3D Print Hub 提供 Export to 3MF(相关错误已在 2026.2.1 修复)。Update Size Ratios 和 Scale Master Set Scene Scale 会打开对话框:请使用导出缩放流程。
  • From Thickness(2026.2.1 中标记为 Min Thickness、Max Thickness、Ball or Ray)会在 Max Thickness Polygons 上方询问“多边形过多……是否继续?”。此提示会卡住桥接,因此 from_thickness 会先拒绝操作。
  • Live Boolean 会从结果中移除 UV、折痕、3D 图层和遮罩:请对打印副本执行布尔运算。Decimation Master 和 Transpose Master 是 ZScript 插件:请确认控制权已返回(live_p01、p07)。在 macOS 上,Cmd+W 会退出 ZBrush。

参考资料

  • references/procedures.md:包含完整代码的桥接操作流程(缩放和简要说明、干净项目、Transpose Master、三种绑定流程、修复、镂空链路、键、遮罩抽减、交付)。操作 ZBrush 前请加载。
  • references/expert-notes.md:专家原则及时间戳和决策条件。规划姿势或套件时加载。
  • references/critique.md:针对姿势、变形和打印部件的评估标准。每个检查点都要加载。
  • references/gui-paths.md:供计算机操作 Agent 或人工使用的调色板、按钮和快捷键。
  • references/sources.md:来源、凭据、时间戳和修订记录。
  • scripts/zb_pose.py(在 ZBrush 内)和 scripts/zb_print.py(Agent 端,numpy):离线测试位于 tests/code/zbrush-pose-print/;live_p01 到 live_p08 的实时测试尚未在 ZBrush 中运行。

评论

支持 Markdown