Pixel Canvas(ピクセルキャンバス)

エディタで直接ドット絵を描画し、ノードグラフに出力します。

中級
Since P00

入力ポート

Reference(参照)

参照レイヤー(オプション)

Image

出力ポート

Image(画像)

描画したドット絵

Image

パラメータ

名前デフォルト説明
WidthInt32キャンバス幅
Height高さInt32キャンバス高さ
ピクセルデータピクセルデータCustomData(空)editor 管理の保存データ(旧 base64 PNG / v2 JSON envelope、非表示)

キャンバスサイズ連動

ジェネレータノードとして、新規作成時に width / height がプロジェクトのキャンバスサイズ(_canvasWidth / _canvasHeight)に自動バインドされます。

状態width/height の値
デフォルト(新規作成時)プロジェクトキャンバスサイズにバインド(自動追従)
ユーザーが手入力 or バインド解除ローカル値(キャンバスサイズと独立)
インスペクターの 🔗 ボタンからバインドの解除・再登録ができます。

描画エディタ

インスペクターの「✏️ ドット絵を編集」ボタンを押すと、EditorShell ベースのポップアップエディタが開きます。

ツール

ツール動作
✏️ ペンブラシサイズ付きで描画(ドラッグで連続描画)
🧹 消しゴムブラシサイズ付きで透明化
🪣 塗りつぶし4方向フラッドフィル
💉 スポイトクリック位置の色を取得
⬚ 選択矩形 / 投げ縄 / ポリゴンで選択範囲を作る。範囲内ドラッグで移動、ツールバーから左右反転 / 上下反転 / 2倍拡大 / 1/2縮小が可能

操作

  • マウスホイール: ズーム(1〜32倍)
  • Alt+ドラッグ: パン
  • 選択ツール: 矩形 / 投げ縄 / ポリゴンを で切替
  • ペン / 消しゴム: ツールバーでブラシサイズを 1〜16 に変更可能
  • 選択範囲内ドラッグ: 選択中ピクセルを移動
  • 選択中の変形ボタン: 左右反転 / 上下反転 / 2倍拡大 / 1/2縮小 / 選択解除
  • 選択の可視レイヤー操作: ON の時、選択範囲の移動 / 反転 / 拡大縮小を可視レイヤー全体へ一括適用
  • 塗りつぶし境界モード: 現在レイヤーだけを境界に使うか、可視レイヤーの合成結果を境界に使うかを切替
  • ESC: エディタを閉じる

レイヤー

  • 右側パネルで layer / folder tree を管理
  • + で新規レイヤー追加
  • フォルダ追加ボタンでフォルダを作成
  • レイヤーやフォルダを ダブルクリック で名前変更
  • クリックで active layer 切替
  • Ctrl / Cmd を押しながらクリックで複数選択
  • 複数選択した状態でドラッグしてまとめて並び替え
  • フォルダの上へドロップして、フォルダ内へ移動
  • フォルダ単位の展開 / 折りたたみ
  • フォルダ単位の表示 / 非表示切替
  • 削除(最低 1 レイヤーは保持)
  • 描画・塗りつぶし・消しゴムは active layer のみに適用
  • 選択範囲がある時は、描画・塗りつぶし・消しゴムはその範囲内だけに適用
  • 選択ツールでは 可視レイヤー操作 を ON にすると、選択範囲の移動 / 変形が visible layer 全体を対象にする
  • 塗りつぶしツールでは 境界モード可視 にすると、visible layer の合成結果を境界判定に使い、実際の描き込みは active layer だけへ行う

技術詳細

  • 現在の正本保存形式は v2 JSON envelope

- document.width / height

- items[]

- editorState

  • items[]layer / folder の tree 構造
  • legacy の base64 PNG も読込互換あり
  • editorState.activeLayerIdmode を保持
  • undo/redo は envelope 単位で layer-aware に管理
  • ノード出力は visible layer を canonical order で flatten した Image
  • プロジェクト保存/読込で自動保持
  • ズーム4倍以上でピクセルグリッド表示
  • debounce(150ms)でパフォーマンス最適化

💡 ヒント

  • 現在の正本保存形式は `v2 JSON envelope`
  • `items[]` は `layer` / `folder` の tree 構造
  • legacy の base64 PNG も読込互換あり
  • `editorState.activeLayerId` と `mode` を保持
  • undo/redo は envelope 単位で layer-aware に管理
  • ノード出力は visible layer を canonical order で flatten した `Image`
  • プロジェクト保存/読込で自動保持
  • ズーム4倍以上でピクセルグリッド表示
  • debounce(150ms)でパフォーマンス最適化
Pixel Canvas (ピクセルキャンバス) — PixPipeline ノード解説