ノード一覧に戻る

ディスプレイス

displace

接続したマップ画像、またはインスペクターで選んだマップ素材を使い、ピクセルの位置をずらします。波、熱の揺らぎ、へこみ、模様のゆがみに使えます。

確認済み
解説あり

入力ポート

名前説明
画像
input
Image
必須
ピクセル位置をずらす元画像です。
マップ
map
Image
どの場所をどれだけ動かすかを決めるマップ画像です。接続すると、インスペクターで選んだマップ素材より優先します。

出力ポート

名前説明
画像
output
Image
マップに合わせてピクセルを動かした画像です。

パラメータ

名前既定値範囲説明・選択肢
マップカテゴリ
category
Enum
Noise

マップ入力が未接続の時に、素材選択で探すカテゴリです。

  • すべてAll
  • ノイズNoise
  • マスクMasks
  • グラデーションGradients
  • 高さHeight
マップ素材
asset_id
Text
vector_warp_rg_01

マップ入力が未接続の時に使うマップ素材です。選択ボタンから保存済みマップ素材を選べます。

モード
mode
Enum
VectorRG

マップで左右上下を別々に動かすか、1 方向だけに押し出すかを選びます。

  • RGベクトルVectorRG
    マップの赤で左右、緑で上下に動かします。
  • 方向指定Directional
    明るさや透明度など 1 つの値を使い、決めた角度方向に動かします。
押し出しの基準
source
Enum
OKLCH-L

方向指定モードで、押し出しの強さに使うマップの値を選びます。

  • OKLCH 明度OKLCH-L
    見た目の明るさで判定します。影やハイライトなど、目で見た明暗に合わせたい時に使います。
  • OKLCH 彩度OKLCH-C
    色の鮮やかさで判定します。くすんだ色と鮮やかな色を分けたい時に使います。
  • HSV 色相HSV-H
    色相で判定します。赤系・青系のように、色味の方向で分けたい時に使います。
  • HSV 彩度HSV-S
    HSV の鮮やかさで判定します。一般的な色相・彩度・明度の感覚で選びたい時に使います。
  • HSV 明度HSV-V
    RGB の一番明るいチャンネルを基準にします。光った色や原色の強さを見たい時に使います。
  • RGB 赤RGB-R
    赤の強さで判定します。赤みだけを抜き出したい時に使います。
  • RGB 緑RGB-G
    緑の強さで判定します。緑成分だけを抜き出したい時に使います。
  • RGB 青RGB-B
    青の強さで判定します。青成分だけを抜き出したい時に使います。
  • アルファAlpha
    透明度で判定します。不透明な形だけをマスクにしたい時に使います。
  • 輝度Luminance
    RGB から計算した明るさで判定します。OKLCH より単純な白黒変換に近い結果が欲しい時に使います。
方向計算
direction_mode
Enum
AxisScaled

方向指定モードで、従来のX/Y個別強度か、正確な角度かを選びます。

  • X/Y個別(従来)AxisScaled
    従来の挙動を維持します。角度ベクトルへX量とY量を別々に掛けるため、2つが異なると実際の移動角度も変わります。
  • 正確な角度ExactAngle
    1つの方向量を使い、実際の移動方向を角度と一致させます。
X量
amount_x
Float
8-256–256 / step 0.1

RGベクトルとX/Y個別の方向指定で使う横方向の変位幅です。正確な角度では方向量を使います。

Y量
amount_y
Float
8-256–256 / step 0.1

RGベクトルとX/Y個別の方向指定で使う縦方向の変位幅です。正確な角度では方向量を使います。

方向量
direction_amount
Float
80–256 / step 0.1

正確な角度で使う変位幅です。白はこの値の半分だけ角度方向へ、黒は半分だけ逆方向へ動きます。

角度
angle
Angle
0— / step 1

方向指定モードでピクセルを押し出す向きです。0 は右、90 は下です。

補間
sampling
Enum
Nearest

動かしたピクセルを硬いドットのままにするか、周囲と滑らかに混ぜるかを選びます。

  • NearestNearest
    ドット絵らしい硬い段差を残します。
  • LinearLinear
    ピクセル間を混ぜて、ゆがみを滑らかにします。
左右ループ
wrap_x
Bool
false

左右の端がつながっているものとして画像とマップを読みます。タイル素材向けです。

上下ループ
wrap_y
Bool
false

上下の端がつながっているものとして画像とマップを読みます。タイル素材向けです。

概要

接続した画像、またはインスペクターで選んだマップ素材を押し出しマップとして使い、元画像のピクセル位置をずらすノードです。水面のゆらぎ、熱で揺れる空気、へこみ、布や模様の歪みに使えます。

マップの色や明るさが、どの場所をどれだけ動かすかを決めます。

使い方のポイント

  • 入門は mode=Directional + direction_mode=ExactAngle: noise_generate を map につなぎ、 direction_amount を2〜8から試す。指定角度どおりに水面・熱気・旗のはためきを作りやすい
  • Directionalではマップ値0.5が無移動、白(1.0)が角度の正方向、黒(0.0)が逆方向。 白・黒での移動距離は設定量の半分になる
  • direction_mode=AxisScaled は従来互換。amount_xamount_y を別々に掛けるため、 2つが異なる場合は実際の移動角度が angle からずれる。正確な角度では direction_amount だけを使う
  • アニメさせるなら map 側を動かす: ノイズの seed をフレームで切り替える、 またはスクロールするマップを使うと、ゆらぎが時間変化する
  • sampling = Nearest(既定)がドット絵向け。Linear は中間色が出るが、 半透明の境界はpremultiplied alphaで補間するため、透明ピクセルのhidden RGBによる 暗い縁や色付きの縁を抑えられる
  • 地形に沿って「流す」なら slope_blur、一定方向へ「引きずる」なら directional_warp、位置を「ずらす」ならこのノード、と使い分ける

よくある失敗

  • 端に伸びた縞が出る: 画像端の外を読んでいる。タイル素材なら wrap_x/y ON、 単発素材なら canvas_resize で余白を作っておく
  • VectorRGで思い通りに動かない: 赤=左右・緑=上下の2チャンネル制御(中級向け)。 まず Directional で感覚を掴む
  • 指定角度と実際の方向が違う: direction_mode=AxisScaledamount_xamount_y が異なると起きる。角度を厳密に合わせるなら ExactAngle を選ぶ map 入力に画像をつなぐと、その画像が優先されます。map をつながない場合は、Map Asset で選んだ素材を使います。

使用例

  • Map Assetsoft_warp_01 を選び、ゆるい揺らぎを作る。
  • map 入力に別ノードのノイズ画像をつなぎ、手続き的に揺らぎを変える。
  • mode=Directionaldirection_mode=ExactAnglesource=OKLCH-Langle=0 で、 白い部分を右、黒い部分を左へ押し出す。
  • VectorRGvector_warp_rg_01 で、赤と緑のマップから上下左右に細かく歪ませる。
  • タイル素材を歪ませる時は wrap_x / wrap_y をオンにし、端から外へずれたピクセルを反対側から読む。

関連ノード

  • directional_warp — 一方向へ引きずるワープ
  • slope_blur — 高さの傾きに沿って流す
  • noise_generate — マップの定番供給源
  • region_warp — リージョン単位のゆがみ
ノード一覧に戻る
ディスプレイス — PixPipeline ノード解説