ノード一覧に戻る

ピクセルスケール

pixel_scale

整数倍に拡大・縮小します。拡大時はScale2xやEagleで輪郭を滑らかにする方式も選べます

確認済み
解説あり

入力ポート

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

出力ポート

名前説明
画像
output
Image
スケール後の画像

パラメータ

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

拡大(×N)または縮小(÷N)

  • 拡大Enlarge
    整数倍に拡大(×N)
  • 縮小Reduce
    整数分の1に縮小(÷N)
スケール
scale
Int
21–16

整数倍率 (1x, 2x, 3x...)

方式
sampling
Enum
Nearest

拡大の方式です。スムージングで賄えない倍率分は、そのまま拡大で補います

  • そのまま拡大Nearest
    各ピクセルをそのまま複製します。ドットの形を完全に保ちます
  • Scale2x(輪郭スムージング)Scale2x
    拡大しながら階段状の輪郭を滑らかにします(AdvMAME2x/3x)。2・3・4・6倍などに向きます
  • Eagle(輪郭スムージング強)Eagle
    Scale2xより角を強めに丸めます。2・4・8倍などに向きます

概要

ドット絵をにじませずに整数倍で拡大・縮小するノードです。ゲームエンジン向けの 2×/3×書き出しやプレビュー用の拡大が主用途で、Scale2x / Eagle によるレトロゲーム風の 輪郭スムージング拡大も選べます。

使い方のポイント

  • 通常の拡大は既定の Nearest(そのまま拡大)。ドットの形が完全に保たれる
  • Scale2x / Eagle は「低解像度ドットを滑らかに見せる」レトロエミュレータ由来の方式。 素材の雰囲気を変える演出として使う(かける倍率は2・3・4倍あたりが素直)
  • 書き出しサイズだけ大きくしたい場合は、このノードをグラフ末尾(書き出し直前)に置く。 途中に置くと後段の処理コストが倍率の2乗で増える
  • 非整数倍・自由なサイズ変更をしたい場合はこのノードではなく content_resize / canvas_resize を使う(ドット絵で非整数倍はにじみの元なので基本は避ける)

よくある失敗

  • 縮小したらドットが欠けた: Reduce はNピクセルおきの単純サンプリング。 1pxの線や点は消えることがある。細部を保った縮小は原理的に無理なので、 縮小後サイズで作り直すか要素を整理する
  • スムージングが効かない: ベタ塗り部分はどの方式でも変化しない(効くのは輪郭の 階段部分だけ)。また5倍・7倍など2・3で割り切れない倍率分はNearestで補われる
  • ぼやけた拡大になった: このノードはぼやけない(整数倍+最近傍)。ぼやけて見えるなら 表示側(ブラウザやエンジンのフィルタ設定)を確認する

拡大方式

方式 説明
Nearest(そのまま拡大) 各ピクセルをそのまま複製。ドットの形を完全に保つ(従来の挙動)
Scale2x(輪郭スムージング) AdvMAME2x/3x。階段状の輪郭の角を埋めて滑らかにする。2・3・4・6倍などに対応
Eagle(輪郭スムージング強) Scale2xより角を強めに丸める。2・4・8倍などに対応
  • スムージング方式は倍率を2倍・3倍の段に分解して適用します(例: 6倍 = Scale3x + Scale2x)
  • 2・3で割り切れない倍率分(5倍・7倍など)は、そのまま拡大(Nearest)で補います
  • ベタ塗り部分はどの方式でも変化しません。効くのは輪郭の階段部分だけです

技術詳細

  • 補間方式: ニアレストネイバー(最近傍補間)、または Scale2x / Eagle
  • 拡大 (Enlarge): 出力サイズ = input_width × scale × input_height × scale
  • 縮小 (Reduce): 出力サイズ = input_width ÷ scale × input_height ÷ scale(Nピクセルおきにサンプリング)
  • scale=1: 入力画像をそのままパススルー(コピーなし、高速)
  • 縮小時に1未満になる場合は最小1pxに制限

使用例

ゲームエンジン用2×拡大

32×32のドット絵を mode: Enlarge, scale: 2 → 64×64のピクセルパーフェクトな画像。

サムネイル用縮小

64×64の画像を mode: Reduce, scale: 2 → 32×32にダウンサンプリング。

プレビュー用3×拡大

16×16のアイコンを mode: Enlarge, scale: 3 → 48×48の鮮明なプレビュー画像。

Transform ノードとの違い

項目 PixelScale Transform
目的 スケーリング専用(拡大・縮小) 移動・スケール・回転・反転の汎用変換
パラメータ mode + scale のみ offset_x/y, scale, rotation, flip_h/v
適用場面 エクスポート・プレビュー・サムネイル グラフ内での画像変換

関連ノード

  • content_resize / canvas_resize — 整数倍以外のサイズ変更・キャンバス拡張
  • transform — 移動・回転・反転を含む汎用変換
  • pixel_rotate — ドット絵向けの回転
  • surface_export — 書き出し時の整数倍拡大はこちらにも内蔵されている
ノード一覧に戻る
ピクセルスケール — PixPipeline ノード解説