scenario-zbrush-stylized について
ZBrushでスタイライズキャラクターやコレクタブルを制作するスキルです。比率の数値化、カーブによる形状作成、段階ごとの品質チェックを通じて、アーティストやエージェントの造形工程を整理します。
主な機能
- 01実寸を基準にしたスタイル比率の定義
- 02シルエットと形状言語によるデザイン
- 03カーブパスによる髪や小物の生成
- 04造形段階ごとの品質チェック
- 05玩具やコレクタブルの制約への対応
活用シーン
- 01スタイライズキャラクターの比率と輪郭の計画
- 02彫刻式または束状のキャラクター髪の設計
- 03印刷サイズを考慮したコレクタブル制作
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ scenario-labs/ skills --skill scenario-zbrush-stylizedインストール後、Claude Code で/scenario-zbrush-stylizedを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/critique.mdexpert-notes.mdgui-paths.mdprocedures.mdsources.mdscripts/zb_stylized.py詳細
ZBrush のスタイライズキャラクターとコレクタブル
エキスパートのスタイライズ作品では、解剖学を意図的に簡略化します。実際のランドマークとプロポーションを基準に、いくつかの明確な誇張を加え、エージェントがシルエットから測定できる形状言語のルールを適用します。カーブはエージェントにとって最適なツールです。髪の束、塊、ストラップ、スカーフの端は計算された3Dパスから作成するため、「調整」するとスカルプトをやり直すのではなくパスが再生成されます。ここに記載されている関連スキルが利用可能なスキルに見当たらない場合は、ユーザーにインストールを依頼してください
(npx skills add scenario-labs/skills --skill <name>)。無人で処理する場合は、ツールのスキーマに従って作業を進め、不足している点を明示してください。
必須の背景知識: scenario-zbrush-expert(ブリッジ、ストロークエンジン、レビューループ、2026年の注意点)。
基本姿勢(エキスパートが重視する点)
- Shane Olson: スタイライズは「解剖学の粗雑さをごまかす口実」ではありません。表面に現れる骨のランドマーク(股関節の突起、膝、両方のくるぶし、肘、鎖骨の上端、首の付け根の椎骨、仙骨の三角形、頭蓋骨)を基準に、スタイライズした骨格をブロックアウトし、見えない骨は省きます。実際のプロポーションから外す場合は、必ず実際の値と比較した明確な調整項目として設定します(膝を脚の中央にする、手を太ももの中央まで届かせる)。動くと誇張が目立つため、調整は慎重に行います。
- Guillaume Tiberghien(Keos Masons): 「シンプルにするのは難しい」。まず解剖学を加え、それから簡略化します。スタイライズとは、木や岩を削ったような明確な方向性のある面、細分化後も直線を保てるように刻んだ方向転換、そして小さな接触影ができるよう互いに重ねた形状を意味します。モデリングが完成するまでは色を付けません。
- Rakan Khamash(Blizzard): 形状言語は好みではなく、ルールの集合です。S字とC字のカーブを使い、平行線を避け、50対50の分割をせず(70対30に寄せる)、上部を広げて下部を細くし、ディテールの隣に余白を設けます。そして「伝えるか、伝えないか」です。キャラクターは部屋の後方からでも認識できなければなりません。ブロックアウトの段階でローポリの90~95%が決まります。
- Cedric Seaut(Keos Masons): シルエットから始めます。複数のデザインを並べることで、形状の違いが明確になります。
- Pablo Munoz Gomez: スカルプトの前に髪の塊を計画し、各塊につき1本、1方向から長いストロークを刻みます。ピッカーの値を少し上回る値でDynaMeshを適用し、Polish 2とClayPolishを使えば「80%まで」仕上がります。
- Dan Eder: 髪の塊はリグのセクションです。一時的なベースの上に、各塊につきチューブ状の毛束を1本ずつ、毛束ごとに1つのポリグループを割り当て、前から後ろへ配置します。毛束には絶対にSmoothをかけません。分け目のあるスタイルは対称化せずに作ってから、ミラーします。MatCapを切り替えて隙間を見つけます。
- Paul Bennett(Hasbro): おもちゃは製品です。まず関節のないニュートラルな立ち姿をスカルプトします。可動部は、衣装でカモフラージュする球体と円盤で構成します。壁厚は1 mmを下回らないようにし、飛び出した毛束は融合させ、指同士を接触させるなどの閉じたループは作りません。ファイルのスケールを明記します(PVCの収縮分として104%)。
まず決めること
| 入力 | 変更内容 | 指示がない場合のデフォルト |
|---|---|---|
| 目的 | ゲーム用(ループ、予算、リグ付きの髪)、コレクタブルまたは玩具(壁、パーツ、スケール)、コンセプトまたは静止画 | ポートフォリオ用静止画 |
| リファレンス | コンセプト画像、ターンアラウンド、スタイル(Overwatch のがっしりした造形、Disney の丸み) | なし:現実を基準にし、指定された誇張のみを加える |
| 髪 | ストランド(リギングまたはチャンクごとのリトポロジー)またはスカルプトした単一メッシュ | スカルプトしたメッシュ(Pablo) |
| 予算 | ヒーローキャラクターと髪の各バージョンの三角形数 | 静止画ではなし。Blizzard のヒーローは 16k[単位?] |
| スケール | 印刷時の高さまたは玩具のシリーズ(6 インチ、3.75 インチ) | いずれにせよ 200 mm の定規を SubTool にする(Shane) |
| 対称性 | 対称デザインかどうか | 対称にしてから、意図的な非対称化を行う |
ワークフロー
- デザインシート。 各ノブを実際の値に対する数値として記録します(大きな鼻:
nose_third、眉から鼻の付け根までが顔の3分の1で、実際の値は1.0。濃い眉:眉の奥行き。長いすね:femur_tibia)。各値はコンセプトから取得します。コンセプトがない場合は、64~128 pxのサムネイルでも特徴が読み取れるまで、指定された特徴を強調して値を記録します。3つの読み(Rakan)を記述します。シルエットのアイデア、意図を伝える二次形状、三次ディテールです。髪の塊と分け目を計画します。GATE:すべてのノブに目標値と理由があること。 - まずシルエット。 プリミティブのバリエーションを2~3個ブロックアウトし(scenario-zbrush-sculpting)、
zb_review.reviewでレンダリングします。GATE:バリエーション間のlineup()IoUが0.85未満であること[追加]。選んだものが64~128 pxで読み取れること(squint())。 - ランドマークで作るスタイライズ骨格。 すべてのオルソグラフィック表示でパースをオフにします(Shane:マスキング、クリッピング、ミラーリングが歪むため)。ルール:
- 頭蓋と顎を目のラインで分けます。顎の角は、頭の奥行きの中央で耳の下に配置します。
- 頭の側面:頭を上から見ると側面は平行ではないため、顔に向かって頭が細くなるように頭蓋の側面をクリップし(Shane 02:00:26)、各側面に平面ではなく弧を付けます(02:11:58)。エージェント:オルソグラフィックのトップビューでClipCurveを2点打つか、頭蓋のSubToolにDeformation Taperを適用します(どちらも[要確認])。次にMoveまたはClayで弧を付けます。
- 目:まず眼球の球体を配置し、その周りをまぶたで包みます。それぞれを数度外側に向けます(scenario-zbrush-sculpting P17)。外側の目尻は内側の目頭より十分後方に配置します(上から確認)。
- 骨盤を前に傾け、胸郭を後ろに傾け、大腿骨を内側に傾け、脛骨をまっすぐにします。GATE:
subtool_boxes()のhead_checksとbody_checksに合格するか、それぞれの不合格を意図的な崩しとして記録すること。頭蓋だけのトップレンダーでhead_taper()を確認すること。コンセプトと照らし合わせた正面および側面のオルソグラフィックレンダーを用意すること。目の眼窩について、3/4のパースビューの確認用レンダー(zb_sculpt.persp_snapshot_code)を用意すること。
- 結合して面を作る。
- ブロックアウトを128~256の解像度でDynaMesh化します(
remesh_code、scenario-zbrush-sculpting)。幅広いhPolishまたはTrimDynamicのストロークで面を切り出します(許容範囲が広いため、スクリプトによるストロークでも機能します)。形状同士をなじませます。全体に平面状のフィルターをかけるClayPolishは、形状に有効です[追加。Pabloは髪に使用]。 - 細分割後も面を保ちます(Guillaume 00:46:42~00:47:50):結合したパーツをZRemesherにかけてスカルプト可能なトポロジーを作り、平面の境界にクリースを付けて、細分割しても「直線のまま保たれる」ようにします。
crease_planes(Groups By Normals、Crease PG、CreaseLvl)を使い、その後はレベルごとにDivideします(scenario-zbrush-sculpting P15)。クリースはエッジタグです。後からDynaMeshまたはZRemesherを使う場合は、再度付ける必要があります[追加]。GATE:正面、側面、3/4のシルエットでshape_language()を確認します。平行な組み合わせがなく、直線の割合が最大0.25、ノイズが1000 pxあたり最大4回の反転であること(デフォルト値[追加])。45~55%の帯にband_breaks()による途切れがないこと。MatCap Metal01でくぼみがないこと(Plouffe)。Divide後、クリースを付けた境界が斜めからの光でも鮮明であること。
- ブロックアウトを128~256の解像度でDynaMesh化します(
- 二次形状と小道具(スカーフ、ストラップ、ベルト)。
- scenario-zbrush-sculptingのリングとバンドを使い、結び目とバックルは中央からずらします(70/30)。
- 端やストラップはカーブリボンにします。
sides=0(Curve Flat、Pavlovich)またはストラップなら4にしたlay_strandsを使います。重力を設定したmarch_strandでパスを作り、S字に曲げます。 - しわは圧力や関節によって生じる場所にだけ付けます(Rakan)。重みが必要なスカーフはDynamicsで布をドレープし(scenario-zbrush-character-creature)、その後にしわを整え直します。GATE:各端が正面ビューでSまたはCに分類されること(
classify_polyline)。平行な端がないこと(strand_report)。
- 髪。 リグまたはゲーム用の髪にはストランドを使い、静止画、プリント、単一メッシュにはスカルプトメッシュを使います。どちらの場合も、塊のOBJエクスポート上でパスを計画します(P3~P5)。
- 計画:分け目と生え際に沿って
roots_alongを使い、分け目から離れる方向にdirections_awayを使います。C字とS字のカーブを交互に配置したplan_strandsを使い、vary()で長さに変化を付けます。正面、右側、上面のレンダーにoverlay_pathsで描画して確認します(Pabloはポリペイントで塊を描き、Danはコンセプト上でセクションを描きます)。 - スカルプト(Pablo、P4):
scalp_shellを作成します。塊ごとに太いCurveTubeを作り、数百個をDynaMeshで融合します。各束に対して、best_viewからstroke_from_viewでClayBuildupのストロークを1本ずつ追加します(sculptris=True)。各crevice_pathに沿ってDam_Standard Zsubを適用し、rebalance、finish_hairを実行します。 - ストランド(Dan、P5):頭部内に小さなダミーSubToolを1つ作成します(Pablo)。前から後ろへ、ストランドごとにCurveTubeを1つ作り、前方にはより大きな立ち上がりを付けます。Auto Groupsを実行し、
strand_mesh_reportを確認した後、分け目のあるスタイルならミラーリングします。GATE:計画上で平行に隣り合う線がなく、意図した種類が右側面と上面のビューで読み取れること。髪が目を細めても読み取れること。5つの確認ビュー(上面では分け目を表示)を2種類のMatCapで確認し、隙間やクリッピングがないこと。休息領域が落ち着いていること。
- 計画:分け目と生え際に沿って
- 非対称性、バリュー、カラーの引き継ぎ。
- 意図的な非対称パスを追加します:結び目、前髪、眉。
- Guillaumeのグレースケール確認(
value_check):純粋な黒や白を避け、顔のコントラストを最も強くします。カラーを付ける前は、まつ毛と瞳孔だけを暗くします。 - マテリアルごとに異なる色を指定したマテリアルIDプランを作成します。最上位レベルでポリペイントし、フラットなSkinShade4で評価します。MatCapは色相やバリューを正確に表さないためです(Pablo VRisbJQAaZw 00:23:40、00:24:54)。
- 製品の制約(玩具またはコレクターズアイテム)。
toy_scale(高さを12で割り、6 inの場合は4%を加算。3.75 inの場合は18で割ります)。- プリントスケールでストランドや細い形状に
feature_checkを実行します(壁厚1 mm、トリミングされたエッジ0.5 mm)。 - 髪は頭部にはめ込む別パーツにし、浮き毛は融合させ、塗装を安定させるためストランドを束ねます。閉じたループや、スカートのスリットは作りません。プリントサイズで見える範囲を超えてスカルプトしないでください(Carratala、90 mm)。
数値
| 値 | 比較対象 | 出典 |
|---|---|---|
| 膝は脚の半分の位置、手は太ももの中間、顎の角は頭の奥行きの0.5の位置 | ノブの実寸基準 | Shane |
| 目のラインは頭の高さの0.5、顔の3分割は頭の高さの約5%以内で均等 | 実際の頭 | Anatomy For Sculptors (character digest) |
| 外眼角は内眼角より少なくとも頭の奥行きの0.10だけ後ろに配置 | 初期しきい値 | stylized digest [added] |
| 頭頂から見た頭の側面:テーパー(幅の狭い側/広い側)は最大0.95、側面のたわみは奥行きの少なくとも0.01 | head_taper の既定値 | Shane rule, thresholds [added] |
| 70/30。50/50は不可。0.45~0.55の場合はフラグを立てる | 範囲上の分割位置 | Rakan; band [added] |
| ブロックアウト=ローポリの90~95%。ヒーローキャラクターの予算はヘアスタイル2種類を含めて16k | ゲームキャラクター | Rakan |
| 髪のDynaMesh:シェル128、ブロッキング440、仕上げ1416、ディテール作業1032~1784、2.4M~2.6Mポイントで再DynaMesh | Pabloの頭部、使用マシン | Pablo frames |
| Deformation Polish 2、ClayPolish Max 25、Min 0、Sharp 0、Soft 0、RSharpとRSoftは約5 | 仕上げ | Pablo frame |
| Curve Tube Brush Modifierは既定値20、四角形4、平坦0。Z Intensity 34で平坦化 | チューブの断面形状 | IMM doc, Pavlovich |
| ゲーム用の毛束は幅約3~4ポリゴン | ゲーム用の毛束 | Dan frame |
| 壁厚1 mm(0.85は要フラグ)、エッジ0.5 mm、フィットオフセット0.12 mm、肘115度 | 玩具の製造 | Bennett |
品質ゲート
- コード内:
head_checksとbody_checksに合格するか、意図的に許容されていること。トップビューでhead_taperを確認すること。 眉のライン、スカーフの帯、分け目でsplit_checkを行うこと。3つの シルエットでshape_languageのフラグがないこと。50/50のband_breaksがないこと。lineupのIoUを確認すること。平行なペアがなく、各ビューでデザインされた種類になっているstrand_report。毛束ごとにシェルが1つで、面数が予算内に収まっているstrand_mesh_report。DynaMeshの実行後は毎回ポイント数を確認すること。玩具については mm単位でfeature_checkを行うこと。 - ビジュアル: MatCap GrayにMetal01(へこみ部分)または別のMatCap(髪の隙間、
Dan)を組み合わせて
zb_review.reviewを行うこと。64 pxと128 pxでsquintを行うこと。annotate_shapeを行うこと。髪を配置する前にプランのオーバーレイを確認すること。 魅力を確認するためにパースを確認すること。分け目と頭の側面はトップビューで確認すること。 頭の後ろ側も仕上げること。
よくあるミス
| ミス | こう見える | 修正方法 |
|---|---|---|
| 全体を均一に誇張する | すべての特徴が大きく、何も読み取れない | 名前付きの調整項目を1つか2つだけ使い、残りは基準値にします |
| 目尻が同一平面上にある | 上から見ると平らなマスク状の顔になる | 外眼角を後ろに引きます(canthus_recess) |
| 頭の側面が平行、または平らな側面になっている | 上から見ると箱形または風船状の頭蓋になる | 側面を切り詰め、弧を保ちます(head_taper) |
| Divide 後に面が失われる | ぼやけて丸みを帯びた様式化された面になる | ZRemesher の後、Divide の前に crease_planes を使います |
| 手足やストラップの縁が平行になっている | 筒状の脚、単調なパンツになる | 上部を広げ、下部を細くします |
| 50/50 の分割 | スカーフやベルトがちょうど中央で分かれる | 70/30 にずらします(split_check) |
| あらゆる場所にディテールがある | 輪郭がうるさく、休まる部分がない | 落ち着いたゾーンを保ちます(Pablo、Rakan) |
| 髪がひとかたまり、または無数の毛束になっている | 目を細めると毛束が見えない | まず大きな毛束を設計し、その後、毛束ごとに1本またはひと房を作ります |
| ストロークで毛束を押し、スムーズ化する | 柔らかく、折れ曲がった毛束になる | パスを再生成して引き直します。Dan は毛束をスムーズ化しません |
| ClayPolish のマスクを残したままにする | 次のブラシが「何もしない」 | finish_hair でマスクを解除します |
| 浮き毛や触れ合う指のあるおもちゃ | 破損したり、型から外れなくなったりする | 融合し、分離して、1 mm で確認します |
引き継ぎ
- 受け取るもの: scenario-zbrush-sculpting からのプリミティブおよび DynaMesh 形状(バージョン管理された ZTL、
stats()、レビューシート)、scenario-zbrush-character-creature からの布のドレープとリアルな解剖学。 - 提供するもの: scenario-zbrush-paint-render には、精密なスカルプト、値の目標、マテリアル ID 計画を提供します。scenario-zbrush-pose-print には、関節のないニュートラルなデザイン、パーツと関節の計画 (球体と円盤)、キー付きパーツとしての髪、スケール係数、ファイルのパーセンテージを提供します。scenario-zbrush-retopology-export には、 1つのグループを各ストランドに割り当てたストランドヘア(リグチェーン)、チャンクのポリグループ、 ストランドあたりの面数、ループに沿ったデザイン線(Rakan)を提供します。
ZBrush 2026 の注記
- Curve Flat と Curve Flat Snap は同梱されています(2021.6.3)。Bend は Bend Start と Bend End に分割され、 IMM ブラシは任意のストロークを受け付け(2024)、カーブブラシのジオメトリに関するバグは 2026.2.1 で修正されました。
- Pablo のヘアブラシと DE_HairTubes はサードパーティ製です。代替には ClayBuildup、Standard、
Dam_Standard、CurveTube を使用します。カスタムブラシは Asset Directory
LightBox/Brushesから読み込みます。 - カーブ API はツール空間のポイントを受け取りますが、カーブを読み戻すことはできません。
curves_to_uiだけでは メッシュを構築できない場合があります(Maxon の例)。live_01 では適用処理と軸のマッピングを測定します。 - パースペクティブは
Draw:Perspectiveです(インストール済みの commands.xml にあり、Transform:Perspはありません)。PATHSはインストール済みの ID を優先して試します。Gizmo がデフォルトで、ローカル対称はこれに従います。macOS では Cmd+W で ZBrush を終了します。
参考資料
references/procedures.md:各ステージのブリッジコードです。何かを実行する前に読み込んでください。references/expert-notes.md:タイムスタンプ付きの専門家による原則、見解の相違、および判断条件です。references/critique.md:自己レビューの評価基準です。references/gui-paths.md:パレット、ブラシ、設定、ホットキー(コンピューター操作エージェント向け)です。references/sources.md:情報源、認証情報、URL、タイムスタンプです。scripts/zb_stylized.py:モジュールです。ZBrush 側にはzb_launch.callではなく、zb_stylized.call()でアクセスしてください。テスト:tests/code/zbrush-stylized/。
コメント
Markdown 対応