mcpField
S
scenario-zbrush-sculpting

scenario-zbrush-sculpting

github.com/scenario-labsクリエイティブ・メディア1.2k187 回インストール1 日前に更新
リポジトリ

scenario-zbrush-sculpting について

scenario-zbrush-sculptingは、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 のスカルプト(コアフォーム、スクリプト化されたストローク)

熟練したスカルプトは、大きな形から小さな形へと、段階を踏んで進めます。軽量なメッシュの解像度を上げるのは、フォームが求めたときだけです。クレイはフォーム全体に薄く、低強度で重ね、シャープさを加えるのは最後にします。弱い形にシャープさを加えることはありません。エージェントにはペンがありません。まず正確な操作(プリミティブ、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 はエッジを定め、クレイは形を作り、ClayBuildup はその下を消します。 Standard は既存の形を押し出すため、特徴をはっきりさせるのに使います(Henning 0PaYUUvgwYM 00:27:26)。ClayBuildup はその下にある形を置き換えるため、ディテールを加えた後には使いません(TpS0QdlfHWU 00:07:44)。Pablo は Z を上げた Standard で硬いエッジを定めてから、クレイでなじませます(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 を Divide してはいけません。三角形と星形のポールが塊になり、どんなスムージングでも直せなくなります(rArw79xEpvE 00:09:44)。コピーを ZRemesher にかけて Divide し、投影します。
  • レベルを守って作業します。 大きな形の変更は 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)。エージェントにとって、これらは正確な操作です。数値を指定してプリミティブを配置し、コードで ZSpheres を作り、マスクと Deformation スライダーを組み合わせ、Mirror の後に Mirror And Weld を実行します。
  • スカルプトの成否を分けるのは中間周波数です。 FlippedNormals はこれをディテール作成の「背骨」と呼んでいます。早い段階で毛穴を加えると、「2 レベル遅れた」状態になります(G2o6fdoACIQ 00:05:46, 00:08:17)。ディテールで「弱いスカルプトを直すことはできません」(Pablo tbQqC6tyDBQ 00:12:50)。

まず確立する項目

入力変更内容brief に記載がない場合のデフォルト
対象ベースのルートとポイントの段階設定(STAGES[...]["points"]):頭部、クリーチャー球体から作る頭部のバスト
目的コンセプト:S3 または S4 で止めます。クワッドだけでも十分です(tbQqC6tyDBQ 00:11:43)。映画またはゲーム:細部の前にリトポロジーを行います(Zp07GW3rND0 00:08:22)。プリント:scenario-zbrush-pose-printコンセプト
スタイルリアル:scenario-zbrush-character-creature。スタイライズド:scenario-zbrush-stylizedニュートラルな形状
フォーム一覧brief とドメインスキルのプロポーションに基づく、中心線と幅を指定した zs.Formなし:ドメインスキルに確認する
モデル単位での頭部の幅(ref_width)すべてのブラシサイズ正面ビューでのモデル幅
ビュー正面は測定済み [obj]。ほかのビューには live_04 の規約が必要です正面

ワークフロー

各パスで、Scene.capture、プラン作成(clay_pass、move_pass、crease_pass)、preview_plan(内容を確認)、run_plan、pass_report、zb_review.review の順に実行し、最も弱い項目を 1 つ挙げて修正します。各ゲートでバージョン管理された ZTL を保存します。

  1. セッション。 zb_launch.start() を実行し、中立状態(P1)にしてキャリブレーション(P2)を行います。各パスでは、「Draw:Perspective」と LazyMouse をオフにします。LazyMouse の半径が合成パスの開始部分を覆ってしまうためです(Pavlovich AdkZe1yKFTU 00:03:31)。GATE:ドキュメントのズームが 1 で、キャリブレーションがあるか、v02 の既定値が記録されていること。

  2. S0 ベース。 次のいずれかを使用します。128 の球体 DynaMesh(約 43k ポイント)、Density 1 または 2、DynaMesh Resolution 0 の Adaptive Skin を使用する ZSphere アーマチュア(zsphere_code)(Pablo)の後、DynaMesh 64。あるいは、プリミティブを追加し、Geometry Position と Size で配置します(P3)。GATE:シルエットが正面と側面で認識でき、ポイント数が S0 の範囲内であること。

  3. S1 プライマリブロックアウト。

    • 移動した後、DynaMesh を再実行します(move_pass、remesh_due、続いて remesh_code、P16:Draw モード、マスク解除、ポリグループを維持するためポリペイントをオフにし、リメッシュされたことを証明します)。
    • フォーム全体に Clay を適用します(clay_pass、プリセット clay_block)。ソケットは彫り込みフォームとして作成します(sign=-1)。TrimDynamic で平面を作成します(preset="trim")。対称をオンにし、プランは +X の半分を対象とします。

    GATE:stage_gate("S1") に合格すること。シートでプロポーションが適切であることが確認でき、すべての要素が揃い(G2o6fdoACIQ 00:02:50)、大きく単純な塊になっていること。

  4. S2 プライマリの調整。

    • 解像度を上げます。頭部は二乗則(next_dynamesh_resolution)に従って、400k~800k ポイントを目指します。 クリーチャーはパーツを 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 です。
    • Morph Target を失う前に、リスクのあるパスをチェックポイントとして保存し、調整します(P8)。再度 DynaMesh を実行したり、ZRemesher や Divide を使ったりする前に行ってください。ポイント数を変更すると Morph Target が失われ、dial_code(..., expect_points=) は処理を拒否します。

    GATE:Red Wax 表示で形状が整っていること、面が引き伸ばされていないこと、ストローク跡が目立たないこと。

  5. 形状が固まり、S3 でレベルが必要になった場合、リトポロジーを行う場合、または後の大きな変更でもディテールを維持する必要がある場合は、DynaMesh を終了します。Henning の DynaMesh のみで 648 まで進めるラダーはコンセプト静止画に適しています。どちらのルートを選ぶか、その理由を明記してください。レベルを使う場合(P11):バージョン管理された ZTL を保存し、複製して、そのコピーに ZRemesher を実行します。projection_ready になるまで Divide を行い、その後、ツールキットの zb_ops.project_all(checkpoint=...) を使用します。これにより、安全な順序(バージョン管理された保存、最上位レベルでの StoreMT と New Layer、PA Blur の低減、ゲート、morph_repair)が適用されます。これを再実装しないでください。

    GATE:ターゲットのポイント数がスケッチ以上であること、ボリュームの差が 1%以内であること[追記]、シートに変更がないこと、目と口をレベルごとに確認していること(修復:scenario-zbrush-retopology-export)。

  6. S3 セカンダリ。

    • レベルを使います(P15)。level_for("secondary")(SDiv 2 または 3)を実行し、その後 "refine" で一度に 1 レベルずつ上げます。大きな修正を行う場合は 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")、クレイでなじませます。2 つのカットの間は fill_between で埋めます。GATE:S3 との形状 IoU が 0.98 以上であること[追記]、しわの深さが線に沿って変化していること。

  8. 引き継ぎます。 P14 パッケージを添えて、S5 と S6 をドメインスキルに引き継ぎます。

数値

値数値基準出典
スクリプト Z、clayblock 6、refine 2、finish 2;descent 6、3、2、1expert Z の 0.3 倍の筆圧Henning 00:04:58;digest derivation
ブラシ径clay block 15~35%、secondary 10~15%、refine 3~8%、Dam 3~7%、Standard 1~2%、Move design 60~90%、Move local 10~15%ビュー内の頭部の幅(Draw Size はキャンバスのピクセル数です。zb_sculpt は ppu を使って変換します);clay は形状の幅の 0.5~1.0 倍に保ちますFlippedNormals frames;digest T1
ClayBuildupFreeHand、Focal -56、Alpha 06 または Off;Imbed 20、Roll Dist 約 6Henning;Morten;Pablo frame 00:05:55
Dam_StandardDots、Focal -14、Zsub、Z 15(大きなカットでは 33)「開始位置より 10 下」0PaYUUvgwYM 00:18:42;TpS0QdlfHWU
Move / TrimDynamicFocal 0、Z 51 / Focal -56、Z 43 lowered、ZsubTpS0QdlfHWU frames
頭部のポイント数の段階43k sphere、96k~99k S1、400k~826k S2、1.6M~2.46M S3 および S4ポイントFlippedNormals frames
クリーチャーの段階skin 6k、pieces 28k~43k(DynaMesh 64~128)、結合後 256 = 367k、SDiv 5 = 3.8MポイントPablo tbQqC6tyDBQ frames
DynaMeshポイント数は解像度の 2 乗に比例して増加します。制限:詳細は 1024 キューブ内で安全、上限 2048(約 24M ポリゴン)bbox の最長辺;SubTool ごとTpS0QdlfHWU ladder;DynaMesh doc
Divide、ZRemesherレベルごとに x4;目標値は千単位、5 では 4,963Pablo rArw79xEpvE 00:03:16
操作ごとの SDiv大きな移動は 1;二次的な操作は 2 または 3;三次的な操作とレイヤーは上位スタックのレベルPablo rArw79xEpvE 00:12:28、00:14:16
Projection目標ポイント数はスケッチと同数以上(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 を超える大きな Move、形状 IoU、非対称性、バンド);zb_audit.verdict(..., "sculpt");remesh_due、Polish のずれ、projection_ready。
  • 目視項目: MatCap Gray でのレビューシート(正面、右側面、背面、斜め前、上面);Flat Color のシルエットとサムネイルサイズのシート;フォームを読み取るためのかすめる角度からのビュー、マークの確認に使う Red Wax、移動するライトの下での Standard マテリアル(MatCap はライトを焼き込むため)、または BPR;目の確認用のパースビューのルックレンダー;references/critique.md のステージチェックリスト。シートを確認せずにステージを完了としないでください。

よくある間違い

間違い見た目修正
スクリプトの Z のつもりで Expert Z を使う(ClayBuildup 20)鋭い隆起、1ストロークで筋肉ができるZ 6 にしてキャリブレーションし、パスを調整する
フォームに沿って Clay をドラッグする溝が描かれるだけで、ボリュームがないclay_pass で横切るようにハッチングする
モデルの外からストロークを開始するストロークが何も変えず、ビューが回転することもあるプランはキャンバスマスクにクリップされます。再キャプチャする
LazyMouse をオンのままにするストロークの開始位置がずれ、短いストロークが反映されないpass_spec のデフォルトを lazymouse=False にする
スキン上のマークをスムージングで消す「半分だけ滑らかで、ディテールはある」状態になり、ボリュームが失われるディセントパスを使う。Polish は低解像度か、より低い SDiv でのみ使う
仕上げたディテールの上から ClayBuildup を使う線や毛穴が消えるエッジには Standard を使い、ディテールの前に clay を使う
DynaMesh を分割するこぶや放射状のポールができる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 に関する注意事項

  • Perspective は 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 のジェスチャーを置き換えます。
  • Undo の制御手段はありません(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:ホットキー、パレットのパス、ブラシ設定が記載されています(コンピューター操作エージェント向け)。
  • references/sources.md:ソース、認証情報、URL、タイムスタンプが記載されています。
  • scripts/zb_sculpt.py:ステージ、プリセット、Scene、ジェネレーター、キャリブレーション、パスの実行、リメッシュ、レベル、レビュー指標が記載されています。テスト:tests/code/zbrush-sculpting/(オフラインテストは合格済み。ZBrush でのライブテストはまだ実行されていません)。

コメント