ノード一覧に戻る

レンズワープ

lens_warp

中心・半径・強さで指定するレンズ変形です。膨張・収縮(ぷにぷに)やねじりを作れます。強さをアニメ駆動すると弾む演出になります

確認済み
解説あり

入力ポート

名前説明
画像
input
Image
必須
入力画像

出力ポート

名前説明
画像
output
Image
変形後の画像です

パラメータ

名前既定値範囲説明・選択肢
モード
mode
Enum
Bulge

変形の種類です

  • 膨張・収縮Bulge
    強さが正で中心が膨らみ、負でつまんだように縮みます
  • ねじりTwirl
    中心ほど強く渦を巻きます。強さの符号で回転方向が変わります
強さ
strength
Float
0-1–1 / step 0.01

変形の強さです。0で変化なし。ポート化して波形で駆動すると「ぷにぷに」した演出になります

中心X
center_x
Float
0.50–1 / step 0.01

変形中心のX位置です(画像幅に対する0〜1)

中心Y
center_y
Float
0.50–1 / step 0.01

変形中心のY位置です(画像高さに対する0〜1)

半径
radius
Float
0.50.05–4 / step 0.01

効果範囲の半径です(画像の短辺に対する倍率)。範囲外のピクセルは変化しません

方式
sampling
Enum
Nearest

変形の品質です

  • そのまま変形Nearest
    最近傍サンプリングです。ドット絵らしいゴロッとした変形になります
  • RotSprite(きれい)RotSprite
    Scale2xで8倍に拡大してから変形し、多数決で縮小します。輪郭が滑らかになります

概要

中心・半径・強さだけで指定できるパラメトリックなレンズ変形です。 膨張(ぷくっと膨らむ)・収縮(つまんで縮む)・ねじり(渦巻き)が作れます。 displace のようにマップ画像を用意する必要がなく、強さをアニメ駆動できるのが特徴です。

使い方のポイント

  • ぷにぷに演出の定番: 強さ をポート化して expression_float (sin(time * pi * 2) * 0.3 など)で駆動 → animation_render。 スライムの弾みや呼吸するUIになります
  • 膨張は 強さ 正、収縮は負。半径 は短辺基準の倍率で、0.5(既定)なら 画像の半分に収まる範囲だけが変形します
  • 範囲外のピクセルは完全に無変形なので、キャラの顔だけ膨らませる、といった 局所使いができます(中心X/Y で位置指定)
  • 方式の既定はニアレスト(ドット絵らしいゴロッとした変形)。輪郭を滑らかにしたい ときだけ RotSprite へ

よくある失敗

  • 強さ1.0でも思ったほど膨らまない: 折り返し(絵が裏返る破綻)を防ぐため、 実効強度は±0.95に抑えられています。より強くしたい場合は2個直列にします
  • マップ形状で歪ませたい: 自由形状の歪みは displace / directional_warp の 役目です。このノードは円形レンズ専用です

関連ノード

  • displace / directional_warp — マップ駆動の自由歪み
  • expression_float / time_source — 強さのアニメ駆動(sin波など)
  • region_warp — レギオン境界の揺らし
ノード一覧に戻る