Back to Node List

Displace

displace

Moves each pixel by using a connected map image or a selected map asset, useful for waves, heat shimmer, dents, and texture wobble.

Reviewed
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

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

Output Ports

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

Parameters

NameTypeDefaultRangeDescription / Options
マップカテゴリ
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

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

Overview

Uses a connected image or a map asset selected in the inspector as a displacement map to shift source-image pixels. Use it for water ripples, heat haze, dents, and distorted fabric or patterns.

The map's colors or brightness determine where and how far pixels move.

Usage tips

  • Start with mode = Directional and direction_mode = ExactAngle: connect noise_generate to map and begin with direction_amount from 2–8. This makes water, heat haze, and flag movement follow the specified angle exactly.
  • In Directional mode, a map value of 0.5 is neutral, white (1.0) moves along the positive angle, and black (0.0) moves in the opposite direction. White and black move by half the configured amount.
  • direction_mode = AxisScaled preserves the previous behavior. It applies amount_x and amount_y separately, so unequal values skew the actual movement away from angle. ExactAngle uses only direction_amount and does not skew the direction.
  • Animate the map itself: change the noise seed per frame or use a scrolling map to animate the distortion.
  • sampling = Nearest (default) is right for pixel art. Linear creates intermediate colors, but interpolates translucent edges in premultiplied-alpha space so hidden RGB in transparent pixels does not create dark or colored fringes.
  • Choose by intent: use slope_blur to smear along terrain, directional_warp to drag in one direction, and this node to displace positions.

Common pitfalls

  • Stretched stripes appear at the edges: sampling goes beyond the image boundary. Turn wrap_x/y ON for tileable assets, or reserve padding with canvas_resize for standalone assets.
  • VectorRG does not move as expected: red controls left/right and green controls up/down. This is an intermediate feature; learn the behavior with Directional first.
  • Movement does not follow the specified angle: this can happen with direction_mode = AxisScaled when amount_x and amount_y differ. Choose ExactAngle when the angle must be exact. map takes priority when an image is connected. If map is unconnected, the node uses the asset selected in Map Asset.

Examples

  • Select soft_warp_01 in Map Asset for gentle distortion.
  • Connect a noise image from another node to map for procedural variation.
  • Use mode = Directional, direction_mode = ExactAngle, source = OKLCH-L, and angle = 0 to push white areas right and black areas left.
  • Use VectorRG and vector_warp_rg_01 for fine four-direction distortion from the red and green map channels.
  • When distorting a tileable asset, turn wrap_x / wrap_y on so pixels shifted beyond one edge are read from the opposite edge.

Related nodes

  • directional_warp — drag in one direction
  • slope_blur — smear along height slopes
  • noise_generate — the go-to map source
  • region_warp — distort by region
Back to Node List
Displace — PixPipeline Node Reference