mcpField
S
scenario-zbrush-sculpting

scenario-zbrush-sculpting

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

关于 scenario-zbrush-sculpting

scenario-zbrush-sculpting 是供 Agent 在 ZBrush 中执行雕刻的技能,提供从基础形体到细化的分阶段流程。它结合确定性操作、规划笔触、测量和视觉审查。

主要功能

  1. 01用基本体或 ZSpheres 搭建初稿
  2. 02规划并执行脚本笔触
  3. 03跨细分级别细化形体
  4. 04测量并检查各雕刻阶段
  5. 05每轮操作后审查渲染

适用场景

  1. 01搭建角色或生物的初稿
  2. 02细化主要与次要形体
  3. 03验证每轮雕刻后的变化

安装

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

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

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

包含的文件

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

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

详细介绍

ZBrush 雕刻(核心形体、脚本化笔触)

专业雕刻从大形推进到小形,并设有关卡:只有形体需要时才提高轻量网格的分辨率;以低强度薄层沿形体铺设黏土;最后才处理锐利边缘,而且绝不在薄弱的形体上做锐化。Agent 没有画笔:它会先使用精确操作(基本体、ZSpheres、DynaMesh、遮罩加 Deformation 滑块),再根据模型空间中的形体规划笔触、对准视图、测量体积,并在每次处理后检查(scripts/zb_sculpt.py)。 如果这里提到的某个相关技能不在你可用的技能列表中,请让用户安装它 (npx skills add scenario-labs/skills --skill <name>);如果无法等待,请根据工具架构继续操作,并标明这一缺口。

必备背景知识: scenario-zbrush-expert(桥接、笔触引擎、检查循环、2026 年陷阱)。

原则(专家的关键差异)

  • 压力是隐藏设置。 Henning Sanden 使用 ClayBuildup Z 20 起形时,笔压可能只有「30%」(0PaYUUvgwYM 00:04:58);脚本化笔触的压力则是恒定的。黏土起步设为 Z 6,细化时降至 2 到 1;每个会话校准一次(zs.run_calibration),检查后再调整整轮处理的效果:部分 Morph 值会使效果变柔和,负值则会加剧效果(Drust,B_wKwXwjcZs 00:05:20);图层强度在不同级别上也有同样作用。
  • 横跨形体铺设黏土,沿形体画线。 Henning 表示,横向笔触会在中心形成峰值,并向边缘渐隐;纵向笔触则是在「描绘形状」(0PaYUUvgwYM 00:02:13、00:30:39)。Pablo Munoz Gomez 先沿长形体铺设大块体量,再用较小的笔触横向处理;绝不试图一笔塑造一块肌肉(tbQqC6tyDBQ 00:06:32)。每个形体都由一条中心线和一个宽度构成。
  • Standard 设定边缘,Clay 塑造形体,ClayBuildup 会抹去下方形体。 Standard 会推动现有形体,因此能赋予形体明确特征(Henning,0PaYUUvgwYM 00:27:26);ClayBuildup 会替换其下方的形体,因此绝不能在细节之后使用(TpS0QdlfHWU 00:07:44)。Pablo 先用较高的 Z 值通过 Standard 设定硬边缘,再用 Clay 将其融合(tbQqC6tyDBQ 00:10:27)。
  • 优先细化,而非平滑;低分辨率起形阶段除外。 Henning 通过逐渐降低强度的笔触消除痕迹,并在「足够好」时才平滑一次(TpS0QdlfHWU 00:22:26、00:22:58);Pablo 在起形阶段会随意平滑(tbQqC6tyDBQ 00:02:29)。S1 低分辨率阶段:使用 Polish 滑块;从 S2 开始处理皮肤:逐级向下处理。
  • 形体仍在变化时使用 DynaMesh,稳定后再细分级别。 过早使用高分辨率 DynaMesh 会得到「一团凹凸不平的东西」(Pablo,tbQqC6tyDBQ 00:04:38),而且分辨率相对于物体大小而言(FrqUnna1jns 00:13:40)。绝不要细分 DynaMesh:它的三角形和星形极点会形成无法靠平滑消除的凸块(rArw79xEpvE 00:09:44)。复制一份并使用 ZRemesher,再细分并投射。
  • 严格管理细分级别。 SDiv 1 时处理大形(在最高级别上推动形体「看起来会很怪异」);在 SDiv 2 或 3 时塑造次级形体,然后逐级向上细化;绝不要把所有工作都留到最高级别(Pablo,rArw79xEpvE 00:12:28、00:14:16;tbQqC6tyDBQ 00:12:26)。细节绝不能改变轮廓(tbQqC6tyDBQ 00:13:27)。
  • 先不使用笔触。 Pablo 表示,起形时整个过程「甚至完全不使用任何画笔」(gitoJ7B8FmY 00:05:26)。对 Agent 而言,这些操作是精确的:按数量放置基本体,用代码创建 ZSpheres,使用遮罩加 Deformation 滑块,以及 Mirror 后再执行 Mirror And Weld。
  • 雕刻成败取决于中频细节。 FlippedNormals 称其为细节塑造的骨干;过早添加毛孔会让你「落后两个级别」(G2o6fdoACIQ 00:05:46、00:08:17)。细节「无法弥补薄弱的雕刻」(Pablo,tbQqC6tyDBQ 00:12:50)。

首先确定

输入影响内容简报未说明时的默认值
主体基础路线和点数阶梯(STAGES[...]["points"]):头部、角色从球体开始塑造头部胸像
用途概念设计:做到 S3 或 S4 即可,即使只有四边面也足够(tbQqC6tyDBQ 00:11:43);影视或游戏:微细节处理前先进行重拓扑(Zp07GW3rND0 00:08:22);打印:scenario-zbrush-pose-print概念设计
风格写实:scenario-zbrush-character-creature;风格化:scenario-zbrush-stylized中性形体
形体列表zs.Form 中心线及宽度,依据简报和领域技能的比例无:询问领域技能
头部宽度(模型单位,ref_width)每个笔刷尺寸正视图中的模型宽度
视图正视图按 [obj] 测量;其他视图需要采用 live_04 约定正视图

工作流

每一轮:Scene.capture,制定计划(clay_pass、move_pass、crease_pass),preview_plan(查看效果), run_plan,pass_report,zb_review.review,然后指出最薄弱的一项并修复。每个关卡都保存一个带版本号的 ZTL。

  1. 会话。 zb_launch.start(),设置中性状态(P1),进行校准(P2)。每一轮都关闭透视(Draw:Perspective)和 LazyMouse:其半径会吞掉合成路径的起始部分(Pavlovich AdkZe1yKFTU 00:03:31)。关卡:文档缩放为 1,存在校准结果,或已注明 v02 先前状态。

  2. S0 基础。 任选其一:分辨率为 128 的球体 DynaMesh(约 43k 个点);使用 zsphere_code 创建 ZSphere 骨架,以 Density 1 或 2 生成 Adaptive Skin,并将 DynaMesh Resolution 设为 0(Pablo),然后执行 DynaMesh 64;附加基本体,并通过 Geometry Position 和 Size 放置(P3)。关卡:从正面和侧面看轮廓都清晰可辨;点数符合 S0。

  3. S1 初级塑形。

    • 先移动,再重新执行 DynaMesh(move_pass、remesh_due,然后 remesh_code,P16:Draw 模式、清除遮罩、关闭 polypaint 以保留 polygroups,并提供已重新网格化的证明)。
    • 使用 Clay 塑造各个形体(clay_pass,预设 clay_block);用雕刻形体表现眼窝(sign=-1);使用 TrimDynamic 平面(preset="trim")。开启对称:计划仅覆盖 +X 半侧。

    关卡:stage_gate("S1") 通过;图纸比例正确、每个元素都齐全(G2o6fdoACIQ 00:02:50),大体块简洁明了。

  4. S2 一级细化。

    • 提高分辨率:按平方规律提升(next_dynamesh_resolution),趋向 40 万到 80 万个点; 生物:将部件 MergeDown(原位操作;MergeVisible 会新建一个 Tool;其确认对话框可能 阻塞桥接 [待验证],所以先保存 ZTL),DynaMesh 设为 256。
    • 依次以 Z 6、3、2、1 进行细化,并放大查看每个区域(descent,P7);用 TrimDynamic 处理多余的凸起。
    • 眼睛(P17):按编号放置眼球球体,每个向外旋转 3 到 7 度(Costa j5XLtLMN0P8 00:29:10);用 Dam_Standard 切出眼睑,再将其向外移动,使之包住眼球 (Henning TpS0QdlfHWU 00:18:33)。Henning 在开启透视的情况下塑形(00:17:28):笔触 保持正交,其视觉效果由 persp_snapshot_code 读取。
    • 在进行任何重新 DynaMesh、ZRemesher 或 Divide 之前,检查风险较高的步骤并调整(P8): 点数变化会破坏 Morph Target,而 dial_code(..., expect_points=) 会拒绝执行。

    GATE:在 Red Wax 下形体干净,没有拉伸的面,笔触痕迹逐渐消退。

  5. 退出 DynaMesh,当形体已稳定且 S3 需要细分级别、即将进行重拓扑,或后续的大幅改动必须保留细节时。Henning 的纯 DynaMesh 细化层级方案达到 648 级,适合概念静帧: 说明所选方案及原因。细分级别(P11):保存带版本号的 ZTL,Duplicate,使用 ZRemesher 处理副本,再 Divide 直到达到 projection_ready,然后调用工具包的 zb_ops.project_all(checkpoint=...),它会按安全顺序执行(保存带版本号的文件、在顶层存储 Morph Target 并新建图层、降低 PA Blur、设置关卡、执行 morph_repair);切勿重新实现此流程。

    GATE:目标点数不少于草图中的点数,体积偏差在 1% 以内 [已添加],图层未改变,并逐级检查眼睛和嘴部(修复:scenario-zbrush-retopology-export)。

  6. S3 二级细化。

    • 在细分级别上(P15):使用 level_for("secondary")(SDiv 2 或 3),然后每次向上一级使用 "refine";大幅修正时返回 level_for("big") = SDiv 1;仅在顶层进行三级细化和图层操作。
    • 在非对称处理阶段关闭对称;在大型结构上使用 pattern="two_direction";预设为 clay_secondary。

    GATE:mirror_asymmetry 大于零,中间带细节高于 S2,雕塑在缩略图大小下不依赖细节也清晰可辨。

  7. **S4 对比度。**沿褶皱使用 Dam_Standard(crease_pass),刻得比直觉认为合适的更深 (0PaYUUvgwYM 00:19:49);在眼睑、嘴唇和眉缘的凸起 Z 方向使用 Standard(preset="standard"), 再用黏土笔刷融合;在两条切线之间使用 fill_between。GATE:与 S3 相比,形状 IoU 至少为 0.98 [已添加]; 褶皱深度沿线有所变化。

  8. 移交 S5 和 S6,并附上 P14 包,交由领域技能处理。

数值

值数值相对于来源
脚本化 Z,粘土块面 6、细化 2、收尾 2;递减 6、3、2、1专家级 Z 乘以 0.3 压力Henning 00:04:58;摘要推导
笔刷直径粘土块面 15 到 35 %、次级 10 到 15 %、细化 3 到 8 %、Dam 3 到 7 %、Standard 1 到 2 %、Move 设计 60 到 90 %、Move 局部 10 到 15 %视图中的头部宽度(Draw Size 是画布像素:zb_sculpt 通过 ppu 转换);粘土保持在形体宽度的 0.5 到 1.0 倍范围内FlippedNormals 帧;摘要 T1
ClayBuildupFreeHand、Focal -56、Alpha 06 或 Off;Imbed 20、Roll Dist 约 6Henning;Morten;Pablo 帧 00:05:55
Dam_StandardDots、Focal -14、Zsub、Z 15(大切口为 33)“比起始值低十”0PaYUUvgwYM 00:18:42;TpS0QdlfHWU
Move / TrimDynamicFocal 0、Z 51 / Focal -56、Z 43 降低、ZsubTpS0QdlfHWU 帧
头部点数阶梯43k 球体、96k 到 99k S1、400k 到 826k S2、1.6M 到 2.46M S3 和 S4点数FlippedNormals 帧
生物点数阶梯皮肤 6k、部件 28k 到 43k(DynaMesh 64 到 128)、合并后 256 = 367k、SDiv 5 = 3.8M点数Pablo tbQqC6tyDBQ 帧
DynaMesh点数随分辨率的平方增长;限制:在 1024 立方体中细节安全,封顶 2048(约 24M 多边形)包围盒最长边;每个 SubToolTpS0QdlfHWU 阶梯;DynaMesh 文档
Divide、ZRemesher每级 x4;目标值以千为单位,5 得到 4,963Pablo rArw79xEpvE 00:03:16
每次操作的 SDiv大幅移动 1;次级 2 或 3;三级细节和图层置顶堆栈层级Pablo rArw79xEpvE 00:12:28、00:14:16
投射目标点数应达到草图点数或更高(745k 对 400k);FlippedNormals 约 3MVRisbJQAaZw 00:17:24;Zp07GW3rND0 00:01:02
眼睛角度每只向外 3 到 7 度,约 5 度正前方Costa j5XLtLMN0P8 00:29:10
阶段门槛无效笔触最多 10 %;边缘 cv 达到 1.5 x 时重新执行 DynaMesh;Polish 偏移 2 %[已添加]

质量门槛

  • **量化检查:**每次操作后运行 pass_report(无效笔画、体积变化方向、视图偏移、枢轴移动、未找到设置);检查 remesh_code(...)["ok"];核对点数与 STAGES 及该操作的 SDiv;检查 stage_gate(预算、SDiv 1 以上的大幅移动、形状 IoU、非对称性、条带);检查 zb_audit.verdict(..., "sculpt")、remesh_due、Polish 偏移、projection_ready。
  • **目视检查:**使用 MatCap Gray 查看检查表(正面、右侧、背面、四分之三视角、顶部);查看 Flat Color 剪影,并将检查表缩至缩略图大小;使用掠射视角、Red Wax 查看笔迹,并在移动光源下使用 Standard 材质(MatCap 会烘焙光照)或使用 BPR 查看形体;使用透视外观渲染检查眼睛;查看 references/critique.md 中的阶段检查清单。未查看检查表前,绝不要判定阶段完成。

常见错误

错误表现修正
将 Expert Z 当作脚本 Z 使用(ClayBuildup 20)出现生硬的凸脊、肌肉像是一次笔画画成Z 设为 6,校准后再调整笔画
沿着形体拖动 Clay出现绘制出的沟槽,没有体积clay_pass 使用交叉排线
笔画从模型外开始笔画没有任何变化,视图可能会转动计划会裁剪到画布蒙版;重新捕获
忘记关闭 LazyMouse笔画起始位置偏移,短笔画无效pass_spec 默认设置为 lazymouse=False
把皮肤上的笔迹平滑掉“半光滑但有细节”,体积流失逐级降低分辨率进行雕刻;仅在低分辨率或较低 SDiv 下使用 Polish
在已完成的细节上使用 ClayBuildup线条和毛孔被抹掉边缘使用 Standard;先用 clay,再做细节
对 DynaMesh 执行 Divide出现凸块和星形极点使用 ZRemesher、Divide、project_all
在最高级别执行大幅 Move出现变形的凸块使用 level_for("big"),然后再升回去
开启蒙版或处于 Move 模式时重新执行 DynaMesh未进行任何重新网格化(该操作只清除了蒙版)使用 remesh_code
开启 polypaint 时执行 DynaMesh重新网格化后多边形组消失使用 keep="groups"(关闭 Colorize),或 "polypaint";切勿同时使用
重新网格化或 Divide 后调整 Morph目标已消失先调整;使用 expect_points
SubTool 变更后仍假定对称设置保持不变笔画只落在一侧对称设置是按 SubTool 分别设定的(Pablo RABWfzWNw0c 00:27:02):每次操作都要设置
将 Brush:Smooth 选作笔刷无法平滑(它只会成为 Shift 笔刷)使用 Deformation Polish,降低 SDiv
开启 LSym 时使用 Mirror And Weld,或以错误的一侧为源在局部镜像或复制错误的一侧关闭 LSym;先使用 Deformation Mirror(9a9S1OcYHx4 00:09:35)

交接

  • **接收:**从 scenario-zbrush-expert 接收会话、简报和带版本号的 ZTL;从 scenario-zbrush-retopology-export 接收清理后的 AI 网格或扫描网格(scenario-3d 网格也通过这种方式传递); 从领域技能接收比例和形态列表。
  • **交付:**P14 包(带版本号的 ZTL、stats()、最后一张图表、JSON 格式的形态、校准、 门禁):将真实感 S3 或 S4 形态分层交付给 scenario-zbrush-character-creature;将形状语言 相关工作和头发交付给 scenario-zbrush-stylized;将有机基础形态交付给 scenario-zbrush-hard-surface;将 完成的雕刻交付给 scenario-zbrush-retopology-export。

ZBrush 2026 说明

  • 透视功能为 Draw:Perspective(已安装的 commands.xml);Transform:Persp 不存在 (zs.PERSP_PATHS)。PolyFrame 为 Transform: Pf。
  • Brush:Dam_Standard 无法解析 [v03];zb_ops.select_brush("Dam_Standard") 可找到 DamStandard。
  • 平滑笔刷只能绑定到 Shift,press_key 不起作用:Zsub 会替代 Alt,Deformation Polish 会替代 Shift,Masking 按钮和 Mask Changed Points [verify] 会替代 Ctrl 手势。
  • 没有撤销控制(merge_undo 是空操作):每个阶段使用 Morph Target 或图层,并为各阶段保存带版本号的 ZTL。
  • Gizmo 变形器和 Transpose 拖动只能通过 GUI 操作;除非将 Focal Shift 设为 -100,否则 Gizmo 的变形效果较柔和。Local Symmetry 会跟随 Gizmo:执行 Mirror And Weld 前先将其关闭。
  • Sculptris Pro:无级别;仅支持 Dots、FreeHand 和 Spray。Chisel 的默认笔触在 2025.1 中已更改:每次操作都要设置笔触类型。

参考资料

  • references/procedures.md:每个步骤(P0 到 P17)的桥接代码及其实时测试。编写桥接代码前加载。
  • references/expert-notes.md:专家观点详解及分歧表。选择方案时加载。
  • references/critique.md:各阶段评审标准、AI 网格判断、笔触计划审查。每次门禁检查时加载。
  • references/gui-paths.md:快捷键、调色板路径和笔刷设置(计算机使用 Agent)。
  • references/sources.md:来源、凭据、URL、时间戳。
  • scripts/zb_sculpt.py:阶段、预设、Scene、生成器、校准、操作执行、重网格、级别、评审指标。测试:tests/code/zbrush-sculpting/(离线测试已通过;尚未在 ZBrush 中运行实时测试)。

评论

支持 Markdown