mcpField
S
scenario-zbrush-paint-render

scenario-zbrush-paint-render

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

关于 scenario-zbrush-paint-render

面向 ZBrush 角色上色与展示的技能,适用于需要系统化处理顶点色、贴图和渲染的创作者与 Agent。它通过解剖色区、遮罩绘制、分阶段审阅和贴图预算检查来组织上色,并覆盖作品集视图与转台输出。

主要功能

  1. 01按解剖区域规划颜色分区
  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-paint-render

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

包含的文件

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

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

详细介绍

ZBrush 绘制与渲染(纹理与呈现艺术家)

在 ZBrush 中进行专业绘制,就是把观察系统化:根据皮肤下的结构布置色区,增强到足以穿透着色器的程度,在中性、平涂视图中评判,并以网格能够承受的分辨率烘焙。对于没有数位板的 Agent 来说,大部分工作都靠按钮完成:通过生成的遮罩以选定强度填充、将色区图像投射到网格上,以及对渲染进行测量和观察。如果这里提到的同名配套技能不在你可用的技能中,请让用户安装(npx skills add scenario-labs/skills --skill <name>);无人值守时,请根据工具架构继续操作,并标明这一缺口。

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

原则(专业技巧增量)

  • 最后绘制,并在最高细分级别操作。 Polypaint 是每个顶点一种颜色:在较低级别绘制会模糊,之后再添加细分级别会破坏效果,而且贴图受点数限制(2K 贴图约需 4M 个点;用 4K 贴图纯属浪费)(FlippedNormals)。
  • 在中性和纯色视图中评判。 使用 SkinShade4 或 MatCap White01,并搭配 Flat Color。有色调的 MatCap 会让你矫枉过正,导致导出效果在其他地方看起来不对(FlippedNormals、Pablo)。
  • 先结构,再美化。 先制作纯黄色、红色和蓝色的分区图,并按解剖结构布置:骨骼和脂肪用黄色,薄组织用红色,凹陷用蓝色,男性身上低处用更多蓝色。然后以低不透明度覆盖肤色,让分区隐约透出(Pablo)。对于 Agent,这也是一种可以用数字检查的做法。
  • 遮罩是“真正的诀窍”(Pablo): 使用生成器、Mask Adjust、反转遮罩,再通过遮罩上色。对于 Agent,做法是通过反转后的遮罩,以较低 RGB Intensity 使用 FillObject 这把大号软笔刷:其效果随 RGB Intensity 缩放(FlippedNormals);Pavlovich 通过反转后的 AO 遮罩填充,工具提示显示“Fill 3D Object Masked”。
  • 饱和度是风格化的调节旋钮(Pablo);绘制时要考虑之后会被稀释(FlippedNormals)。 着色器会冲淡 Polypaint。确定最终渲染器后,再决定增强到什么程度,并让真实肤色处于拾色器的中间区域。
  • 对比度引导视线。 最强的明度或饱和度对比应放在眼睛上;眼睛和嘴巴最值得花时间(FlippedNormals)。
  • 先小而快,再大而慢(Pavlovich)。 以较高的 Error Threshold 进行小范围测试,并排比较渲染结果,再根据各个渲染通道重建最终效果,而不是重新渲染。
  • 可见性陷阱(Maxon 文档)。 显示的纹理会遮住 Polypaint。在 Redshift 中,只有 Polypaint 材质会显示绘制结果(Use Material Color 0、白色 Base);SSS Weight 设为 1 会遮住绘制结果,而 MatCap 不显示纹理。

首先确定

输入变更简述未说明时的默认值
用途:游戏反照率、电影外观开发参考、静帧、彩色打印、概念绘画覆涂是否允许绘制阴影;贴图尺寸;交付物展示静帧,颜色保留为多边形绘制
渲染器材质、通道、转台方案BPR。Redshift 是独立应用,mx1 product list 显示它尚未安装在这台 Mac 上(2026-09-24);安装前请先询问
风格饱和度目标、色区简化上游技能的风格:scenario-zbrush-character-creature 为写实风格,scenario-zbrush-stylized 为风格化
主体:性别、年龄、体型、肤色色区布局和色相询问一次;若仍未说明,则假设为浅肤色、体型平均的成年人,并明确说明这一点
颜色交付物UV、贴图尺寸、Flip V顶点颜色;仅在存在 UV 时添加贴图
图像文档尺寸、视图、转台1920 x 1080(Pavlovich);正面、四分之三视角、侧面和背面;供审核的转台为 36 帧,交付时为 30 fps 下的 180 帧(Movie 默认值)[已添加]

工作流

工具包:scripts/zb_paint.py,通过 zp.remote("name", ...) 调用 ZBrush 端的函数;完整代码见 references/procedures.md。每完成一个阶段,都保存一个带版本号的 ZTL:没有撤销功能。

  1. 预检。 paint_state()(细分级别、点数、UV、纹理显示)、recommend_map_size(points)、texture_off(),然后保存 ZTL。关卡:位于最高级别,map_budget(points, side) 检查通过,磁盘上有 v001。如有需要,现在就细分,绝不要等到开始绘制后再做。
  2. 设置和底色。 set_paint_mode("rgb")(关闭 Zadd 和 Zsub),fill(colour, 100):使用暗淡的肤色底色(FlippedNormals、doc 路线),或使用纯黄色作为分区路线(Pablo)。关卡:正视 Flat 模式显示填充色;Colorize 已开启。
  3. 分区图。 部件(眼睛、围巾、牙齿、衣物):fill_subtools。多边形组:使用 polypaint_from_polygroups() 检查,通过 zone_fill_by_split() 精确填充(Duplicate、Groups Split、分别填充每个部分,再在 Colorize 开启时 Project All 投射回去)。单一网格上的解剖结构:skin_zone_plan → zone_image → polypaint_from_image(使用平面 UV,在创建实际 UV 前);以合成的 Color Spray 笔触作为备用方案。关卡:skin_zone_checks(stage="zones"):额头比中面部更黄,中面部更红,男性的下三分之一更蓝,各自至少相差一个 JND(2.3 Lab);有意呈现小丑效果(Pablo),每个分区都位于对应的解剖部位。
  4. 覆盖和变化。 在分区上以 20% 到 40% 的强度覆盖肤色(doc RGB 约为 30;Pablo 使用低不透明度覆盖);通过分区图噪点或 Color Spray 笔触增加变化。关卡:stage="covered":没有小丑效果(饱和度高于 0.75 的皮肤像素最多为 5% [新增]),存在斑点。
  5. 蒙版处理,使用 mask_pass:以 20% 到 40% 的强度让腔体更暗、更红;使用 PeaksAndValleys(PVRange 14)或 Smoothness,并填充浅暖色;使用 ao_plugin 蒙版添加紫红色底调(之后进行检查)。Pablo 的 Adjust Colors 是一个对话框 [验证 live_p06];通过同一蒙版进行低强度填充可替代它。无法读取蒙版数据:使用 mask_coverage(masked, cleared) 验证蒙版。关卡:每次处理都会略微改变区域统计值,叠加后整体呈现皮肤效果,包括头部后方。
  6. 重点和收尾。 眼睛:将虹膜图像(深色环、下方较浅、上方较深、靠近瞳孔处较浅)投射到眼睛 SubTool 上,然后稍作偏移;处理嘴唇;仅在渲染器不添加 AO 时,才在光线永远无法照到的位置选择性加深;再以 5% 到 10% 的强度轻柔罩染,增加真实感。关卡:最终运行 skin_zone_checks 并检查眼部对比度,然后使用 references/critique.md 中的标准评估 Flat、SkinShade4 和 MatCap White01 图稿(paint_review)。
  7. 交付颜色。 texture_from_polypaint(path, side, flip_v=True) 需要 UV(在克隆体上运行 UV Master,Paste UVs 会保留 polypaint);或使用 OBJ 顶点颜色;或使用 Substance Bridge Send PolyPaint。关卡:贴图预算检查通过,不对称标记位于预期位置,文件已保存到磁盘。
  8. 渲染。 保存,使用 set_document_size(测试时使用较小尺寸;Resize 会清空画布,该函数会重新绘制),使用 render_setup(透视、阴影、AO),再使用 bpr_render 或 paint_views(..., "bpr") 生成匹配视图。关卡:render_checks 检查通过,且已按 100% 缩放检查渲染图。
  9. 渲染通道和转台动画。 使用 export_bpr_pass(可能会打开对话框);使用 subtool_solo_views 加 id_pass 生成小丑通道(不更改 paint 和多边形组);使用 composite(通过蒙版以 Multiply 混合阴影和 AO);分批运行 turntable_frames,每批时长较短,再使用 assemble_turntable。关卡:每一帧方向正确、构图一致;与精美渲染图切换对比时,合成结果更好。
  10. 作品集和报告。 灰色形体视图(colorize_all(False)、zb_review.review,然后恢复),反照率和精美渲染视图、ID 通道、转台动画、一张图稿。报告测量了哪些内容、哪些内容仅通过观察判断,以及哪些步骤未运行。

数值

数值相对于来源
每张 2K 地图约有 4M 个点;2K = 4M 像素,在 UV 覆盖率为 70% 时约有 3M 个可用像素地图边长与顶点数FlippedNormals 00:30:32;文档
FillObject 的 RGB Intensity 设为 N%,即与当前颜色混合 N%当前颜色FlippedNormals 00:02:51
RGB 约为 30 的区域、约为 10 的洗色效果;覆盖 Draw Size 150 的范围,区域值为 100 或更低笔刷笔触文档《Painting a Head》
PVRange 14Mask PeaksAndValleysPablo 01:26:37
Map Border 设为高(frames 4 和 16),开启 FlipVMulti Map ExporterFlippedNormals 00:31:22
最终尺寸 1920 x 1080;测试尺寸 1280 x 720 或 720 x 405;明信片尺寸 3200 x 2133;印刷尺寸为英寸 x 300 ppi文档Pavlovich;文档
最终渲染的 Error Threshold 为 0.01,测试为 1(4 秒对比 9 秒);Progressive 设为 64,降噪时设为 25RedshiftPavlovich 040h 00:44:03
使用 HDRI 时,主灯光为 0.1(绝不设为 0);EXR gamma 为 2.2;macOS Redshift gamma 为 1.8Light,BackgroundPavlovich 00:23:12;文档
Crease Level 比 SmoothSubdiv 低一级(3 和 4)柔和边缘高光Pavlovich 00:21:26
Movie Turntable 默认 180 帧Movie > ModifiersPavlovich FvpG 00:19:56
逼真的平均 HSV 饱和度 < 0.5皮肤区域,Flat 渲染Pablo 01:10:30(拾色器中间位置)
1 JND = 2.3 Lab;小丑色块占比 5%;L* 范围 50;裁切 0.5%;噪声 sigma 2关卡[新增],根据实时渲染进行校准

质量关卡

  • 可测量: paint_state(顶层,Rgb 开启,Zadd 关闭,纹理关闭);map_budget; 遮罩填充前的 mask_coverage 必须大于 0;在正面 Flat 渲染中使用 head_regions_front() 或由地标投影得到的区域进行 skin_zone_checks;render_checks(构图、明暗范围、裁切、噪声);使用带顶部标记的转台帧进行 upright_score 检查;检查磁盘上的文件及其大小。
  • 视觉: 查看五个视角的 Flat、SkinShade4 和 MatCap White01 图表以检查颜色,并查看最终效果的 BPR 或 Redshift 美术渲染。将每张图以 100% 缩放检查色块断裂和边缘,并以缩略图检查区域和明暗值。留意米色或小丑色、嘴唇、眼睛焦点、头部后方、淤青、阴影截断和颗粒。评估标准见 references/critique.md。

常见错误

错误表现修正方法
在顶层以下绘制,或之后再细分绘制模糊、像素化;出现瑕疵最后在顶层绘制;先细分
在带色调的 MatCap 上判断在 ZBrush 中颜色正常,在其他地方却不对SkinShade4、MatCap White01、Flat Color
绘制时未关闭 Mrgb审阅用的 MatCap 不再显示;材质被绘制进去绘制时仅使用 Rgb;M 或 Mrgb 仅用于为渲染材质填充颜色,并在已保存的 ZTL 上操作 [added]
已绘制模型呈现灰色在 MatCap Gray 上显示颜色colorize_all(False),然后恢复
显示了纹理新绘制的颜色不可见texture_off()
直接使用腔体遮罩出现生硬的环状痕迹使用带模糊的 Mask Adjust;降低强度
在数百万个多边形上使用 Mask By AO速度慢、不准确使用 Ambient Occlusion 插件
在已绘制的原始模型上使用 UV MasterPolypaint 被擦除在 Clone 上操作,Copy UVs,Paste UVs
在 4M 个点上使用 4K 贴图浪费贴图,纹素模糊recommend_map_size
Redshift 使用预设材质或 SSS Weight 1绘制颜色消失使用 Polypaint 材质,将 Use Material Color 设为 0,Base 设为白色
在低多边形硬质部位上启用 Smooth Surface着色出现淤痕关闭;使用 Dynamic Subdivision 创建折痕
使用正交视角渲染精美图画面平淡、技术感强开启透视
从脚本运行 Movie > Turntable无法停止;询问是否已有影片使用脚本生成帧,再使用 assemble_turntable
每帧都累加角度旋转角度超过 90 度后翻转使用 turntable_rotations 返回的绝对角度三元组

交接

  • **接收:**来自 scenario-zbrush-sculpting、scenario-zbrush-character-creature 或 scenario-zbrush-stylized 的最终版本化 ZTL,位于其顶层,包含 stats() 和最后一张 评审图,以及以名称标记为 SubTool 的眼睛和部件。来自 scenario-zbrush-hard-surface 的带有 折痕的 SubTool 部件。来自 scenario-zbrush-pose-print 的摆好姿势的 ZTL(尽可能在摆姿势 前使用对称绘制 [已添加])。
  • **交付给 scenario-zbrush-retopology-export:**绘制完成的 ZTL、recommend_map_size 给出的 贴图尺寸建议,以及导出的颜色贴图(texture_from_polypaint),或在烘焙前请求在克隆体上 创建 UV。Multi Map Exporter 的 Texture from Polypaint 会在该技能的贴图批处理中运行。
  • **交付给用户:**精美渲染图、灰度图和反照率图、渲染通道及合成图、转台 MP4 或 GIF、 作品集图和 ZTL 路径,并说明已验证的内容。
  • **协作团队:**scenario-blender-texturing-shading 和 scenario-maya-expert,负责使用顶点 颜色或贴图进行外观开发;scenario-zbrush-automation,负责批量渲染。

ZBrush 2026 说明

  • Redshift 需要单独的应用程序;自 2025.1 起支持使用 OIDN 的 AOV,自 2025.2 起支持与 Cinema 4D 匹配的材质。BPR 没有变化。
  • Substance Bridge(2026.2)会将 polypaint 作为填充图层发送到 Painter;其 Force UV Auto-Unwrap 会移除每个 SubTool 的 UV。
  • 动画:MP4(macOS 上为 MOV),尺寸需缩小到 4095 px 以下。Mask by Smoothness 已在 2024 修复;ZRemesher Keep Polypaint 自 2023 起提供;Ambient Occlusion 插件自 2021.6 起提供。
  • zb_paint.PATHS 会为每个路径标记;许多路径标记为 [strings](此版本中存在该标签)或 [verify]。先运行 live_p01_paint_paths.py:对不存在的路径调用 set() 不会发出提示。
  • zb_paint 中的任何内容都尚未在 ZBrush 中运行;36 项离线测试通过;实时测试位于 tests/code/zbrush-paint-render/live_p01 至 p06。

参考资料

  • references/procedures.md:每个阶段的完整桥接代码。编写任何绘制或渲染代码前都要加载。
  • references/critique.md:评估标准、Z1 和 Z2 完成度测试用例,以及两个评估提示词。每个关卡都要加载。
  • references/expert-notes.md:各位专家的深入记录(含时间戳)、不同意见,以及无需数位板也可沿用的内容。遇到本文未涵盖的决策时加载。
  • references/gui-paths.md:供人工或计算机操作 Agent 使用的面板、快捷键和设置。执行 Spotlight、对话框和仅限 GUI 的步骤时加载。
  • references/sources.md:所有来源及其凭据、URL 和时间戳。

评论

支持 Markdown