作成日: 2026年5月22日
対象バージョン: v0.1.6
PixPipeline のレギオンシステムは、画像をいきなり塗るのではなく、まず画面を「領域」に分けてから加工するための仕組みです。
たとえば、岩場をいくつもの面に分ける、水面にゆらぎのある区画を作る、鉱石や汚れを一部だけ重ねる、境界付近だけ影を付ける、といった作業に向いています。
通常の画像ノードは「色のあるピクセル」を扱います。レギオン系ノードは、それとは別に RegionMap という中間データを扱います。RegionMap は、各ピクセルがどの領域IDに属しているか、各領域の面積や中心、隣接関係、左右上下ループの情報などを持っています。
まず何ができるか
レギオン系では、次のような流れで制作できます。
- 領域を作る
- 小さすぎる領域やIDを整える
- 必要な領域だけ選ぶ
- 色、線、距離、マスク、高さなどの通常画像に変換する
具体的には、次のような用途があります。
- 岩や地形の面分けを作る
- 水面や地層の帯を作る
- 鉱石、汚れ、草むらなどの小領域を重ねる
- 境界線を取り出してドット絵向けの線にする
- 境界から近い部分だけ影やハイライトを付ける
- 領域ごとに色やパターンを割り当てる
- マスクの中だけに領域を作る
- タイル素材用に左右・上下がつながる領域を作る
RegionMap とは
RegionMap は、見た目は色分け画像のようにプレビューされますが、実体は通常画像ではありません。
各ピクセルには、赤や青の色ではなく「領域ID」が入っています。プレビューの色は、IDを見分けやすくするための仮色です。
たとえば、あるピクセルが領域ID 3、隣のピクセルが領域ID 4 なら、その間には領域境界があります。Region Border や Region Distance は、このIDの違いを使って境界線や距離画像を作ります。
通常画像との違い
通常画像:
- ピクセルごとに色を持つ
- そのまま合成や出力に使える
- 色が似ていても、同じ領域とは限らない
RegionMap:
- ピクセルごとに領域IDを持つ
- そのまま最終画像にはしない
- 同じIDなら同じ領域として扱える
- 面積、中心、隣接、外周接触などの情報を使える
preview と regions の違い
多くのレギオンノードには、regions と preview の出力があります。
regions は、後続のレギオン処理へつなぐ本体です。
preview は、確認用に色分けした普通の画像です。見た目を確認する時には便利ですが、後続でID処理をしたい場合は regions をつないでください。
labels は、Inspector 上でID番号を重ねるための確認用データです。通常は自分で配線する必要はありません。
ノードの大きな分類
レギオン系ノードは、目的ごとに大きく分かれています。
Create: 領域を作る
最初に RegionMap を作るノードです。
| ノード | 使いどころ |
|---|---|
Region Cells |
まず試す汎用の面分け。岩、水面、地形、パーツ候補に使いやすい |
Region Voronoi |
種点を中心にした泡、石、斑点、島のような領域 |
Region Bands |
横、縦、斜めの帯。水深、段差、背景の方向性に向く |
Region Strata |
割れや分断のある地層、岩肌、斜めの面分け |
Region Noise |
ノイズ値を段階化した自然なムラ |
Region Scatter |
鉱石、汚れ、泡など、点在する小領域 |
Image To Regions |
画像や保存済みマップを領域IDへ変換 |
迷ったら、まず Region Cells を使います。点を中心に広がる領域が欲しい場合は Region Voronoi、方向性のある帯が欲しい場合は Region Bands や Region Strata、自然な濃淡を段階化したい場合は Region Noise を選びます。
Edit: 領域を整える
作った RegionMap を加工するノードです。
| ノード | 使いどころ |
|---|---|
Region Merge Small |
小さすぎる領域を隣へ統合して、ノイズを減らす |
Region Remap |
領域IDを左上順、面積順、ランダム順などに振り直す |
Region Split Islands |
同じIDなのに離れている島を別IDへ分ける |
Region Grow/Shrink |
領域を広げる、または境界から縮める |
Region Warp |
境界をノイズや画像で少し歪ませる |
Region Compose |
2つの RegionMap を重ねる |
編集ノードは、生成結果を「使いやすい素材」に整えるために使います。小さい破片が多い場合は Region Merge Small、ID指定で扱いやすくしたい場合は Region Remap、同じIDが複数の場所に出て困る場合は Region Split Islands が便利です。
Select: 必要な領域を選ぶ
領域ID、面積、外周接触、隣接関係などで領域を選ぶノードです。
| ノード | 使いどころ |
|---|---|
Region Mask |
条件に合う領域を白黒マスク画像にする |
Region Filter |
条件に合う領域だけを RegionMap として残す |
Region Neighbor Select |
指定IDの隣、2段階隣、外周に接する領域などを選ぶ |
画像合成や色調整で使いたいなら Region Mask、レギオン処理を続けたいなら Region Filter を使います。
Render: 通常画像や線へ変換する
RegionMap を、最終的に使いやすい画像や線へ変換するノードです。
| ノード | 使いどころ |
|---|---|
Region Fill |
領域ごとに色を塗る |
Region Pattern Assign |
領域ごとに色やパターンを割り当てる |
Region Border |
境界線を画像として出す |
Region Boundary Trace |
境界を PixelLine として出す |
Region Distance |
境界や指定IDからの距離を白黒画像にする |
Region Height |
領域ごとの高さ画像を作る |
Region Debug Preview |
ID番号付きで確認する |
最終的な見た目を作る段階では、ここにあるノードを使うことが多くなります。
Info: 情報を取り出す
画像を作るためではなく、領域の情報を確認したり、別ノードで利用したりするためのノードです。
| ノード | 使いどころ |
|---|---|
Region Info |
領域数、面積、中心、範囲などを見る |
Region Adjacency |
どの領域がどの領域に接しているかを見る |
これらはプレビュー画像を出すノードではありません。隣接情報を使って実際にマスクや領域を作りたい場合は Region Neighbor Select を使います。
基本ワークフロー
1. 岩場や地形の面を作る
一番基本的な流れです。
Region Cells
-> Region Merge Small
-> Region Fill
-> 出力や合成へ
Region Cells で画面を複数の面に分け、Region Merge Small で小さすぎる破片を減らし、Region Fill で色を付けます。
岩場なら、Region Fill の後にパレット調整や影付けを入れると、面ごとの色差を作りやすくなります。
2. 境界線を作る
領域の境界を線として取り出す流れです。
Region Cells
-> Region Merge Small
-> Region Border
-> 画像合成へ
すぐに白黒の境界画像が欲しい場合は Region Border を使います。
境界を線データとして扱い、後からストロークや線整理をしたい場合は Region Boundary Trace を使います。
3. 境界近くに影を付ける
境界からの距離を使うと、領域の端だけに影やハイライトを付けられます。
Region Cells
-> Region Distance
-> 色調整や合成のマスクへ
Region Distance の出力は、境界に近いほど白、遠いほど黒、またはその逆のような距離画像です。
最大距離 を 1 から 3 くらいにすると、ドット絵向けの細い縁取りや影に使いやすくなります。広いグラデーションが欲しい場合は、もう少し大きくします。
4. 鉱石や汚れを重ねる
別々に作った領域を合成する流れです。
Region Strata または Region Cells
-> ベース領域
Region Scatter
-> 重ねる領域
ベース領域 + 重ねる領域
-> Region Compose
-> Region Fill
地層や岩場を大きなベースとして作り、その上に Region Scatter で鉱石や汚れの小領域を作って重ねます。
重ねた後にIDを指定して扱いたい場合は、Region Compose のID処理を 重なるIDをずらす や ID詰め直し にしておくと確認しやすくなります。
5. シルエットの中だけに領域を作る
任意形状の中だけに領域を作る流れです。
Shape や画像マスク
-> Region Cells の mask 入力
-> Region Fill
マスクをつなぐと、白く不透明な部分だけに領域が作られます。キャラクターの服、岩のシルエット、島の形など、最初に大きな形を決めてから内部の面分けを作りたい時に使います。
マスクの有効範囲は、明度 * アルファ >= 0.5 のピクセルです。マスク外は OUTSIDE として扱われます。
6. タイル素材用に端をつなげる
タイルマップ用の素材では、左右や上下に繰り返した時に継ぎ目が目立たないことが重要です。
Region Cells または Region Voronoi
-> 左右ループ / 上下ループをオン
-> Region Merge Small
-> Region Fill
左右ループ や 上下ループ をオンにすると、端同士がつながっているものとして領域を作ります。このループ情報は RegionMap に保存されるため、後続の Region Merge Small、Region Border、Region Distance、Region Neighbor Select などでも端越しの隣接として扱われます。
ただし、任意形状のマスクをつないだ場合は、端ループとの相性が悪いため、マスク形状が優先されます。
7. 領域ごとにパターンを割り当てる
領域ごとに色や模様を変えたい場合は Region Pattern Assign を使います。
Region Cells
-> Region Pattern Assign
-> 合成へ
Region Fill はシンプルに色を塗るノードです。Region Pattern Assign は、領域ID、面積、隣接条件などを使って、より制作寄りに色やパターンを割り当てるためのノードです。
たとえば、大きい領域には暗い岩色、小さい領域には明るい欠け色、外周に接する領域には別色、といった使い方ができます。
8. アイソメトリック用の下準備をする
レギオン系は、アイソメトリック素材の下準備にも使えます。
Region Strata または Region Cells
-> Region Height
-> 高さ画像や影付けへ
Region Height は、領域ごとに高さを割り当てた白黒画像を作ります。岩場の段差、地形の高さ、アイソメ用の凹凸の元として使えます。
この時、RegionMap 自体は別ブランチで残しておくと便利です。高さ画像を作った後でも、元の領域IDを使ってマスクや境界を取り出せます。
よく使う組み合わせ
自然な岩面
Region Cells
-> Region Warp
-> Region Merge Small
-> Region Fill
-> Region Border
まず面を作り、少し歪ませ、小さすぎる破片を消してから塗ります。境界線が欲しい場合は Region Border を別ブランチで作ります。
地層と鉱石
Region Strata
-> ベース
Region Scatter
-> 鉱石
Region Compose
-> Region Pattern Assign
地層で大きな流れを作り、散布領域で鉱石や汚れを重ねます。最後に Region Pattern Assign で領域ごとの見た目を決めます。
境界だけをマスクにする
Region Cells
-> Region Distance
-> 画像合成や色調整へ
境界付近だけ明るくしたり、暗くしたりする時に使います。最大距離 を小さくすると細い縁取り、大きくすると広い影になります。
IDを確認してから選ぶ
Region Cells
-> Region Debug Preview
Region Cells
-> Region Mask
Region Debug Preview でIDを確認し、Region Mask で必要なIDだけを白黒マスクにします。
重要な仕様
IDは見た目の色ではない
プレビューの色は確認用です。同じ色に見えても、同じIDとは限りません。逆に、同じIDが離れた場所に複数出ることもあります。
IDを正確に確認したい場合は、各ノードの ID表示 や Region Debug Preview を使います。
同じIDが離れた場所に出ることがある
Region Noise や Image To Regions は、値を段階化してIDを作るため、同じIDが離れた場所に出ることがあります。
島ごとに別IDとして扱いたい場合は、Region Split Islands を後段に接続します。
小領域統合は「全部を1つにする」ためだけのノードではない
Region Merge Small は、小さすぎる領域を自然になじませるためのノードです。
最小面積 はピクセル面積です。たとえば 16 なら、16ピクセル未満の領域が統合対象になります。すべてを大きな1つの塊にしたい場合よりも、細かいノイズや破片を消す用途で使うのが基本です。
画像から領域を作る時はサイズに注意
Image To Regions は、入力画像のサイズをそのまま RegionMap のサイズにします。
最終キャンバスと同じサイズで使いたい場合は、先に画像を目的サイズへリサイズするか、最初から Region Cells、Region Noise、Region Voronoi などで目的サイズの領域を生成します。
保存済みノイズ画像を使う場合も同じです。ノイズ画像は補助素材として便利ですが、レギオン生成の基本は、最終サイズでプロシージャルに作る方が安定します。
マスク入力の判定
生成ノードの mask 入力は、画像の明度とアルファを使って有効範囲を判定します。
明度 * アルファ >= 0.5
この条件を満たすピクセルだけが有効範囲です。マスク外は OUTSIDE として扱われます。
OUTSIDE は領域の外側
OUTSIDE は、通常の領域IDではなく、領域外を表す特別な値です。
マスク外、フィルタで取り除かれた場所、領域が存在しない場所などが OUTSIDE になります。境界や距離を作る時、OUTSIDE との接触を含めるかどうかで結果が変わる場合があります。
ループ情報は下流にも引き継がれる
左右ループ / 上下ループ をオンにした RegionMap は、端同士がつながっているという情報を持ちます。
そのため、後続の統合、境界、距離、隣接選択などでも、左右端・上下端が隣接しているものとして扱われます。タイル素材を作る時に重要な仕様です。
ただし、元画像がシームレスでない場合に、Image To Regions の wrap_x / wrap_y をオンにしても、画像の継ぎ目自体が自動で自然になるわけではありません。ループ情報は「下流の領域処理で端をつなげて扱う」ための情報です。
ノード選びの目安
| やりたいこと | 使うノード |
|---|---|
| とりあえず面分けしたい | Region Cells |
| 石、泡、島のような点中心の領域が欲しい | Region Voronoi |
| 水深や段差のような帯が欲しい | Region Bands |
| 割れた地層や岩肌が欲しい | Region Strata |
| 自然なムラを段階化したい | Region Noise |
| 鉱石や汚れを点在させたい | Region Scatter |
| 小さい破片を消したい | Region Merge Small |
| IDを左上順や面積順にしたい | Region Remap |
| 離れた同IDを別IDにしたい | Region Split Islands |
| 2枚の領域を重ねたい | Region Compose |
| 領域を白黒マスクにしたい | Region Mask |
| 領域のまま絞り込みたい | Region Filter |
| 隣の領域を選びたい | Region Neighbor Select |
| 境界線画像が欲しい | Region Border |
| 境界からの距離が欲しい | Region Distance |
| 領域ごとに高さを作りたい | Region Height |
| 領域ごとに模様や色を割り当てたい | Region Pattern Assign |
| ID番号を見たい | Region Debug Preview |
よくあるつまずき
プレビューはきれいなのに、下流でID指定が思った通りにならない
同じIDが離れた場所に複数出ている可能性があります。Region Debug Preview でIDを確認し、必要なら Region Split Islands を使って島ごとにIDを分けます。
ID表示が出ていない領域があるように見える
ループ設定のある領域では、左右端や上下端にまたがる領域が1つの領域として扱われます。表示位置は、その領域の代表位置に出ます。見えにくい場合は Region Debug Preview を使うと確認しやすくなります。
境界線が太く見える
Region Border は隣接する領域の境界を画像として出すため、設定や配置によっては2ピクセル程度に見えることがあります。
より線データとして扱いたい場合は Region Boundary Trace を使います。境界付近の影や縁取りなら Region Distance を使う方が調整しやすい場合もあります。
マスクをつないだらループしなくなった
任意形状のマスクは、左右上下の端がつながるタイルとは考え方が違います。マスクをつないだ場合は、形状を優先し、ループは無効になります。
保存済みノイズ画像から作った領域がキャンバスサイズと合わない
Image To Regions は入力画像サイズをそのまま使います。目的サイズに合わせたい場合は、画像を先にリサイズするか、レギオン生成ノード側で最終サイズの領域を作ります。
情報ノードにつないでもプレビューが出ない
Region Info や Region Adjacency は、画像を作るノードではありません。情報を確認するためのMapを出力します。見た目として確認したい場合は Region Debug Preview、情報を使って選択したい場合は Region Neighbor Select を使います。
最初に試すおすすめ構成
レギオン系を初めて使う場合は、次の構成から始めると全体像をつかみやすいです。
Region Cells
-> Region Merge Small
-> Region Debug Preview
これで、領域がどう作られ、IDがどう振られるかを確認できます。
次に、見た目を作る場合は次のようにつなぎます。
Region Cells
-> Region Merge Small
-> Region Fill
境界や影も見たい場合は、別ブランチで追加します。
Region Merge Small
-> Region Border
Region Merge Small
-> Region Distance
レギオンは、1つのノードで完成させるというより、領域を作る、整える、選ぶ、画像にする、という小さな工程を組み合わせるシステムです。慣れてきたら、Region Compose で複数の領域を重ねたり、Region Pattern Assign で領域ごとに違う見た目を割り当てたりすると、より制作向きの使い方ができます。